From e5d0b2d9abdbdb186546d67fcdf77970d05c7153 Mon Sep 17 00:00:00 2001 From: super <2903208875@qq.com> Date: Thu, 7 May 2026 16:21:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=89=93=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/.env | 4 +- app/blueprints/main.py | 36 +- app/config.py | 17 +- .../AppearancePatentController.java | 30 ++ ...ppearancePatentParsedGroupManifestDto.java | 23 ++ .../AppearancePatentParsedGroupPageDto.java | 19 ++ .../model/vo/AppearancePatentParsedRowVo.java | 9 +- .../service/AppearancePatentTaskService.java | 130 ++++---- .../brand/service/BrandTaskService.java | 197 ++++++----- .../service/DeleteBrandRunService.java | 278 +++++++++------- .../service/DeleteBrandStaleTaskService.java | 95 +++++- .../service/PatrolDeleteTaskService.java | 11 + .../service/PriceTrackTaskService.java | 307 +++++++++--------- .../service/ProductRiskTaskService.java | 301 ++++++++--------- .../service/QueryAsinTaskCacheService.java | 36 ++ .../service/QueryAsinTaskService.java | 11 + .../service/ShopMatchTaskService.java | 141 ++++---- .../service/SimilarAsinTaskService.java | 48 ++- .../TransientPayloadStorageService.java | 51 ++- .../components/BrandAppearancePatentTab.vue | 91 ++---- .../brand/components/BrandSimilarAsinTab.vue | 13 +- frontend-vue/src/shared/api/java-modules.ts | 48 +++ new_web_source/appearance-patent.html | 9 +- .../assets/appearance-patent-D7zGgGOj.css | 1 + new_web_source/assets/appearance-patent.js | 6 + new_web_source/assets/brand-CEi7uRFN.js | 1 + .../assets/categorized-timers-JPA-olTr.js | 1 + new_web_source/assets/convert-BKSNvX8i.css | 1 + new_web_source/assets/convert.js | 1 + new_web_source/assets/dedupe-DNlVfFj-.css | 1 + new_web_source/assets/dedupe.js | 1 + .../assets/delete-brand-BJod9K65.css | 1 + new_web_source/assets/delete-brand.js | 1 + new_web_source/assets/el-input-xaztPnzw.css | 1 + .../assets/el-table-column-BoPoyBFZ.css | 1 + .../assets/listingFilters-BpGOU_pJ.js | 1 + .../assets/listingFilters-CK58rX4v.css | 1 + .../assets/patrol-delete-CBBdonF4.css | 1 + new_web_source/assets/patrol-delete.js | 1 + .../assets/price-track-Hozgt_em.css | 1 + new_web_source/assets/price-track.js | 1 + .../assets/product-risk-DV5AzjVc.css | 1 + new_web_source/assets/product-risk.js | 1 + new_web_source/assets/pywebview-CcblbV5J.js | 55 ++++ new_web_source/assets/pywebview-DNJAt1gR.css | 1 + new_web_source/assets/query-asin-B4RsOiza.css | 1 + new_web_source/assets/query-asin.js | 1 + new_web_source/assets/shop-match-B2HWAgBY.css | 1 + new_web_source/assets/shop-match.js | 1 + .../assets/similar-asin-D__NXzTu.css | 1 + new_web_source/assets/similar-asin.js | 1 + new_web_source/assets/split-BoBVrLdC.css | 1 + new_web_source/assets/split.js | 1 + new_web_source/assets/zh-cn-DCaAv7Wt.js | 1 + new_web_source/convert.html | 30 +- new_web_source/dedupe.html | 30 +- new_web_source/delete-brand.html | 30 +- new_web_source/patrol-delete.html | 32 +- new_web_source/price-track.html | 10 +- new_web_source/product-risk.html | 8 +- new_web_source/query-asin.html | 34 +- new_web_source/shop-match.html | 32 +- new_web_source/similar-asin.html | 12 +- new_web_source/split.html | 30 +- 64 files changed, 1368 insertions(+), 875 deletions(-) create mode 100644 backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/model/dto/AppearancePatentParsedGroupManifestDto.java create mode 100644 backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/model/dto/AppearancePatentParsedGroupPageDto.java create mode 100644 new_web_source/assets/appearance-patent-D7zGgGOj.css create mode 100644 new_web_source/assets/appearance-patent.js create mode 100644 new_web_source/assets/brand-CEi7uRFN.js create mode 100644 new_web_source/assets/categorized-timers-JPA-olTr.js create mode 100644 new_web_source/assets/convert-BKSNvX8i.css create mode 100644 new_web_source/assets/convert.js create mode 100644 new_web_source/assets/dedupe-DNlVfFj-.css create mode 100644 new_web_source/assets/dedupe.js create mode 100644 new_web_source/assets/delete-brand-BJod9K65.css create mode 100644 new_web_source/assets/delete-brand.js create mode 100644 new_web_source/assets/el-input-xaztPnzw.css create mode 100644 new_web_source/assets/el-table-column-BoPoyBFZ.css create mode 100644 new_web_source/assets/listingFilters-BpGOU_pJ.js create mode 100644 new_web_source/assets/listingFilters-CK58rX4v.css create mode 100644 new_web_source/assets/patrol-delete-CBBdonF4.css create mode 100644 new_web_source/assets/patrol-delete.js create mode 100644 new_web_source/assets/price-track-Hozgt_em.css create mode 100644 new_web_source/assets/price-track.js create mode 100644 new_web_source/assets/product-risk-DV5AzjVc.css create mode 100644 new_web_source/assets/product-risk.js create mode 100644 new_web_source/assets/pywebview-CcblbV5J.js create mode 100644 new_web_source/assets/pywebview-DNJAt1gR.css create mode 100644 new_web_source/assets/query-asin-B4RsOiza.css create mode 100644 new_web_source/assets/query-asin.js create mode 100644 new_web_source/assets/shop-match-B2HWAgBY.css create mode 100644 new_web_source/assets/shop-match.js create mode 100644 new_web_source/assets/similar-asin-D__NXzTu.css create mode 100644 new_web_source/assets/similar-asin.js create mode 100644 new_web_source/assets/split-BoBVrLdC.css create mode 100644 new_web_source/assets/split.js create mode 100644 new_web_source/assets/zh-cn-DCaAv7Wt.js diff --git a/app/.env b/app/.env index 20a1f7e..ef3e12b 100644 --- a/app/.env +++ b/app/.env @@ -12,8 +12,8 @@ client_name=ShuFuAI # java_api_base=http://47.111.163.154:18080 -java_api_base=http://127.0.0.1:18080 +# java_api_base=http://127.0.0.1:18080 # java_api_base=http://8.136.19.173:18080 -# java_api_base=http://121.196.149.225:18080 +java_api_base=http://121.196.149.225:18080 diff --git a/app/blueprints/main.py b/app/blueprints/main.py index 00fde1f..ad4498b 100644 --- a/app/blueprints/main.py +++ b/app/blueprints/main.py @@ -218,15 +218,17 @@ def proxy(path): f"{JAVA_API_BASE}/api/product-risk-resolve/tasks/progress/batch", ] proxy_timeout = 180 if target_url.endswith("/api/delete-brand/run") else 30 - if target_url not in ignore_url: - try: - print("=============================") - print("target_url:",target_url) - print("params:",params) - print("data:",request.get_data()) - print("=============================") - except Exception as e: - print("打印失败",e) + if target_url not in ignore_url: + try: + print("=============================") + print("target_url:", target_url) + print("params:", params) + print("data:", request.get_data()) + print("method:", request.method) + print("timeout:", proxy_timeout) + print("=============================") + except Exception as e: + print("打印失败", e) try: # 使用流式请求 @@ -257,12 +259,12 @@ def proxy(path): return response - except requests.exceptions.Timeout: - print("后端服务超时") - return Response("后端服务超时", status=504) - except requests.exceptions.ConnectionError: - print("无法连接到后端服务") - return Response("无法连接到后端服务", status=502) - except Exception as e: - print(f"代理请求失败: {e}") + except requests.exceptions.Timeout: + print(f"后端服务超时:target_url={target_url}, timeout={proxy_timeout}") + return Response("后端服务超时", status=504) + except requests.exceptions.ConnectionError as e: + print(f"无法连接到后端服务:target_url={target_url}, error={e}") + return Response("无法连接到后端服务", status=502) + except Exception as e: + print(f"代理请求失败:target_url={target_url}, error={e}") return Response(f"代理错误: {str(e)}", status=500) diff --git a/app/config.py b/app/config.py index 0fbff9e..7a4c9b3 100644 --- a/app/config.py +++ b/app/config.py @@ -1,14 +1,17 @@ -base_url = "https://api.coze.cn/v1" -coze_token = "sat_12nW40INoJxArrDXbY4lSCoudbqkOYTcphC99BP2efWyzxmsk4q81WDX3ezWgqZ5" -workflow_id = "7608812635877900322" -STITCH_WORKFLOW_ID = "7608813873483300907" - +base_url = "https://api.coze.cn/v1" +coze_token = "sat_12nW40INoJxArrDXbY4lSCoudbqkOYTcphC99BP2efWyzxmsk4q81WDX3ezWgqZ5" +workflow_id = "7608812635877900322" +STITCH_WORKFLOW_ID = "7608813873483300907" + import os from dotenv import load_dotenv from queue import Queue -load_dotenv() -_base_url = os.getenv("base_url","http://159.75.121.33:15124") + base_dir = os.path.dirname(os.path.abspath(__file__)) +dotenv_path = os.path.join(base_dir, ".env") +load_dotenv(dotenv_path=dotenv_path, override=True) + +_base_url = os.getenv("base_url","http://159.75.121.33:15124") # MySQL 配置 mysql_host = os.getenv("mysql_host") diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/controller/AppearancePatentController.java b/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/controller/AppearancePatentController.java index 34632a3..9986777 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/controller/AppearancePatentController.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/controller/AppearancePatentController.java @@ -3,6 +3,8 @@ package com.nanri.aiimage.modules.appearancepatent.controller; import com.nanri.aiimage.common.api.ApiResponse; import com.nanri.aiimage.common.util.DownloadHeaderUtil; import com.nanri.aiimage.modules.appearancepatent.model.dto.AppearancePatentParseRequest; +import com.nanri.aiimage.modules.appearancepatent.model.dto.AppearancePatentParsedGroupPageDto; +import com.nanri.aiimage.modules.appearancepatent.model.dto.AppearancePatentParsedPayloadDto; import com.nanri.aiimage.modules.appearancepatent.model.dto.AppearancePatentSubmitResultRequest; import com.nanri.aiimage.modules.appearancepatent.model.dto.AppearancePatentTaskBatchRequest; import com.nanri.aiimage.modules.appearancepatent.model.vo.AppearancePatentDashboardVo; @@ -44,6 +46,34 @@ public class AppearancePatentController { return ApiResponse.success(service.parseAndCreateTask(request)); } + @GetMapping("/tasks/{taskId}/parsed-payload") + @Operation(summary = "获取外观专利完整解析载荷", description = "供 Python 队列消费端使用。parse 接口仅返回轻量结果,完整行数据通过本接口按 taskId 拉取。") + public ApiResponse parsedPayload( + @Parameter(description = "外观专利任务 ID", required = true, example = "7004") + @PathVariable Long taskId, + @Parameter(description = "当前用户 ID", required = true, example = "1") + @RequestParam("user_id") Long userId) { + return ApiResponse.success(service.parsedPayload(taskId, userId)); + } + + @GetMapping("/tasks/{taskId}/queue-payload") + @Operation(summary = "获取外观专利 Python 队列载荷", description = "只返回 Python 当前需要的 groups,避免前端搬运完整解析大数据。") + public ApiResponse queuePayload( + @PathVariable Long taskId, + @RequestParam("user_id") Long userId) { + return ApiResponse.success(service.queuePayload(taskId, userId)); + } + + @GetMapping("/tasks/{taskId}/parsed-groups") + @Operation(summary = "分页获取外观专利解析分组", description = "供后续优化使用,按页返回解析分组。") + public ApiResponse parsedGroups( + @PathVariable Long taskId, + @RequestParam("user_id") Long userId, + @RequestParam(value = "page", required = false, defaultValue = "1") Integer page, + @RequestParam(value = "page_size", required = false, defaultValue = "50") Integer pageSize) { + return ApiResponse.success(service.parsedGroupPage(taskId, userId, page, pageSize)); + } + @GetMapping("/dashboard") @Operation(summary = "查询外观专利检测总览", description = "查询当前用户的运行中、成功、失败和已结束任务数量。页面进入时请求一次即可,不需要持续轮询。") public ApiResponse dashboard( diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/model/dto/AppearancePatentParsedGroupManifestDto.java b/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/model/dto/AppearancePatentParsedGroupManifestDto.java new file mode 100644 index 0000000..7c6c2fd --- /dev/null +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/model/dto/AppearancePatentParsedGroupManifestDto.java @@ -0,0 +1,23 @@ +package com.nanri.aiimage.modules.appearancepatent.model.dto; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class AppearancePatentParsedGroupManifestDto { + private String aiPrompt; + private String apiKey; + private Integer pageSize; + private Integer totalGroups; + private Integer totalRows; + private List pages = new ArrayList<>(); + + @Data + public static class PageRef { + private Integer page; + private Integer groupCount; + private String ref; + } +} diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/model/dto/AppearancePatentParsedGroupPageDto.java b/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/model/dto/AppearancePatentParsedGroupPageDto.java new file mode 100644 index 0000000..35d9004 --- /dev/null +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/model/dto/AppearancePatentParsedGroupPageDto.java @@ -0,0 +1,19 @@ +package com.nanri.aiimage.modules.appearancepatent.model.dto; + +import com.nanri.aiimage.modules.appearancepatent.model.vo.AppearancePatentParsedGroupVo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class AppearancePatentParsedGroupPageDto { + private String aiPrompt; + private String apiKey; + private Integer page; + private Integer pageSize; + private Integer totalGroups; + private Integer totalRows; + private Boolean hasNext; + private List groups = new ArrayList<>(); +} diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/model/vo/AppearancePatentParsedRowVo.java b/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/model/vo/AppearancePatentParsedRowVo.java index 52418d3..87636f4 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/model/vo/AppearancePatentParsedRowVo.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/model/vo/AppearancePatentParsedRowVo.java @@ -3,9 +3,6 @@ package com.nanri.aiimage.modules.appearancepatent.model.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import java.util.LinkedHashMap; -import java.util.Map; - @Data @Schema(description = "外观专利检测解析出的单行数据") public class AppearancePatentParsedRowVo { @@ -36,12 +33,12 @@ public class AppearancePatentParsedRowVo { @Schema(description = "国家或站点。", example = "英国") private String country; + @Schema(description = "价格。", example = "12.99") + private String price; + @Schema(description = "商品图片 URL 或商品 URL,供 Coze 检测使用。", example = "https://webstatic.aiproxy.vip/output/demo.jpg") private String url; @Schema(description = "商品标题。", example = "Women Floral Dress Summer Casual") private String title; - - @Schema(description = "该 Excel 行的原始列值映射。最终生成 xlsx 时可以从这里读取价格等字段。", example = "{\"id\":\"2_1\",\"asin\":\"B0CJ8SNXXV\",\"国家\":\"英国\",\"价格\":\"12.99\"}") - private Map values = new LinkedHashMap<>(); } diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/service/AppearancePatentTaskService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/service/AppearancePatentTaskService.java index 5bd3790..58259bd 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/service/AppearancePatentTaskService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/appearancepatent/service/AppearancePatentTaskService.java @@ -13,6 +13,7 @@ import com.nanri.aiimage.config.InstanceMetadata; import com.nanri.aiimage.config.StorageProperties; import com.nanri.aiimage.modules.appearancepatent.client.AppearancePatentCozeClient; import com.nanri.aiimage.modules.appearancepatent.model.dto.AppearancePatentParseRequest; +import com.nanri.aiimage.modules.appearancepatent.model.dto.AppearancePatentParsedGroupPageDto; import com.nanri.aiimage.modules.appearancepatent.model.dto.AppearancePatentParsedPayloadDto; import com.nanri.aiimage.modules.appearancepatent.model.dto.AppearancePatentResultGroupDto; import com.nanri.aiimage.modules.appearancepatent.model.dto.AppearancePatentResultRowDto; @@ -175,7 +176,7 @@ public class AppearancePatentTaskService { throw new BusinessException("未解析到有效 ASIN 数据"); } long parsedAt = System.nanoTime(); - List groups = buildParsedGroups(allRows); + int groupCount = countParsedGroups(allRows); long groupedAt = System.nanoTime(); FileTaskEntity task = new FileTaskEntity(); @@ -201,7 +202,7 @@ public class AppearancePatentTaskService { String aggregateScopeKey = buildAggregateScopeKey(sourceFiles); String sourceScopeHash = DigestUtil.sha256Hex(aggregateScopeKey); - String parsedPayload = buildParsedPayloadJson(request.getAiPrompt(), request.getApiKey(), sourceFiles, mergedHeaders, groups, allRows); + String parsedPayload = buildParsedPayloadJson(request.getAiPrompt(), request.getApiKey(), sourceFiles, mergedHeaders, allRows); long payloadBuiltAt = System.nanoTime(); String parsedPayloadPointer = storeParsedPayload(task.getId(), sourceScopeHash, parsedPayload); long payloadStoredAt = System.nanoTime(); @@ -242,16 +243,16 @@ public class AppearancePatentTaskService { vo.setTotalRows(totalRows); vo.setAcceptedRows(allRows.size()); vo.setDroppedRows(droppedRows); - vo.setGroupCount(groups.size()); + vo.setGroupCount(groupCount); vo.setAiPrompt(normalize(request.getAiPrompt())); - vo.setItems(allRows); - vo.setGroups(groups); + vo.setItems(List.of()); + vo.setGroups(List.of()); long finishedAt = System.nanoTime(); log.info("[appearance-patent] parse timing taskId={} files={} rows={} groups={} totalMs={} parseMs={} groupMs={} taskInsertMs={} payloadJsonMs={} payloadStoreMs={} persistMs={} responseMs={}", task.getId(), sourceFiles.size(), allRows.size(), - groups.size(), + groupCount, elapsedMs(startedAt, finishedAt), elapsedMs(parseStartedAt, parsedAt), elapsedMs(parsedAt, groupedAt), @@ -322,15 +323,7 @@ public class AppearancePatentTaskService { .map(FileResultEntity::getId) .filter(Objects::nonNull) .toList()); - List sortedRows = new ArrayList<>(); - for (FileResultEntity row : rows) { - FileTaskEntity task = taskMap.get(row.getTaskId()); - String taskStatus = task == null ? null : task.getStatus(); - if (STATUS_PENDING.equals(taskStatus)) { - continue; - } - sortedRows.add(row); - } + List sortedRows = new ArrayList<>(rows); sortedRows.sort(Comparator .comparingInt((FileResultEntity row) -> historyPriority(row, taskMap.get(row.getTaskId()), jobMap.get(row.getId()))) .thenComparing((FileResultEntity row) -> historyActivityTime(row, taskMap.get(row.getTaskId()), jobMap.get(row.getId())), @@ -968,6 +961,10 @@ public class AppearancePatentTaskService { return groups; } + private int countParsedGroups(List rows) { + return groupRowsByBaseId(rows).size(); + } + private Map> groupRowsByBaseId(List rows) { Map> result = new LinkedHashMap<>(); if (rows == null) { @@ -1997,7 +1994,7 @@ public class AppearancePatentTaskService { row.createCell(col++).setCellValue(firstNonBlank(parsedRow.getDisplayId(), parsedRow.getSourceId())); row.createCell(col++).setCellValue(firstNonBlank(parsedRow.getAsin(), "")); row.createCell(col++).setCellValue(firstNonBlank(parsedRow.getCountry(), "")); - row.createCell(col++).setCellValue(readValueByHeader(parsedRow, "价格", "price")); + row.createCell(col++).setCellValue(firstNonBlank(parsedRow.getPrice(), "")); row.createCell(col++).setCellValue(resultRow == null ? firstNonBlank(parsedRow.getTitle(), "") : firstNonBlank(resultRow.getTitle(), parsedRow.getTitle())); row.createCell(col++).setCellValue(resultRow == null ? firstNonBlank(parsedRow.getUrl(), "") : firstNonBlank(resultRow.getUrl(), parsedRow.getUrl())); row.createCell(col++).setCellValue(resultRow == null ? missingReason : userFacingCozeCellValue(resultRow, resultRow.getTitleRisk())); @@ -2081,10 +2078,10 @@ public class AppearancePatentTaskService { throw new BusinessException("Excel 表头为空"); } Map headerMap = buildHeaderMap(header, formatter); - List headers = readHeaders(header, formatter); int idCol = findRequiredHeader(headerMap, "id"); int asinCol = findRequiredHeader(headerMap, "asin"); int countryCol = findRequiredHeader(headerMap, "国家", "country"); + int priceCol = findOptionalHeaderExact(headerMap, "价格", "price"); int urlCol = findOptionalHeaderExact(headerMap, "url", "rul", "link", "image", "img", "pic", "picture", "链接", "商品链接", "图片", "商品图片", "主图", "商品主图", "图片链接", "主图链接"); @@ -2127,16 +2124,16 @@ public class AppearancePatentTaskService { vo.setRowToken(buildRowToken(source.getFileKey(), vo.getRowIndex())); vo.setAsin(asin); vo.setCountry(country); + vo.setPrice(priceCol >= 0 ? cell(row, priceCol, formatter) : ""); vo.setUrl(urlCol >= 0 ? cell(row, urlCol, formatter) : ""); vo.setTitle(titleCol >= 0 ? cell(row, titleCol, formatter) : ""); - vo.setValues(readRowValues(row, headers, formatter)); allRows.add(vo); } hydratePromptFields(allRows); if (allRows.isEmpty()) { throw new BusinessException("no valid appearance patent rows"); } - return new ParsedWorkbook(total, dropped, headers, allRows); + return new ParsedWorkbook(total, dropped, List.of(), allRows); } catch (BusinessException ex) { throw ex; } catch (Exception ex) { @@ -2202,23 +2199,6 @@ public class AppearancePatentTaskService { return map; } - private List readHeaders(Row header, DataFormatter formatter) { - List headers = new ArrayList<>(); - for (int i = 0; i < header.getLastCellNum(); i++) { - String val = normalize(formatter.formatCellValue(header.getCell(i))); - headers.add(val.isBlank() ? "列" + (i + 1) : val); - } - return headers; - } - - private Map readRowValues(Row row, List headers, DataFormatter formatter) { - Map values = new LinkedHashMap<>(); - for (int i = 0; i < headers.size(); i++) { - values.put(headers.get(i), cell(row, i, formatter)); - } - return values; - } - private int findRequiredHeader(Map map, String... names) { int idx = findOptionalHeader(map, names); if (idx < 0) { @@ -2368,7 +2348,7 @@ public class AppearancePatentTaskService { private int historyPriority(FileResultEntity row, FileTaskEntity task, TaskFileJobEntity job) { String taskStatus = task == null ? null : task.getStatus(); - if (STATUS_RUNNING.equals(taskStatus) || isHistoryFileBuilding(row, taskStatus, job)) { + if (STATUS_PENDING.equals(taskStatus) || STATUS_RUNNING.equals(taskStatus) || isHistoryFileBuilding(row, taskStatus, job)) { return 0; } return 1; @@ -2476,15 +2456,15 @@ public class AppearancePatentTaskService { return val == null ? "" : val.replace(String.valueOf((char) 0xFEFF), "").replace((char) 0x3000, ' ').trim().replaceAll("\\s+", " "); } - private String buildParsedPayloadJson(String aiPrompt, String apiKey, List sourceFiles, List headers, List groups, List allRows) { + private String buildParsedPayloadJson(String aiPrompt, String apiKey, List sourceFiles, List headers, List allRows) { AppearancePatentParsedPayloadDto payload = new AppearancePatentParsedPayloadDto(); payload.setAiPrompt(normalize(aiPrompt)); payload.setApiKey(normalize(apiKey)); payload.setSourceFiles(sourceFiles == null ? List.of() : sourceFiles); payload.setHeaders(headers == null ? List.of() : headers); payload.setItems(List.of()); - payload.setGroups(groups == null ? List.of() : groups); - payload.setAllItems(List.of()); + payload.setGroups(List.of()); + payload.setAllItems(allRows == null ? List.of() : allRows); return writeJson(payload, "保存解析结果失败"); } @@ -2552,6 +2532,57 @@ public class AppearancePatentTaskService { return hydrateParsedPayloadRows(new AppearancePatentParsedPayloadDto()); } + public AppearancePatentParsedPayloadDto parsedPayload(Long taskId, Long userId) { + FileTaskEntity task = fileTaskMapper.selectById(taskId); + if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || userId != null && !Objects.equals(userId, task.getUserId())) { + throw new BusinessException("任务不存在"); + } + return readParsedPayload(task); + } + + public AppearancePatentParsedPayloadDto queuePayload(Long taskId, Long userId) { + FileTaskEntity task = fileTaskMapper.selectById(taskId); + if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || userId != null && !Objects.equals(userId, task.getUserId())) { + throw new BusinessException("任务不存在"); + } + AppearancePatentParsedPayloadDto payload = readParsedPayload(task); + AppearancePatentParsedPayloadDto queuePayload = new AppearancePatentParsedPayloadDto(); + queuePayload.setAiPrompt(payload.getAiPrompt()); + queuePayload.setApiKey(payload.getApiKey()); + queuePayload.setGroups(payload.getGroups() == null ? List.of() : payload.getGroups()); + queuePayload.setItems(List.of()); + queuePayload.setAllItems(List.of()); + queuePayload.setHeaders(List.of()); + queuePayload.setSourceFiles(List.of()); + return queuePayload; + } + + public AppearancePatentParsedGroupPageDto parsedGroupPage(Long taskId, Long userId, Integer page, Integer pageSize) { + FileTaskEntity task = fileTaskMapper.selectById(taskId); + if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || userId != null && !Objects.equals(userId, task.getUserId())) { + throw new BusinessException("任务不存在"); + } + int safePage = Math.max(1, page == null ? 1 : page); + int safePageSize = Math.max(1, Math.min(pageSize == null ? 50 : pageSize, 200)); + AppearancePatentParsedPayloadDto payload = readParsedPayload(task); + List groups = payload.getGroups() == null ? List.of() : payload.getGroups(); + int totalGroups = groups.size(); + int totalRows = payload.getAllItems() == null ? 0 : payload.getAllItems().size(); + int fromIndex = Math.min((safePage - 1) * safePageSize, totalGroups); + int toIndex = Math.min(fromIndex + safePageSize, totalGroups); + + AppearancePatentParsedGroupPageDto vo = new AppearancePatentParsedGroupPageDto(); + vo.setAiPrompt(payload.getAiPrompt()); + vo.setApiKey(payload.getApiKey()); + vo.setPage(safePage); + vo.setPageSize(safePageSize); + vo.setTotalGroups(totalGroups); + vo.setTotalRows(totalRows); + vo.setHasNext(toIndex < totalGroups); + vo.setGroups(fromIndex >= toIndex ? List.of() : groups.subList(fromIndex, toIndex)); + return vo; + } + private AppearancePatentParsedPayloadDto hydrateParsedPayloadRows(AppearancePatentParsedPayloadDto payload) { if (payload == null) { return new AppearancePatentParsedPayloadDto(); @@ -2575,6 +2606,9 @@ public class AppearancePatentTaskService { if (payload.getItems() == null || payload.getItems().isEmpty()) { payload.setItems(rows); } + if ((payload.getGroups() == null || payload.getGroups().isEmpty()) && !rows.isEmpty()) { + payload.setGroups(buildParsedGroups(rows)); + } return payload; } @@ -2656,22 +2690,6 @@ public class AppearancePatentTaskService { return normalize(id) + "::" + normalize(asin).toUpperCase(Locale.ROOT) + "::" + normalize(country); } - private String readValueByHeader(AppearancePatentParsedRowVo row, String... candidates) { - if (row == null || row.getValues() == null || row.getValues().isEmpty() || candidates == null) { - return ""; - } - for (Map.Entry entry : row.getValues().entrySet()) { - String header = normalize(entry.getKey()).toLowerCase(Locale.ROOT); - for (String candidate : candidates) { - String expected = normalize(candidate).toLowerCase(Locale.ROOT); - if (!expected.isBlank() && header.contains(expected)) { - return entry.getValue() == null ? "" : entry.getValue(); - } - } - } - return ""; - } - private String userFacingCozeCellValue(AppearancePatentResultRowDto row, String value) { String normalizedValue = normalize(value); if (!normalizedValue.isBlank() && !isTechnicalCozeFailure(normalizedValue)) { diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskService.java index 7ca724e..accb6cd 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/brand/service/BrandTaskService.java @@ -221,107 +221,113 @@ public class BrandTaskService { } public void submitCrawlResult(Long taskId, BrandCrawlResultRequest request) { - long startedAt = System.currentTimeMillis(); - BrandCrawlTaskEntity task = requireActiveTask(taskId); - List sourceFiles = parseSourceFiles(task.getFilePaths()); - if (sourceFiles.isEmpty()) { - throw new BusinessException("任务没有源文件"); + if (taskId == null || taskId <= 0) { + throw new BusinessException("taskId invalid"); } - - Map sourceByUrl = new LinkedHashMap<>(); - Map sourceIndexByUrl = new LinkedHashMap<>(); - for (int i = 0; i < sourceFiles.size(); i++) { - BrandSourceFileDto file = sourceFiles.get(i); - sourceByUrl.put(file.getFileUrl(), file); - sourceIndexByUrl.put(file.getFileUrl(), i + 1); - } - List cachedFiles = brandTaskStorageService.getParsedPayload(taskId); - if (cachedFiles == null || cachedFiles.isEmpty()) { - throw new BusinessException("任务原始数据已过期,请重新创建任务"); - } - Map cachedByUrl = new LinkedHashMap<>(); - for (BrandParsedFileCacheDto cachedFile : cachedFiles) { - cachedByUrl.put(cachedFile.getFileUrl(), cachedFile); - } - - List resultFiles = request.getFiles() == null ? List.of() : request.getFiles(); - if (resultFiles.isEmpty()) { - throw new BusinessException("files 不能为空"); - } - ensureNoDuplicateResultFiles(resultFiles); - - int totalCount = sourceFiles.size(); - markTaskRunning(taskId, totalCount); - afterTaskStarted(taskId, totalCount); - - log.info("[brand-submit] taskId={} chunks={} files={} thread={}", - taskId, - resultFiles.size(), - totalCount, - Thread.currentThread().getName()); - - int finishedCount = brandTaskStorageService.countCompletedFiles(taskId); - for (BrandCrawlResultFileDto resultFile : resultFiles) { - String fileUrl = blankToNull(resultFile.getFileUrl()); - if (fileUrl == null) { - throw new BusinessException("fileUrl 不能为空"); + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId, TaskDistributedLockService.DEFAULT_WAIT_MILLIS)) { + long startedAt = System.currentTimeMillis(); + BrandCrawlTaskEntity task = requireActiveTask(taskId); + List sourceFiles = parseSourceFiles(task.getFilePaths()); + if (sourceFiles.isEmpty()) { + throw new BusinessException("task source files missing"); } - BrandSourceFileDto sourceFile = sourceByUrl.get(fileUrl); - if (sourceFile == null) { - throw new BusinessException("存在未知 fileUrl: " + fileUrl); + + Map sourceByUrl = new LinkedHashMap<>(); + Map sourceIndexByUrl = new LinkedHashMap<>(); + for (int i = 0; i < sourceFiles.size(); i++) { + BrandSourceFileDto file = sourceFiles.get(i); + sourceByUrl.put(file.getFileUrl(), file); + sourceIndexByUrl.put(file.getFileUrl(), i + 1); } - BrandParsedFileCacheDto cachedFile = cachedByUrl.get(fileUrl); - if (cachedFile == null) { - throw new BusinessException("缺少原始缓存数据: " + fileUrl); + List cachedFiles = brandTaskStorageService.getParsedPayload(taskId); + if (cachedFiles == null || cachedFiles.isEmpty()) { + throw new BusinessException("task parsed payload missing"); } - int totalLines = cachedFile.getRows() == null ? 0 : cachedFile.getRows().size(); - if (resultFile.getTotalLines() == null || resultFile.getTotalLines() <= 0) { - resultFile.setTotalLines(totalLines); - } else if (totalLines > 0 && resultFile.getTotalLines() > totalLines) { - throw new BusinessException("totalLines 超过原始文件行数: " + fileUrl); + Map cachedByUrl = new LinkedHashMap<>(); + for (BrandParsedFileCacheDto cachedFile : cachedFiles) { + cachedByUrl.put(cachedFile.getFileUrl(), cachedFile); } - BrandTaskStorageService.ChunkStoreResult storeResult = brandTaskStorageService.storeChunk(taskId, resultFile); - BrandTaskStorageService.ChunkStoreResult refreshResult = brandTaskStorageService.refreshFileAggregate(taskId, fileUrl); - BrandFileAggregateCacheDto aggregate = refreshResult.aggregate() == null ? storeResult.aggregate() : refreshResult.aggregate(); - finishedCount = Math.max(finishedCount, storeResult.finishedFiles()); - finishedCount = Math.max(finishedCount, refreshResult.finishedFiles()); - log.info("[brand-submit] taskId={} fileUrl={} chunk={}/{} stored={} newlyCompletedFile={} finishedFiles={} receivedChunks={} processedLines={} totalLines={}", + + List resultFiles = request.getFiles() == null ? List.of() : request.getFiles(); + if (resultFiles.isEmpty()) { + throw new BusinessException("files is empty"); + } + ensureNoDuplicateResultFiles(resultFiles); + + int totalCount = sourceFiles.size(); + markTaskRunning(taskId, totalCount); + afterTaskStarted(taskId, totalCount); + + log.info("[brand-submit] taskId={} chunks={} files={} thread={}", taskId, - fileUrl, - resultFile.getChunkIndex(), - resultFile.getChunkTotal(), - storeResult.stored(), - storeResult.newlyCompletedFile() || refreshResult.newlyCompletedFile(), - finishedCount, - aggregate == null ? 0 : defaultInteger(aggregate.getReceivedChunkCount()), - aggregate == null ? 0 : defaultInteger(aggregate.getProcessedLineCount()), - aggregate == null ? 0 : defaultInteger(aggregate.getTotalLines())); - String fileName = blankToDefault(sourceFile.getOriginalFilename(), sourceFile.getFileUrl()); - int fileIndex = sourceIndexByUrl.getOrDefault(fileUrl, 0); - int currentLine = aggregate == null ? 0 : defaultInteger(aggregate.getProcessedLineCount()); - int currentTotalLines = aggregate == null ? 0 : Math.max(defaultInteger(aggregate.getTotalLines()), currentLine); - brandTaskProgressCacheService.saveProgressFromResult(taskId, - fileUrl, - fileIndex, + resultFiles.size(), totalCount, - fileName, - currentLine, - currentTotalLines, - finishedCount); - updateTaskProgress(taskId, finishedCount, totalCount); - saveBrandProgressSnapshot(taskId, STATUS_RUNNING, totalCount, finishedCount, 0, null); - } + Thread.currentThread().getName()); - tryFinalizeTask(taskId, request.getStrategy(), sourceFiles, cachedByUrl, finishedCount, totalCount); - log.info("[brand-submit] taskId={} finishedFiles={}/{} elapsedMs={} thread={}", - taskId, - finishedCount, - totalCount, - System.currentTimeMillis() - startedAt, - Thread.currentThread().getName()); + int finishedCount = brandTaskStorageService.countCompletedFiles(taskId); + for (BrandCrawlResultFileDto resultFile : resultFiles) { + String fileUrl = blankToNull(resultFile.getFileUrl()); + if (fileUrl == null) { + throw new BusinessException("fileUrl is blank"); + } + BrandSourceFileDto sourceFile = sourceByUrl.get(fileUrl); + if (sourceFile == null) { + throw new BusinessException("unknown fileUrl: " + fileUrl); + } + BrandParsedFileCacheDto cachedFile = cachedByUrl.get(fileUrl); + if (cachedFile == null) { + throw new BusinessException("parsed cache missing: " + fileUrl); + } + int totalLines = cachedFile.getRows() == null ? 0 : cachedFile.getRows().size(); + if (resultFile.getTotalLines() == null || resultFile.getTotalLines() <= 0) { + resultFile.setTotalLines(totalLines); + } else if (totalLines > 0 && resultFile.getTotalLines() > totalLines) { + throw new BusinessException("totalLines exceeds source rows: " + fileUrl); + } + BrandTaskStorageService.ChunkStoreResult storeResult = brandTaskStorageService.storeChunk(taskId, resultFile); + BrandTaskStorageService.ChunkStoreResult refreshResult = brandTaskStorageService.refreshFileAggregate(taskId, fileUrl); + BrandFileAggregateCacheDto aggregate = refreshResult.aggregate() == null ? storeResult.aggregate() : refreshResult.aggregate(); + finishedCount = Math.max(finishedCount, storeResult.finishedFiles()); + finishedCount = Math.max(finishedCount, refreshResult.finishedFiles()); + log.info("[brand-submit] taskId={} fileUrl={} chunk={}/{} stored={} newlyCompletedFile={} finishedFiles={} receivedChunks={} processedLines={} totalLines={}", + taskId, + fileUrl, + resultFile.getChunkIndex(), + resultFile.getChunkTotal(), + storeResult.stored(), + storeResult.newlyCompletedFile() || refreshResult.newlyCompletedFile(), + finishedCount, + aggregate == null ? 0 : defaultInteger(aggregate.getReceivedChunkCount()), + aggregate == null ? 0 : defaultInteger(aggregate.getProcessedLineCount()), + aggregate == null ? 0 : defaultInteger(aggregate.getTotalLines())); + String fileName = blankToDefault(sourceFile.getOriginalFilename(), sourceFile.getFileUrl()); + int fileIndex = sourceIndexByUrl.getOrDefault(fileUrl, 0); + int currentLine = aggregate == null ? 0 : defaultInteger(aggregate.getProcessedLineCount()); + int currentTotalLines = aggregate == null ? 0 : Math.max(defaultInteger(aggregate.getTotalLines()), currentLine); + brandTaskProgressCacheService.saveProgressFromResult(taskId, + fileUrl, + fileIndex, + totalCount, + fileName, + currentLine, + currentTotalLines, + finishedCount); + updateTaskProgress(taskId, finishedCount, totalCount); + saveBrandProgressSnapshot(taskId, STATUS_RUNNING, totalCount, finishedCount, 0, null); + } + + tryFinalizeTask(taskId, request.getStrategy(), sourceFiles, cachedByUrl, finishedCount, totalCount); + log.info("[brand-submit] taskId={} finishedFiles={}/{} elapsedMs={} thread={}", + taskId, + finishedCount, + totalCount, + System.currentTimeMillis() - startedAt, + Thread.currentThread().getName()); + } } public void cancelTask(Long taskId) { + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId, TaskDistributedLockService.DEFAULT_WAIT_MILLIS)) { requireTask(taskId); int updated = brandCrawlTaskMapper.update(null, new LambdaUpdateWrapper() .eq(BrandCrawlTaskEntity::getId, taskId) @@ -332,9 +338,11 @@ public class BrandTaskService { } brandTaskStorageService.deleteTaskData(taskId); brandTaskProgressCacheService.delete(taskId); + } } public void deleteTask(Long taskId) { + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId, TaskDistributedLockService.DEFAULT_WAIT_MILLIS)) { requireTask(taskId); int deleted = brandCrawlTaskMapper.delete(new LambdaQueryWrapper() .eq(BrandCrawlTaskEntity::getId, taskId) @@ -344,6 +352,7 @@ public class BrandTaskService { } brandTaskStorageService.deleteTaskData(taskId); brandTaskProgressCacheService.delete(taskId); + } } public String resolveDownloadUrl(Long taskId) { @@ -1253,6 +1262,14 @@ public class BrandTaskService { return lockHandle; } + private TaskDistributedLockService.LockHandle acquireTaskLockOrThrow(Long taskId, long waitMillis) { + TaskDistributedLockService.LockHandle lockHandle = acquireTaskLock(taskId, waitMillis); + if (lockHandle == null) { + throw new BusinessException("task lock is busy"); + } + return lockHandle; + } + private boolean tryRecoverCompletedRunningTask(BrandCrawlTaskEntity task) { if (task == null || task.getId() == null) { return false; diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService.java index d2f557d..f829eee 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandRunService.java @@ -35,6 +35,7 @@ import com.nanri.aiimage.modules.task.mapper.FileTaskMapper; import com.nanri.aiimage.modules.task.model.entity.FileResultEntity; import com.nanri.aiimage.modules.task.model.entity.FileTaskEntity; import com.nanri.aiimage.modules.task.model.entity.TaskFileJobEntity; +import com.nanri.aiimage.modules.task.service.TaskDistributedLockService; import com.nanri.aiimage.modules.task.service.TaskFileJobService; import com.nanri.aiimage.modules.ziniao.model.vo.ZiniaoShopMatchResultVo; import com.nanri.aiimage.modules.ziniao.service.ZiniaoShopIndexService; @@ -54,6 +55,7 @@ import org.springframework.transaction.annotation.Transactional; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; +import java.time.Duration; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Comparator; @@ -71,6 +73,8 @@ public class DeleteBrandRunService { private static final String MODULE_TYPE = "DELETE_BRAND"; private static final String CONTENT_TYPE_XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; + private static final Duration TASK_LOCK_TTL = TaskDistributedLockService.DEFAULT_LOCK_TTL; + private static final long TASK_LOCK_WAIT_MILLIS = TaskDistributedLockService.DEFAULT_WAIT_MILLIS; private final FileTaskMapper fileTaskMapper; private final FileResultMapper fileResultMapper; @@ -82,6 +86,7 @@ public class DeleteBrandRunService { private final ObjectMapper objectMapper; private final DeleteBrandProgressProperties deleteBrandProgressProperties; private final TaskPressureProperties taskPressureProperties; + private final TaskDistributedLockService taskDistributedLockService; private final TaskFileJobService taskFileJobService; private boolean isUsableIndexedMatch(ZiniaoShopMatchResultVo matchResult) { @@ -493,13 +498,15 @@ public class DeleteBrandRunService { throw new BusinessException("记录不存在"); } Long taskId = entity.getTaskId(); - fileResultMapper.deleteById(resultId); - if (taskId != null && taskId > 0) { - Long remaining = fileResultMapper.selectCount(new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE)); - if (remaining == null || remaining <= 0) { - deleteBrandTaskStorageService.deleteTaskData(taskId); + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId)) { + fileResultMapper.deleteById(resultId); + if (taskId != null && taskId > 0) { + Long remaining = fileResultMapper.selectCount(new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE)); + if (remaining == null || remaining <= 0) { + deleteBrandTaskStorageService.deleteTaskData(taskId); + } } } } @@ -1249,99 +1256,96 @@ public class DeleteBrandRunService { @Transactional public void submitResult(Long taskId, DeleteBrandSubmitResultRequest request) { - log.info("[DeleteBrand] Received submitResult for taskId: {}, files count: {}", taskId, request == null || request.getFiles() == null ? 0 : request.getFiles().size()); - if (taskId == null || taskId <= 0) { - throw new BusinessException("taskId 不合法"); - } - if (request == null || request.getFiles() == null || request.getFiles().isEmpty()) { - throw new BusinessException("files 不能为空"); + throw new BusinessException("taskId invalid"); } + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId, TASK_LOCK_WAIT_MILLIS)) { + log.info("[DeleteBrand] Received submitResult for taskId: {}, files count: {}", taskId, request == null || request.getFiles() == null ? 0 : request.getFiles().size()); - FileTaskEntity task = loadTaskForExecution(taskId); - if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { - throw new BusinessException("任务不存在"); - } - if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { - log.warn("[DeleteBrand] submitResult rejected because task is terminal -> taskId: {}, status: {}, createdAt: {}, updatedAt: {}, finishedAt: {}, error: {}, sourceFiles: {}, successFiles: {}, failedFiles: {}", - task.getId(), - task.getStatus(), - task.getCreatedAt(), - task.getUpdatedAt(), - task.getFinishedAt(), - task.getErrorMessage(), - task.getSourceFileCount(), - task.getSuccessFileCount(), - task.getFailedFileCount()); - throw new BusinessException("任务已结束,拒绝继续提交结果"); - } - - Map parsedPayload = deleteBrandTaskStorageService.loadParsedPayload(taskId); - if (parsedPayload == null || parsedPayload.isEmpty()) { - throw new BusinessException("任务原始数据已过期,请重新执行解析"); - } - - if (!"RUNNING".equals(task.getStatus())) { - task.setStatus("RUNNING"); - task.setErrorMessage(null); - task.setUpdatedAt(LocalDateTime.now()); - task.setFinishedAt(null); - fileTaskMapper.updateById(task); - deleteBrandTaskCacheService.saveTaskCache(task); - } - - boolean shouldTryFinalize = false; - - for (DeleteBrandResultFileDto fileDto : request.getFiles()) { - log.info("[DeleteBrand] submitResult processing chunk -> taskId: {}, file: {}, chunkIndex: {}/{}, processedRows: {}/{}", - taskId, fileDto.getSourceFilename(), fileDto.getChunkIndex(), fileDto.getChunkTotal(), - fileDto.getProcessedRows(), fileDto.getTotalRows()); - - String fileIdentity = resolveFileIdentity(fileDto); - if (fileIdentity.isBlank()) { - throw new BusinessException("fileKey/sourceFilename 不能为空"); - } - DeleteBrandParsedFileCacheDto parsedFile = parsedPayload.get(fileIdentity); - if (parsedFile == null) { - log.warn("[DeleteBrand] parsed payload not found for identity: {}", fileIdentity); - throw new BusinessException("文件标识不匹配: " + fileIdentity); + if (request == null || request.getFiles() == null || request.getFiles().isEmpty()) { + throw new BusinessException("files is empty"); } - // 更早执行 duplicate fast-path,尽量在较重校验和进度写入前直接短路 - validateChunk(fileDto, parsedFile); - validateResultFileAgainstParsed(fileDto, parsedFile); - boolean stored = deleteBrandTaskStorageService.storeResultChunkIfChanged(taskId, fileIdentity, fileDto.getChunkIndex(), fileDto); - if (!stored) { - log.info("[DeleteBrand] Duplicate chunk ignored for taskId: {}, file: {}, chunkIndex: {}", taskId, fileIdentity, fileDto.getChunkIndex()); - continue; + FileTaskEntity task = loadTaskForExecution(taskId); + if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { + throw new BusinessException("task not found"); + } + if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { + log.warn("[DeleteBrand] submitResult rejected because task is terminal -> taskId: {}, status: {}, createdAt: {}, updatedAt: {}, finishedAt: {}, error: {}, sourceFiles: {}, successFiles: {}, failedFiles: {}", + task.getId(), + task.getStatus(), + task.getCreatedAt(), + task.getUpdatedAt(), + task.getFinishedAt(), + task.getErrorMessage(), + task.getSourceFileCount(), + task.getSuccessFileCount(), + task.getFailedFileCount()); + throw new BusinessException("task already finished"); } - Map progress = new LinkedHashMap<>(); - progress.put("phase", DeleteBrandTaskCacheService.PHASE_CRAWLING); - progress.put("file_index", String.valueOf(defaultInt(fileDto.getFileIndex(), 0))); - progress.put("file_total", String.valueOf(defaultInt(fileDto.getFileTotal(), parsedPayload.size()))); - progress.put("file_name", blankToEmpty(fileDto.getSourceFilename())); - progress.put("current_line", String.valueOf(defaultInt(fileDto.getProcessedRows(), 0))); - progress.put("total_lines", String.valueOf(defaultInt(fileDto.getTotalRows(), parsedFile.getTotalRows() == null ? 0 : parsedFile.getTotalRows()))); - progress.put("current_country", blankToEmpty(fileDto.getCurrentCountry())); - progress.put("current_asin", blankToEmpty(fileDto.getCurrentAsin())); - progress.put("updated_at", String.valueOf(System.currentTimeMillis())); - progress.put("last_heartbeat_at", String.valueOf(System.currentTimeMillis())); - deleteBrandTaskCacheService.saveProgress(taskId, progress, true); - - // 如果该文件已完成,立即更新成品计数的 Redis 提示,让后续 tryFinalizeTask 更准确 - if (isFileCompleted(fileDto)) { - log.info("[DeleteBrand] File chunk transmission fully reached via chunkTotal for taskId: {}, file: {}", taskId, fileDto.getSourceFilename()); - enqueueCompletedFileAssembleJob(task, fileIdentity, parsedFile); - shouldTryFinalize = true; - // 这里暂不直接 increment,而是标记需要在 tryFinalizeTask 中重新计算 - // 为了保险,直接在 tryFinalizeTask 里重新遍历分片状态 + Map parsedPayload = deleteBrandTaskStorageService.loadParsedPayload(taskId); + if (parsedPayload == null || parsedPayload.isEmpty()) { + throw new BusinessException("task parsed payload missing"); } - } + if (!"RUNNING".equals(task.getStatus())) { + task.setStatus("RUNNING"); + task.setErrorMessage(null); + task.setUpdatedAt(LocalDateTime.now()); + task.setFinishedAt(null); + fileTaskMapper.updateById(task); + deleteBrandTaskCacheService.saveTaskCache(task); + } - if (shouldTryFinalize) { - tryFinalizeTask(taskId, false); + boolean shouldTryFinalize = false; + + for (DeleteBrandResultFileDto fileDto : request.getFiles()) { + log.info("[DeleteBrand] submitResult processing chunk -> taskId: {}, file: {}, chunkIndex: {}/{}, processedRows: {}/{}", + taskId, fileDto.getSourceFilename(), fileDto.getChunkIndex(), fileDto.getChunkTotal(), + fileDto.getProcessedRows(), fileDto.getTotalRows()); + + String fileIdentity = resolveFileIdentity(fileDto); + if (fileIdentity.isBlank()) { + throw new BusinessException("file identity is blank"); + } + DeleteBrandParsedFileCacheDto parsedFile = parsedPayload.get(fileIdentity); + if (parsedFile == null) { + log.warn("[DeleteBrand] parsed payload not found for identity: {}", fileIdentity); + throw new BusinessException("parsed file not found: " + fileIdentity); + } + + validateChunk(fileDto, parsedFile); + validateResultFileAgainstParsed(fileDto, parsedFile); + boolean stored = deleteBrandTaskStorageService.storeResultChunkIfChanged(taskId, fileIdentity, fileDto.getChunkIndex(), fileDto); + if (!stored) { + log.info("[DeleteBrand] Duplicate chunk ignored for taskId: {}, file: {}, chunkIndex: {}", taskId, fileIdentity, fileDto.getChunkIndex()); + continue; + } + + Map progress = new LinkedHashMap<>(); + progress.put("phase", DeleteBrandTaskCacheService.PHASE_CRAWLING); + progress.put("file_index", String.valueOf(defaultInt(fileDto.getFileIndex(), 0))); + progress.put("file_total", String.valueOf(defaultInt(fileDto.getFileTotal(), parsedPayload.size()))); + progress.put("file_name", blankToEmpty(fileDto.getSourceFilename())); + progress.put("current_line", String.valueOf(defaultInt(fileDto.getProcessedRows(), 0))); + progress.put("total_lines", String.valueOf(defaultInt(fileDto.getTotalRows(), parsedFile.getTotalRows() == null ? 0 : parsedFile.getTotalRows()))); + progress.put("current_country", blankToEmpty(fileDto.getCurrentCountry())); + progress.put("current_asin", blankToEmpty(fileDto.getCurrentAsin())); + progress.put("updated_at", String.valueOf(System.currentTimeMillis())); + progress.put("last_heartbeat_at", String.valueOf(System.currentTimeMillis())); + deleteBrandTaskCacheService.saveProgress(taskId, progress, true); + + if (isFileCompleted(fileDto)) { + log.info("[DeleteBrand] File chunk transmission fully reached via chunkTotal for taskId: {}, file: {}", taskId, fileDto.getSourceFilename()); + enqueueCompletedFileAssembleJob(task, fileIdentity, parsedFile); + shouldTryFinalize = true; + } + } + + if (shouldTryFinalize) { + tryFinalizeTask(taskId, false); + } } } @@ -1398,44 +1402,45 @@ public class DeleteBrandRunService { if (taskId == null || taskId <= 0) { return; } + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId, 0L)) { + FileTaskEntity task = loadTaskForExecution(taskId); + if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { + return; + } + if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { + return; + } - FileTaskEntity task = loadTaskForExecution(taskId); - if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { - return; + int expectedFiles = deleteBrandTaskStorageService.countParsedPayloadScopes(taskId); + if (expectedFiles <= 0) { + tryFinalizeTaskFromTerminalResults(task); + return; + } + + int finishedFiles = deleteBrandTaskStorageService.countCompletedScopes(taskId); + if (finishedFiles < expectedFiles) { + updateTaskFinalizeProgress(task, finishedFiles, fromCompensation); + log.info("[DeleteBrand] tryFinalizeTask skipping -> finishedFiles ({}) < expectedFiles ({})", finishedFiles, expectedFiles); + return; + } + + updateTaskFinalizeProgress(task, finishedFiles, true); + Map parsedPayload = deleteBrandTaskStorageService.loadParsedPayload(taskId); + if (parsedPayload == null || parsedPayload.isEmpty()) { + tryFinalizeTaskFromTerminalResults(task); + return; + } + Map> mergedByFile = deleteBrandTaskStorageService.loadMergedChunks(taskId); + + log.info("[DeleteBrand] tryFinalizeTask calling finalizeTask -> finishedFiles: {}, expectedFiles: {}", finishedFiles, expectedFiles); + finalizeTask(task, parsedPayload, mergedByFile); + } catch (BusinessException ex) { + if (ex.getMessage() != null && ex.getMessage().contains("task lock is busy")) { + log.info("[DeleteBrand] tryFinalizeTask skipped because task lock is busy taskId={} fromCompensation={}", taskId, fromCompensation); + return; + } + throw ex; } - if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { - return; - } - - int expectedFiles = deleteBrandTaskStorageService.countParsedPayloadScopes(taskId); - if (expectedFiles <= 0) { - tryFinalizeTaskFromTerminalResults(task); - return; - } - // 移除 finishedFilesHint 的强依赖,因为 Redis 里的 finished_files 可能是旧值 - // 既然进入 tryFinalizeTask,就说明有新分片到达,应该以 loadMergedChunks 为准 - - - int finishedFiles = deleteBrandTaskStorageService.countCompletedScopes(taskId); - - if (finishedFiles < expectedFiles) { - updateTaskFinalizeProgress(task, finishedFiles, fromCompensation); - - log.info("[DeleteBrand] tryFinalizeTask skipping -> finishedFiles ({}) < expectedFiles ({})", finishedFiles, expectedFiles); - return; - } - - updateTaskFinalizeProgress(task, finishedFiles, true); - Map parsedPayload = deleteBrandTaskStorageService.loadParsedPayload(taskId); - if (parsedPayload == null || parsedPayload.isEmpty()) { - tryFinalizeTaskFromTerminalResults(task); - return; - } - Map> mergedByFile = deleteBrandTaskStorageService.loadMergedChunks(taskId); - - log.info("[DeleteBrand] tryFinalizeTask calling finalizeTask -> finishedFiles: {}, expectedFiles: {}", finishedFiles, expectedFiles); - - finalizeTask(task, parsedPayload, mergedByFile); } private void updateTaskFinalizeProgress(FileTaskEntity task, int finishedFiles, boolean fromCompensation) { @@ -1974,6 +1979,27 @@ public class DeleteBrandRunService { String normalized = blankToEmpty(value); return normalized.isBlank() ? defaultValue : normalized; } + + private TaskDistributedLockService.LockHandle acquireTaskLockOrThrow(Long taskId) { + return acquireTaskLockOrThrow(taskId, TASK_LOCK_WAIT_MILLIS); + } + + private TaskDistributedLockService.LockHandle acquireTaskLockOrThrow(Long taskId, long waitMillis) { + TaskDistributedLockService.LockHandle lockHandle = acquireTaskLock(taskId, waitMillis); + if (lockHandle == null) { + throw new BusinessException("task lock is busy"); + } + return lockHandle; + } + + private TaskDistributedLockService.LockHandle acquireTaskLock(Long taskId, long waitMillis) { + TaskDistributedLockService.LockHandle lockHandle = + taskDistributedLockService.acquire(MODULE_TYPE, taskId, TASK_LOCK_TTL, waitMillis); + if (lockHandle == null) { + log.info("[DeleteBrand] task lock busy taskId={} waitMillis={}", taskId, waitMillis); + } + return lockHandle; + } /** * 落库用 result_json:去掉国家分组、预览行等大字段,保留匹配摘要与计数。 * 索引命中后单次任务 JSON 体积会明显膨胀,容易触发 max_allowed_packet 或更新失败。 diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java index 440b009..d203b4e 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/deletebrand/service/DeleteBrandStaleTaskService.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.nanri.aiimage.common.service.DistributedJobLockService; import com.nanri.aiimage.config.DeleteBrandProgressProperties; import com.nanri.aiimage.modules.productrisk.service.ProductRiskTaskCacheService; +import com.nanri.aiimage.modules.queryasin.service.QueryAsinTaskCacheService; +import com.nanri.aiimage.modules.queryasin.service.QueryAsinTaskService; import com.nanri.aiimage.modules.productrisk.service.ProductRiskTaskService; import com.nanri.aiimage.modules.patroldelete.service.PatrolDeleteTaskCacheService; import com.nanri.aiimage.modules.patroldelete.service.PatrolDeleteTaskService; @@ -42,6 +44,7 @@ public class DeleteBrandStaleTaskService { private static final String MODULE_TYPE_PRICE_TRACK = "PRICE_TRACK"; private static final String MODULE_TYPE_SHOP_MATCH = "SHOP_MATCH"; private static final String MODULE_TYPE_PATROL_DELETE = "PATROL_DELETE"; + private static final String MODULE_TYPE_QUERY_ASIN = "QUERY_ASIN"; private static final Duration STALE_CHECK_LOCK_TTL = Duration.ofMinutes(10); private static final Duration FINALIZE_CHECK_LOCK_TTL = Duration.ofMinutes(10); private static final Duration TEMP_DIR_CLEANUP_LOCK_TTL = Duration.ofMinutes(10); @@ -58,6 +61,8 @@ public class DeleteBrandStaleTaskService { private final ShopMatchTaskCacheService shopMatchTaskCacheService; private final PatrolDeleteTaskService patrolDeleteTaskService; private final PatrolDeleteTaskCacheService patrolDeleteTaskCacheService; + private final QueryAsinTaskService queryAsinTaskService; + private final QueryAsinTaskCacheService queryAsinTaskCacheService; private final DeleteBrandProgressProperties deleteBrandProgressProperties; private final DistributedJobLockService distributedJobLockService; private final TaskDistributedLockService taskDistributedLockService; @@ -82,6 +87,7 @@ public class DeleteBrandStaleTaskService { PriceTrackStaleCheckStats priceTrackStats = failStalePriceTrackTasks(); ShopMatchStaleCheckStats shopMatchStats = failStaleShopMatchTasks(); ShopMatchStaleCheckStats patrolDeleteStats = failStalePatrolDeleteTasks(); + ShopMatchStaleCheckStats queryAsinStats = failStaleQueryAsinTasks(); log.info("[stale-check] product-risk summary scanned={} finalized={} failed={} skipped={} elapsedMs={} thread={}", stats.scannedTaskCount, stats.finalizedTaskCount, @@ -110,6 +116,13 @@ public class DeleteBrandStaleTaskService { patrolDeleteStats.skippedTaskCount, System.currentTimeMillis() - startedAt, Thread.currentThread().getName()); + log.info("[stale-check] query-asin summary scanned={} finalized={} failed={} skipped={} elapsedMs={} thread={}", + queryAsinStats.scannedTaskCount, + queryAsinStats.finalizedTaskCount, + queryAsinStats.failedTaskCount, + queryAsinStats.skippedTaskCount, + System.currentTimeMillis() - startedAt, + Thread.currentThread().getName()); } } @@ -525,6 +538,85 @@ public class DeleteBrandStaleTaskService { return stats; } + private ShopMatchStaleCheckStats failStaleQueryAsinTasks() { + ShopMatchStaleCheckStats stats = new ShopMatchStaleCheckStats(); + long minutes = Math.max(1L, deleteBrandProgressProperties.getPatrolDeleteStaleTimeoutMinutes()); + long initialMinutes = Math.max(minutes, deleteBrandProgressProperties.getPatrolDeleteInitialTimeoutMinutes()); + long staleTimeoutMillis = Duration.ofMinutes(minutes).toMillis(); + long nowMillis = System.currentTimeMillis(); + LocalDateTime now = LocalDateTime.now(); + LocalDateTime threshold = now.minusMinutes(minutes); + LocalDateTime initialThreshold = now.minusMinutes(initialMinutes); + java.util.List runningTasks = fileTaskMapper.selectList(new LambdaQueryWrapper() + .eq(FileTaskEntity::getModuleType, MODULE_TYPE_QUERY_ASIN) + .eq(FileTaskEntity::getStatus, "RUNNING") + .lt(FileTaskEntity::getUpdatedAt, threshold) + .last("limit 200")); + stats.scannedTaskCount = runningTasks.size(); + if (runningTasks.isEmpty()) { + return stats; + } + Map heartbeatByTaskId = queryAsinTaskCacheService.getTaskHeartbeatMillisBatch( + runningTasks.stream().map(FileTaskEntity::getId).toList()); + for (FileTaskEntity task : runningTasks) { + long lastHeartbeatMillis = heartbeatByTaskId.getOrDefault(task.getId(), 0L); + boolean hasFinishedRows = (task.getSuccessFileCount() != null && task.getSuccessFileCount() > 0) + || (task.getFailedFileCount() != null && task.getFailedFileCount() > 0); + if (lastHeartbeatMillis > 0L && nowMillis - lastHeartbeatMillis < staleTimeoutMillis) { + stats.skippedTaskCount++; + continue; + } + boolean hasStartedProgress = hasFinishedRows; + if (!hasStartedProgress) { + hasStartedProgress = queryAsinTaskCacheService.hasAnyShopMergedPayload(task.getId()); + } + if (hasPendingAssembleJobs(task.getId(), MODULE_TYPE_QUERY_ASIN)) { + stats.skippedTaskCount++; + log.info("[stale-check] query-asin skip pending-assemble-jobs taskId={} unfinishedJobs={} activeJobs={}", + task.getId(), + taskFileJobService.countUnfinishedAssembleJobs(task.getId(), MODULE_TYPE_QUERY_ASIN), + taskFileJobService.countActiveAssembleJobs(task.getId(), MODULE_TYPE_QUERY_ASIN)); + continue; + } + if (!hasStartedProgress && isWithinInitialGrace(task, initialThreshold)) { + stats.skippedTaskCount++; + continue; + } + TaskDistributedLockService.LockHandle taskLockHandle = acquireTaskLock(MODULE_TYPE_QUERY_ASIN, task.getId()); + if (taskLockHandle == null) { + stats.skippedTaskCount++; + continue; + } + try (taskLockHandle) { + try { + if (queryAsinTaskService.tryFinalizeTask(task.getId(), true)) { + stats.finalizedTaskCount++; + log.info("[stale-check] query-asin finalized taskId={}", task.getId()); + continue; + } + } catch (Exception ex) { + log.warn("[stale-check] query-asin finalize threw taskId={} msg={}", task.getId(), ex.getMessage()); + } + int updated = fileTaskMapper.update(null, new LambdaUpdateWrapper() + .eq(FileTaskEntity::getId, task.getId()) + .eq(FileTaskEntity::getModuleType, MODULE_TYPE_QUERY_ASIN) + .eq(FileTaskEntity::getStatus, "RUNNING") + .set(FileTaskEntity::getStatus, "FAILED") + .set(FileTaskEntity::getErrorMessage, "闀挎椂闂存湭鏀跺埌 Python 缁撴灉鍥炰紶锛屼换鍔″凡鑷姩澶辫触") + .set(FileTaskEntity::getUpdatedAt, LocalDateTime.now()) + .set(FileTaskEntity::getFinishedAt, LocalDateTime.now())); + if (updated > 0) { + stats.failedTaskCount++; + queryAsinTaskCacheService.deleteTaskCache(task.getId()); + log.warn("[stale-check] query-asin failed taskId={} reason=timeout", task.getId()); + } else { + stats.skippedTaskCount++; + } + } + } + return stats; + } + private boolean isWithinInitialGrace(FileTaskEntity task, LocalDateTime initialThreshold) { if (task == null || initialThreshold == null) { return false; @@ -595,7 +687,8 @@ public class DeleteBrandStaleTaskService { "patrol-delete-result", "delete-brand-result", "product-risk-result", - "price-track-result" + "price-track-result", + "query-asin-result" ); for (String dirName : dirNames) { cleanupTempRoot(dirName, cutoff); diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/patroldelete/service/PatrolDeleteTaskService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/patroldelete/service/PatrolDeleteTaskService.java index 6870888..f9bd86f 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/patroldelete/service/PatrolDeleteTaskService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/patroldelete/service/PatrolDeleteTaskService.java @@ -330,6 +330,7 @@ public class PatrolDeleteTaskService { throw new BusinessException("shops 不能为空"); } + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId)) { FileTaskEntity task = loadTaskForExecution(taskId); if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { log.info("[patrol-delete] ignore result callback for deleted task taskId={}", taskId); @@ -373,12 +374,19 @@ public class PatrolDeleteTaskService { fileTaskMapper.updateById(task); taskCacheService.saveTaskCache(task); tryFinalizeTask(taskId, false); + } } public boolean tryFinalizeTask(Long taskId, boolean fromCompensation) { if (taskId == null || taskId <= 0) { return false; } + TaskDistributedLockService.LockHandle lockHandle = acquireTaskLock(taskId); + if (lockHandle == null) { + log.info("[patrol-delete] tryFinalizeTask skipped because task lock is busy taskId={} fromCompensation={}", taskId, fromCompensation); + return false; + } + try (lockHandle) { FileTaskEntity task = loadTaskForExecution(taskId); if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { return false; @@ -449,6 +457,7 @@ public class PatrolDeleteTaskService { fileTaskMapper.updateById(task); taskCacheService.saveTaskCache(task); return changed; + } } @Transactional @@ -459,6 +468,7 @@ public class PatrolDeleteTaskService { if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || !userId.equals(task.getUserId())) { throw new BusinessException("任务不存在"); } + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId)) { long taskLoadedAt = System.nanoTime(); fileResultMapper.delete(new LambdaQueryWrapper() .eq(FileResultEntity::getTaskId, taskId) @@ -479,6 +489,7 @@ public class PatrolDeleteTaskService { elapsedMs(resultsDeletedAt, auxiliaryDeletedAt), elapsedMs(auxiliaryDeletedAt, taskDeletedAt), elapsedMs(taskDeletedAt, finishedAt)); + } } @Transactional diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/pricetrack/service/PriceTrackTaskService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/pricetrack/service/PriceTrackTaskService.java index 03ef49e..113d6d7 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/pricetrack/service/PriceTrackTaskService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/pricetrack/service/PriceTrackTaskService.java @@ -258,16 +258,18 @@ public class PriceTrackTaskService { @Transactional public void deleteTask(Long taskId, Long userId) { if (userId == null || userId <= 0) throw new BusinessException("user_id 不合法"); - FileTaskEntity task = loadTaskForExecution(taskId); - if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || !userId.equals(task.getUserId())) { - throw new BusinessException("任务不存在"); + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId)) { + FileTaskEntity task = loadTaskForExecution(taskId); + if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || !userId.equals(task.getUserId())) { + throw new BusinessException("任务不存在"); + } + fileResultMapper.delete(new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE)); + fileTaskMapper.deleteById(taskId); + priceTrackTaskCacheService.deleteTaskCache(taskId); + priceTrackLoopRunService.syncLoopRunAfterChildRemoved(taskId); } - fileResultMapper.delete(new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE)); - fileTaskMapper.deleteById(taskId); - priceTrackTaskCacheService.deleteTaskCache(taskId); - priceTrackLoopRunService.syncLoopRunAfterChildRemoved(taskId); } @Transactional @@ -458,154 +460,163 @@ public class PriceTrackTaskService { if (request == null || request.getShops() == null || request.getShops().isEmpty()) { throw new BusinessException("shops 不能为空"); } - FileTaskEntity task = loadTaskForExecution(taskId); - if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { - throw new BusinessException("任务不存在"); + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId)) { + FileTaskEntity task = loadTaskForExecution(taskId); + if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { + throw new BusinessException("任务不存在"); + } + if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { + log.warn("[price-track] submitResult rejected taskId={} status={}", taskId, task.getStatus()); + throw new BusinessException(40901, "任务已结束,拒绝重复提交"); + } + priceTrackTaskCacheService.touchTaskHeartbeat(taskId); + List resultRows = fileResultMapper.selectList( + new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE) + .orderByAsc(FileResultEntity::getId)); + Map payloadByShop = new LinkedHashMap<>(); + for (PriceTrackSubmitResultRequest.ShopResult sr : request.getShops()) { + if (sr == null) continue; + String key = ziniaoShopSwitchService.normalizeShopName(sr.getShopName()); + if (!key.isBlank()) payloadByShop.put(key, sr); + } + log.info("[price-track] submitResult received taskId={} payloadShopCount={} payloadKeys={}", + taskId, payloadByShop.size(), payloadByShop.keySet()); + boolean changed = false; + for (FileResultEntity fr : resultRows) { + String shopKey = fr.getSourceFilename(); + PriceTrackSubmitResultRequest.ShopResult payload = shopKey == null ? null : payloadByShop.get(shopKey); + if (payload == null) { + continue; + } + changed = true; + if (payload.getError() != null && !payload.getError().isBlank()) { + markResultFailed(fr, payload.getError()); + priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); + continue; + } + if (Boolean.FALSE.equals(payload.getSuccess())) { + markResultFailed(fr, "shop processing failed"); + priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); + continue; + } + handleSkipAsinDeletionSignals(shopKey, payload); + PriceTrackSubmitResultRequest.ShopResult merged = mergeShopPayload(taskId, shopKey, payload); + if (!Boolean.TRUE.equals(merged.getSuccess())) { + continue; + } + if (countPayloadRows(merged) <= 0) { + markResultFailed(fr, "no usable price-track rows received"); + priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); + continue; + } + try { + enqueueResultFileAssembly(fr, shopKey, merged); + priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); + } catch (Exception ex) { + markResultFailed(fr, ex.getMessage() == null ? "assemble price-track result failed" : ex.getMessage()); + priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); + } + } + if (!changed) { + return; + } + List latest = fileResultMapper.selectList( + new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE) + .orderByAsc(FileResultEntity::getId)); + updateTaskStatusFromLatestRows(task, latest); } - if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { - log.warn("[price-track] submitResult rejected taskId={} status={}", taskId, task.getStatus()); - throw new BusinessException(40901, "任务已结束,拒绝重复提交"); - } - priceTrackTaskCacheService.touchTaskHeartbeat(taskId); - List resultRows = fileResultMapper.selectList( - new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE) - .orderByAsc(FileResultEntity::getId)); - Map payloadByShop = new LinkedHashMap<>(); - for (PriceTrackSubmitResultRequest.ShopResult sr : request.getShops()) { - if (sr == null) continue; - String key = ziniaoShopSwitchService.normalizeShopName(sr.getShopName()); - if (!key.isBlank()) payloadByShop.put(key, sr); - } - log.info("[price-track] submitResult received taskId={} payloadShopCount={} payloadKeys={}", - taskId, payloadByShop.size(), payloadByShop.keySet()); - boolean changed = false; - for (FileResultEntity fr : resultRows) { - String shopKey = fr.getSourceFilename(); - PriceTrackSubmitResultRequest.ShopResult payload = shopKey == null ? null : payloadByShop.get(shopKey); - if (payload == null) { - continue; - } - changed = true; - if (payload.getError() != null && !payload.getError().isBlank()) { - markResultFailed(fr, payload.getError()); - priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); - continue; - } - if (Boolean.FALSE.equals(payload.getSuccess())) { - markResultFailed(fr, "shop processing failed"); - priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); - continue; - } - handleSkipAsinDeletionSignals(shopKey, payload); - PriceTrackSubmitResultRequest.ShopResult merged = mergeShopPayload(taskId, shopKey, payload); - if (!Boolean.TRUE.equals(merged.getSuccess())) { - continue; - } - if (countPayloadRows(merged) <= 0) { - markResultFailed(fr, "no usable price-track rows received"); - priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); - continue; - } - try { - enqueueResultFileAssembly(fr, shopKey, merged); - priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); - } catch (Exception ex) { - markResultFailed(fr, ex.getMessage() == null ? "assemble price-track result failed" : ex.getMessage()); - priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); - } - } - if (!changed) { - return; - } - List latest = fileResultMapper.selectList( - new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE) - .orderByAsc(FileResultEntity::getId)); - updateTaskStatusFromLatestRows(task, latest); } public boolean tryFinalizeTask(Long taskId, boolean fromCompensation) { if (taskId == null || taskId <= 0) return false; - FileTaskEntity task = loadTaskForExecution(taskId); - if (task == null || !MODULE_TYPE.equals(task.getModuleType())) return false; - if (!"RUNNING".equals(task.getStatus())) { - log.warn("[price-track] stale finalize skipped taskId={} status={} fromCompensation={}", - taskId, task.getStatus(), fromCompensation); - cleanupTaskCacheIfTerminal(taskId, task.getStatus()); + TaskDistributedLockService.LockHandle lockHandle = acquireTaskLock(taskId); + if (lockHandle == null) { + log.info("[price-track] tryFinalizeTask skipped because task lock is busy taskId={} fromCompensation={}", taskId, fromCompensation); return false; } - List latest = fileResultMapper.selectList( - new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE) - .orderByAsc(FileResultEntity::getId)); - if (latest.isEmpty()) { - task.setStatus("FAILED"); - task.setErrorMessage("task details missing, cannot finalize automatically"); - task.setUpdatedAt(LocalDateTime.now()); - task.setFinishedAt(LocalDateTime.now()); - fileTaskMapper.updateById(task); - cleanupTaskCacheIfTerminal(taskId, task.getStatus()); + try (lockHandle) { + FileTaskEntity task = loadTaskForExecution(taskId); + if (task == null || !MODULE_TYPE.equals(task.getModuleType())) return false; + if (!"RUNNING".equals(task.getStatus())) { + log.warn("[price-track] stale finalize skipped taskId={} status={} fromCompensation={}", + taskId, task.getStatus(), fromCompensation); + cleanupTaskCacheIfTerminal(taskId, task.getStatus()); + return false; + } + List latest = fileResultMapper.selectList( + new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE) + .orderByAsc(FileResultEntity::getId)); + if (latest.isEmpty()) { + task.setStatus("FAILED"); + task.setErrorMessage("task details missing, cannot finalize automatically"); + task.setUpdatedAt(LocalDateTime.now()); + task.setFinishedAt(LocalDateTime.now()); + fileTaskMapper.updateById(task); + cleanupTaskCacheIfTerminal(taskId, task.getStatus()); + return true; + } + Map cachedPayloadByShop = + priceTrackTaskCacheService.getAllShopMergedPayload(taskId); + boolean changed = false; + for (FileResultEntity fr : latest) { + boolean success = fr.getSuccess() != null && fr.getSuccess() == 1; + boolean failed = fr.getErrorMessage() != null && !fr.getErrorMessage().isBlank(); + if (success || failed) continue; + String shopKey = fr.getSourceFilename(); + PriceTrackSubmitResultRequest.ShopResult cachedPayload = shopKey == null ? null : cachedPayloadByShop.get(shopKey); + if (cachedPayload == null) { + markResultFailed(fr, "Python interrupted before this shop finished uploading results"); + changed = true; + log.warn("[price-track] stale finalize failed without cache taskId={} shop={} fromCompensation={}", + taskId, shopKey, fromCompensation); + continue; + } + if (cachedPayload.getError() != null && !cachedPayload.getError().isBlank()) { + markResultFailed(fr, cachedPayload.getError()); + priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); + changed = true; + continue; + } + if (countPayloadRows(cachedPayload) <= 0) { + markResultFailed(fr, "no usable price-track rows received before interruption"); + priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); + changed = true; + log.warn("[price-track] stale finalize finished without data taskId={} shop={} fromCompensation={}", + taskId, shopKey, fromCompensation); + continue; + } + try { + enqueueResultFileAssembly(fr, shopKey, cachedPayload); + priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); + changed = true; + log.warn("[price-track] stale finalize assembled taskId={} shop={} fromCompensation={} completedFlag={} rowCount={}", + taskId, shopKey, fromCompensation, Boolean.TRUE.equals(cachedPayload.getSuccess()), countPayloadRows(cachedPayload)); + } catch (Exception ex) { + String message = ex.getMessage() == null ? "assemble price-track result failed" : ex.getMessage(); + markResultFailed(fr, message); + priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); + changed = true; + log.warn("[price-track] stale finalize assemble failed taskId={} shop={} msg={}", + taskId, shopKey, message); + } + } + if (!changed && cachedPayloadByShop.isEmpty()) { + return false; + } + List refreshed = fileResultMapper.selectList( + new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE) + .orderByAsc(FileResultEntity::getId)); + updateTaskStatusFromLatestRows(task, refreshed); return true; } - Map cachedPayloadByShop = - priceTrackTaskCacheService.getAllShopMergedPayload(taskId); - boolean changed = false; - for (FileResultEntity fr : latest) { - boolean success = fr.getSuccess() != null && fr.getSuccess() == 1; - boolean failed = fr.getErrorMessage() != null && !fr.getErrorMessage().isBlank(); - if (success || failed) continue; - String shopKey = fr.getSourceFilename(); - PriceTrackSubmitResultRequest.ShopResult cachedPayload = shopKey == null ? null : cachedPayloadByShop.get(shopKey); - if (cachedPayload == null) { - markResultFailed(fr, "Python interrupted before this shop finished uploading results"); - changed = true; - log.warn("[price-track] stale finalize failed without cache taskId={} shop={} fromCompensation={}", - taskId, shopKey, fromCompensation); - continue; - } - if (cachedPayload.getError() != null && !cachedPayload.getError().isBlank()) { - markResultFailed(fr, cachedPayload.getError()); - priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); - changed = true; - continue; - } - if (countPayloadRows(cachedPayload) <= 0) { - markResultFailed(fr, "no usable price-track rows received before interruption"); - priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); - changed = true; - log.warn("[price-track] stale finalize finished without data taskId={} shop={} fromCompensation={}", - taskId, shopKey, fromCompensation); - continue; - } - try { - enqueueResultFileAssembly(fr, shopKey, cachedPayload); - priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); - changed = true; - log.warn("[price-track] stale finalize assembled taskId={} shop={} fromCompensation={} completedFlag={} rowCount={}", - taskId, shopKey, fromCompensation, Boolean.TRUE.equals(cachedPayload.getSuccess()), countPayloadRows(cachedPayload)); - } catch (Exception ex) { - String message = ex.getMessage() == null ? "assemble price-track result failed" : ex.getMessage(); - markResultFailed(fr, message); - priceTrackTaskCacheService.removeShopMergedPayload(taskId, shopKey); - changed = true; - log.warn("[price-track] stale finalize assemble failed taskId={} shop={} msg={}", - taskId, shopKey, message); - } - } - if (!changed && cachedPayloadByShop.isEmpty()) { - return false; - } - List refreshed = fileResultMapper.selectList( - new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE) - .orderByAsc(FileResultEntity::getId)); - updateTaskStatusFromLatestRows(task, refreshed); - return true; } public String resolveResultDownloadUrl(Long resultId, Long userId) { diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/productrisk/service/ProductRiskTaskService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/productrisk/service/ProductRiskTaskService.java index e4f15b5..a368969 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/productrisk/service/ProductRiskTaskService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/productrisk/service/ProductRiskTaskService.java @@ -267,15 +267,17 @@ public class ProductRiskTaskService { if (userId == null || userId <= 0) { throw new BusinessException("user_id 不合法"); } - FileTaskEntity task = loadTaskForExecution(taskId); - if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || !userId.equals(task.getUserId())) { - throw new BusinessException("任务不存在"); + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId)) { + FileTaskEntity task = loadTaskForExecution(taskId); + if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || !userId.equals(task.getUserId())) { + throw new BusinessException("任务不存在"); + } + fileResultMapper.delete(new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE)); + fileTaskMapper.deleteById(taskId); + cleanupTaskCacheIfTerminal(taskId, "DELETE_EMPTY"); } - fileResultMapper.delete(new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE)); - fileTaskMapper.deleteById(taskId); - cleanupTaskCacheIfTerminal(taskId, "DELETE_EMPTY"); } /** @@ -550,146 +552,150 @@ public class ProductRiskTaskService { if (request == null || request.getShops() == null || request.getShops().isEmpty()) { throw new BusinessException("shops 不能为空"); } + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId)) { + FileTaskEntity task = loadTaskForExecution(taskId); + if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { + throw new BusinessException("任务不存在"); + } + if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { + log.warn("[product-risk] submitResult rejected taskId={} status={} payloadShopCount={}", + taskId, task.getStatus(), request.getShops() == null ? 0 : request.getShops().size()); + throw new BusinessException(40901, "任务已结束,拒绝重复提交"); + } + String oldStatus = task.getStatus(); - FileTaskEntity task = loadTaskForExecution(taskId); - if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { - throw new BusinessException("任务不存在"); + List resultRows = fileResultMapper.selectList(new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE) + .orderByAsc(FileResultEntity::getId)); + + Map payloadByShop = new LinkedHashMap<>(); + for (ProductRiskShopPayloadDto p : request.getShops()) { + if (p == null) { + continue; + } + String key = ziniaoShopSwitchService.normalizeShopName(p.getShopName()); + if (!key.isBlank()) { + payloadByShop.put(key, p); + } + } + log.info("[product-risk] submitResult received taskId={} payloadShopCount={} payloadKeys={}", + taskId, payloadByShop.size(), payloadByShop.keySet()); + + File workRoot = FileUtil.mkdir(FileUtil.file(System.getProperty("java.io.tmpdir"), "product-risk-result", String.valueOf(taskId))); + + List batchErrors = new ArrayList<>(); + int matchedShopCount = 0; + int skippedUnmatchedCount = 0; + int waitingCount = 0; + int assembledCount = 0; + int fallbackMatchedCount = 0; + + for (FileResultEntity fr : resultRows) { + String shopKey = fr.getSourceFilename(); + ProductRiskShopPayloadDto payload = shopKey == null ? null : payloadByShop.get(shopKey); + + if (payload == null && resultRows.size() == 1 && payloadByShop.size() == 1) { + payload = payloadByShop.values().iterator().next(); + fallbackMatchedCount++; + log.warn("[product-risk] single-shop fallback matched taskId={} dbShop={} payloadShop={}", + taskId, shopKey, payload.getShopName()); + } + + if (payload == null) { + skippedUnmatchedCount++; + continue; + } + matchedShopCount++; + if (payload.getError() != null && !payload.getError().isBlank()) { + markResultFailed(fr, payload.getError()); + batchErrors.add(shopKey + ": " + payload.getError()); + productRiskTaskCacheService.removeShopMergedPayload(taskId, shopKey); + continue; + } + + ProductRiskShopPayloadDto mergedPayload = mergeShopPayload(taskId, shopKey, payload); + boolean incomingShopDone = hasShopDoneSignal(payload); + int mergedRows = countPayloadRows(mergedPayload); + boolean shopDone = isShopPayloadCompleted(mergedPayload); + log.info("[product-risk] shop merged taskId={} shop={} incomingShopDone={} mergedDone={} mergedRows={} payloadCountries={} mergedShopDoneFlag={}", + taskId, + shopKey, + incomingShopDone, + shopDone, + mergedRows, + mergedPayload.getCountries() == null ? 0 : mergedPayload.getCountries().size(), + mergedPayload.getShopDone()); + if (incomingShopDone && mergedRows <= 0) { + markResultNoData(fr, "没有数据"); + productRiskTaskCacheService.removeShopMergedPayload(taskId, shopKey); + log.info("[product-risk] shop finished without data taskId={} shop={}", taskId, shopKey); + continue; + } + if (!shopDone) { + waitingCount++; + continue; + } + + try { + enqueueResultFileAssembly(fr, shopKey, mergedPayload); + assembledCount++; + log.info("[product-risk] shop assembled taskId={} shop={} rowCount={} file={}", + taskId, shopKey, fr.getRowCount(), fr.getResultFilename()); + productRiskTaskCacheService.removeShopMergedPayload(taskId, shopKey); + } catch (Exception ex) { + log.warn("[product-risk] shop assemble failed taskId={} shop={} msg={}", taskId, shopKey, ex.getMessage()); + markResultFailed(fr, ex.getMessage() == null ? "组装失败" : ex.getMessage()); + batchErrors.add(shopKey + ": " + ex.getMessage()); + productRiskTaskCacheService.removeShopMergedPayload(taskId, shopKey); + } + } + + List latest = fileResultMapper.selectList(new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE) + .orderByAsc(FileResultEntity::getId)); + + updateTaskStatusFromLatestRows(task, latest, batchErrors); + log.warn("[product-risk] submitResult status evaluated taskId={} oldStatus={} newStatus={} matchedShopCount={} skippedUnmatchedCount={} waitingCount={} assembledCount={} fallbackMatchedCount={} batchErrors={}", + taskId, oldStatus, task.getStatus(), matchedShopCount, skippedUnmatchedCount, + waitingCount, assembledCount, fallbackMatchedCount, batchErrors); } - if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { - log.warn("[product-risk] submitResult rejected taskId={} status={} payloadShopCount={}", - taskId, task.getStatus(), request.getShops() == null ? 0 : request.getShops().size()); - throw new BusinessException(40901, "任务已结束,拒绝重复提交"); - } - String oldStatus = task.getStatus(); - - List resultRows = fileResultMapper.selectList(new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE) - .orderByAsc(FileResultEntity::getId)); - - Map payloadByShop = new LinkedHashMap<>(); - for (ProductRiskShopPayloadDto p : request.getShops()) { - if (p == null) { - continue; - } - String key = ziniaoShopSwitchService.normalizeShopName(p.getShopName()); - if (!key.isBlank()) { - payloadByShop.put(key, p); - } - } - log.info("[product-risk] submitResult received taskId={} payloadShopCount={} payloadKeys={}", - taskId, payloadByShop.size(), payloadByShop.keySet()); - - File workRoot = FileUtil.mkdir(FileUtil.file(System.getProperty("java.io.tmpdir"), "product-risk-result", String.valueOf(taskId))); - - List batchErrors = new ArrayList<>(); - int matchedShopCount = 0; - int skippedUnmatchedCount = 0; - int waitingCount = 0; - int assembledCount = 0; - int fallbackMatchedCount = 0; - - for (FileResultEntity fr : resultRows) { - String shopKey = fr.getSourceFilename(); - ProductRiskShopPayloadDto payload = shopKey == null ? null : payloadByShop.get(shopKey); - - // 兼容单店任务:如果规范化店名偶发不一致导致未命中,且任务与回传都只有 1 个店时按唯一店铺回填。 - if (payload == null && resultRows.size() == 1 && payloadByShop.size() == 1) { - payload = payloadByShop.values().iterator().next(); - fallbackMatchedCount++; - log.warn("[product-risk] single-shop fallback matched taskId={} dbShop={} payloadShop={}", - taskId, shopKey, payload.getShopName()); - } - - if (payload == null) { - skippedUnmatchedCount++; - // 与删除品牌一致:支持队列逐条处理、分次回传,本次 payload 未包含的店铺保持待处理。 - continue; - } - matchedShopCount++; - if (payload.getError() != null && !payload.getError().isBlank()) { - markResultFailed(fr, payload.getError()); - batchErrors.add(shopKey + ": " + payload.getError()); - productRiskTaskCacheService.removeShopMergedPayload(taskId, shopKey); - continue; - } - - // 分次上报累积:合并到 Redis 缓存,再按“合并后是否完成”决定是否出包。 - ProductRiskShopPayloadDto mergedPayload = mergeShopPayload(taskId, shopKey, payload); - boolean incomingShopDone = hasShopDoneSignal(payload); - int mergedRows = countPayloadRows(mergedPayload); - boolean shopDone = isShopPayloadCompleted(mergedPayload); - log.info("[product-risk] shop merged taskId={} shop={} incomingShopDone={} mergedDone={} mergedRows={} payloadCountries={} mergedShopDoneFlag={}", - taskId, - shopKey, - incomingShopDone, - shopDone, - mergedRows, - mergedPayload.getCountries() == null ? 0 : mergedPayload.getCountries().size(), - mergedPayload.getShopDone()); - if (incomingShopDone && mergedRows <= 0) { - markResultNoData(fr, "没有数据"); - productRiskTaskCacheService.removeShopMergedPayload(taskId, shopKey); - log.info("[product-risk] shop finished without data taskId={} shop={}", taskId, shopKey); - continue; - } - if (!shopDone) { - waitingCount++; - continue; - } - - try { - enqueueResultFileAssembly(fr, shopKey, mergedPayload); - assembledCount++; - log.info("[product-risk] shop assembled taskId={} shop={} rowCount={} file={}", - taskId, shopKey, fr.getRowCount(), fr.getResultFilename()); - productRiskTaskCacheService.removeShopMergedPayload(taskId, shopKey); - } catch (Exception ex) { - log.warn("[product-risk] shop assemble failed taskId={} shop={} msg={}", taskId, shopKey, ex.getMessage()); - markResultFailed(fr, ex.getMessage() == null ? "组装失败" : ex.getMessage()); - batchErrors.add(shopKey + ": " + ex.getMessage()); - productRiskTaskCacheService.removeShopMergedPayload(taskId, shopKey); - } - } - - List latest = fileResultMapper.selectList(new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE) - .orderByAsc(FileResultEntity::getId)); - - updateTaskStatusFromLatestRows(task, latest, batchErrors); - log.warn("[product-risk] submitResult status evaluated taskId={} oldStatus={} newStatus={} matchedShopCount={} skippedUnmatchedCount={} waitingCount={} assembledCount={} fallbackMatchedCount={} batchErrors={}", - taskId, oldStatus, task.getStatus(), matchedShopCount, skippedUnmatchedCount, - waitingCount, assembledCount, fallbackMatchedCount, batchErrors); } public boolean tryFinalizeTask(Long taskId, boolean fromCompensation) { if (taskId == null || taskId <= 0) { return false; } - FileTaskEntity task = loadTaskForExecution(taskId); - if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { + TaskDistributedLockService.LockHandle lockHandle = acquireTaskLock(taskId); + if (lockHandle == null) { + log.info("[product-risk] tryFinalizeTask skipped because task lock is busy taskId={} fromCompensation={}", taskId, fromCompensation); return false; } - if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { - log.warn("[product-risk] stale finalize skipped taskId={} status={} fromCompensation={}", - taskId, task.getStatus(), fromCompensation); - return true; - } - String oldStatus = task.getStatus(); + try (lockHandle) { + FileTaskEntity task = loadTaskForExecution(taskId); + if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { + return false; + } + if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { + log.warn("[product-risk] stale finalize skipped taskId={} status={} fromCompensation={}", + taskId, task.getStatus(), fromCompensation); + return true; + } + String oldStatus = task.getStatus(); - List resultRows = fileResultMapper.selectList(new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE) - .orderByAsc(FileResultEntity::getId)); - if (resultRows.isEmpty()) { - return false; - } + List resultRows = fileResultMapper.selectList(new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE) + .orderByAsc(FileResultEntity::getId)); + if (resultRows.isEmpty()) { + return false; + } - Map cachedPayloadByShop = productRiskTaskCacheService.getAllShopMergedPayload(taskId); - File workRoot = FileUtil.mkdir(FileUtil.file(System.getProperty("java.io.tmpdir"), "product-risk-result", String.valueOf(taskId))); - List batchErrors = new ArrayList<>(); - boolean changed = false; + Map cachedPayloadByShop = productRiskTaskCacheService.getAllShopMergedPayload(taskId); + File workRoot = FileUtil.mkdir(FileUtil.file(System.getProperty("java.io.tmpdir"), "product-risk-result", String.valueOf(taskId))); + List batchErrors = new ArrayList<>(); + boolean changed = false; for (FileResultEntity fr : resultRows) { boolean success = fr.getSuccess() != null && fr.getSuccess() == 1; @@ -754,18 +760,19 @@ public class ProductRiskTaskService { } } - if (!changed && cachedPayloadByShop.isEmpty()) { - return false; - } + if (!changed && cachedPayloadByShop.isEmpty()) { + return false; + } - List latest = fileResultMapper.selectList(new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE) - .orderByAsc(FileResultEntity::getId)); - updateTaskStatusFromLatestRows(task, latest, batchErrors); - log.warn("[product-risk] stale finalize status evaluated taskId={} oldStatus={} newStatus={} changed={} cachedPayloadCount={} fromCompensation={} batchErrors={}", - taskId, oldStatus, task.getStatus(), changed, cachedPayloadByShop.size(), fromCompensation, batchErrors); - return true; + List latest = fileResultMapper.selectList(new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE) + .orderByAsc(FileResultEntity::getId)); + updateTaskStatusFromLatestRows(task, latest, batchErrors); + log.warn("[product-risk] stale finalize status evaluated taskId={} oldStatus={} newStatus={} changed={} cachedPayloadCount={} fromCompensation={} batchErrors={}", + taskId, oldStatus, task.getStatus(), changed, cachedPayloadByShop.size(), fromCompensation, batchErrors); + return true; + } } private void markResultFailed(FileResultEntity fr, String message) { diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/queryasin/service/QueryAsinTaskCacheService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/queryasin/service/QueryAsinTaskCacheService.java index 45afebb..2f4a370 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/queryasin/service/QueryAsinTaskCacheService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/queryasin/service/QueryAsinTaskCacheService.java @@ -14,6 +14,7 @@ import java.time.Duration; import java.time.Instant; import java.util.ArrayList; import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -79,6 +80,41 @@ public class QueryAsinTaskCacheService { } } + public Map getTaskHeartbeatMillisBatch(List taskIds) { + Map result = new LinkedHashMap<>(); + if (taskIds == null || taskIds.isEmpty()) { + return result; + } + List normalized = taskIds.stream() + .filter(id -> id != null && id > 0) + .distinct() + .toList(); + if (normalized.isEmpty()) { + return result; + } + List keys = normalized.stream().map(this::buildTaskHeartbeatKey).toList(); + List values; + try { + values = stringRedisTemplate.opsForValue().multiGet(keys); + } catch (Exception ex) { + log.warn("[query-asin-cache] batch get heartbeat degraded taskIds={} msg={}", normalized, ex.getMessage()); + return result; + } + for (int i = 0; i < normalized.size(); i++) { + String raw = values != null && i < values.size() ? values.get(i) : null; + if (raw == null || raw.isBlank()) { + result.put(normalized.get(i), 0L); + continue; + } + try { + result.put(normalized.get(i), Long.parseLong(raw)); + } catch (NumberFormatException ignored) { + result.put(normalized.get(i), 0L); + } + } + return result; + } + public void touchTaskHeartbeat(Long taskId) { try { stringRedisTemplate.opsForValue().set( diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/queryasin/service/QueryAsinTaskService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/queryasin/service/QueryAsinTaskService.java index cac1068..0d9b0a8 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/queryasin/service/QueryAsinTaskService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/queryasin/service/QueryAsinTaskService.java @@ -328,6 +328,7 @@ public class QueryAsinTaskService { throw new BusinessException("shops 不能为空"); } + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId)) { FileTaskEntity task = loadTaskForExecution(taskId); if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { throw new BusinessException("任务不存在"); @@ -370,12 +371,19 @@ public class QueryAsinTaskService { fileTaskMapper.updateById(task); taskCacheService.saveTaskCache(task); tryFinalizeTask(taskId, false); + } } public boolean tryFinalizeTask(Long taskId, boolean fromCompensation) { if (taskId == null || taskId <= 0) { return false; } + TaskDistributedLockService.LockHandle lockHandle = acquireTaskLock(taskId); + if (lockHandle == null) { + log.info("[query-asin] tryFinalizeTask skipped because task lock is busy taskId={} fromCompensation={}", taskId, fromCompensation); + return false; + } + try (lockHandle) { FileTaskEntity task = loadTaskForExecution(taskId); if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { return false; @@ -446,6 +454,7 @@ public class QueryAsinTaskService { fileTaskMapper.updateById(task); taskCacheService.saveTaskCache(task); return changed; + } } @Transactional @@ -455,11 +464,13 @@ public class QueryAsinTaskService { if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || !userId.equals(task.getUserId())) { throw new BusinessException("任务不存在"); } + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId)) { fileResultMapper.delete(new LambdaQueryWrapper() .eq(FileResultEntity::getTaskId, taskId) .eq(FileResultEntity::getModuleType, MODULE_TYPE)); fileTaskMapper.deleteById(taskId); taskCacheService.deleteTaskCache(taskId); + } } @Transactional diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/shopmatch/service/ShopMatchTaskService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/shopmatch/service/ShopMatchTaskService.java index 4389880..926d493 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/shopmatch/service/ShopMatchTaskService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/shopmatch/service/ShopMatchTaskService.java @@ -275,11 +275,13 @@ public class ShopMatchTaskService { if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || !userId.equals(task.getUserId())) { throw new BusinessException("任务不存在"); } - fileResultMapper.delete(new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE)); - fileTaskMapper.deleteById(taskId); - shopMatchTaskCacheService.deleteTaskCache(taskId); + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId)) { + fileResultMapper.delete(new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE)); + fileTaskMapper.deleteById(taskId); + shopMatchTaskCacheService.deleteTaskCache(taskId); + } } private void reconcileTaskAfterResultRemoval(Long taskId) { @@ -452,42 +454,44 @@ public class ShopMatchTaskService { if (stageIndex == null || stageIndex < 0) { throw new BusinessException("stage_index 不合法"); } - FileTaskEntity task = loadTaskForExecution(taskId); - if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || !userId.equals(task.getUserId())) { - throw new BusinessException("任务不存在"); + try (TaskDistributedLockService.LockHandle ignored = acquireTaskLockOrThrow(taskId)) { + FileTaskEntity task = loadTaskForExecution(taskId); + if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || !userId.equals(task.getUserId())) { + throw new BusinessException("任务不存在"); + } + if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { + throw new BusinessException("任务状态不正确"); + } + if (!"SCHEDULED".equals(task.getStatus())) { + throw new BusinessException("任务状态不正确"); + } + LocalDateTime now = now(); + if (task.getScheduledAt() != null && now.isBefore(task.getScheduledAt().minusSeconds(90))) { + log.warn("[shop-match] activate rejected taskId={} stageIndex={} now={} scheduledAt={} earliestActivateAt={}", + taskId, stageIndex, now, task.getScheduledAt(), task.getScheduledAt().minusSeconds(90)); + throw new BusinessException("未到定时执行时间"); + } + ShopMatchCreateTaskRequest state = parseTaskRequest(task); + int currentStageIndex = state.getCurrentStageIndex() == null ? 0 : state.getCurrentStageIndex(); + if (currentStageIndex != stageIndex) { + throw new BusinessException("当前轮次已变化,请刷新后重试"); + } + if (state.getScheduleTimes() == null || stageIndex >= state.getScheduleTimes().size()) { + throw new BusinessException("轮次配置缺失"); + } + FileTaskEntity runningTask = findOtherRunningTask(userId, taskId); + if (runningTask != null) { + log.warn("[shop-match] activate serialized taskId={} stageIndex={} blockedByTaskId={} blockedUpdatedAt={}", + taskId, stageIndex, runningTask.getId(), runningTask.getUpdatedAt()); + throw new BusinessException("当前已有定时匹配任务执行中,请等待上一任务执行结束后再重试"); + } + state.setActiveStageIndex(stageIndex); + task.setStatus("RUNNING"); + task.setUpdatedAt(now); + persistTaskRequest(task, state); + updateTaskAndRefreshCache(task); + shopMatchTaskCacheService.touchTaskHeartbeat(taskId); } - if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { - throw new BusinessException("任务状态不正确"); - } - if (!"SCHEDULED".equals(task.getStatus())) { - throw new BusinessException("任务状态不正确"); - } - LocalDateTime now = now(); - if (task.getScheduledAt() != null && now.isBefore(task.getScheduledAt().minusSeconds(90))) { - log.warn("[shop-match] activate rejected taskId={} stageIndex={} now={} scheduledAt={} earliestActivateAt={}", - taskId, stageIndex, now, task.getScheduledAt(), task.getScheduledAt().minusSeconds(90)); - throw new BusinessException("未到定时执行时间"); - } - ShopMatchCreateTaskRequest state = parseTaskRequest(task); - int currentStageIndex = state.getCurrentStageIndex() == null ? 0 : state.getCurrentStageIndex(); - if (currentStageIndex != stageIndex) { - throw new BusinessException("当前轮次已变化,请刷新后重试"); - } - if (state.getScheduleTimes() == null || stageIndex >= state.getScheduleTimes().size()) { - throw new BusinessException("轮次配置缺失"); - } - FileTaskEntity runningTask = findOtherRunningTask(userId, taskId); - if (runningTask != null) { - log.warn("[shop-match] activate serialized taskId={} stageIndex={} blockedByTaskId={} blockedUpdatedAt={}", - taskId, stageIndex, runningTask.getId(), runningTask.getUpdatedAt()); - throw new BusinessException("当前已有定时匹配任务执行中,请等待上一任务执行结束后再重试"); - } - state.setActiveStageIndex(stageIndex); - task.setStatus("RUNNING"); - task.setUpdatedAt(now); - persistTaskRequest(task, state); - updateTaskAndRefreshCache(task); - shopMatchTaskCacheService.touchTaskHeartbeat(taskId); } @Transactional @@ -605,26 +609,32 @@ public class ShopMatchTaskService { if (taskId == null || taskId <= 0) { return false; } - FileTaskEntity task = loadTaskForExecution(taskId); - if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { + TaskDistributedLockService.LockHandle lockHandle = acquireTaskLock(taskId); + if (lockHandle == null) { + log.info("[shop-match] tryFinalizeTask skipped because task lock is busy taskId={} fromCompensation={}", taskId, fromCompensation); return false; } - if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { - return true; - } + try (lockHandle) { + FileTaskEntity task = loadTaskForExecution(taskId); + if (task == null || !MODULE_TYPE.equals(task.getModuleType())) { + return false; + } + if ("SUCCESS".equals(task.getStatus()) || "FAILED".equals(task.getStatus())) { + return true; + } - List resultRows = fileResultMapper.selectList(new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE) - .orderByAsc(FileResultEntity::getId)); - if (resultRows.isEmpty()) { - return false; - } + List resultRows = fileResultMapper.selectList(new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE) + .orderByAsc(FileResultEntity::getId)); + if (resultRows.isEmpty()) { + return false; + } - Map cachedPayloadByShop = shopMatchTaskCacheService.getAllShopMergedPayload(taskId); - File workRoot = FileUtil.mkdir(FileUtil.file(System.getProperty("java.io.tmpdir"), "shop-match-result", String.valueOf(taskId))); - List batchErrors = new ArrayList<>(); - boolean changed = false; + Map cachedPayloadByShop = shopMatchTaskCacheService.getAllShopMergedPayload(taskId); + File workRoot = FileUtil.mkdir(FileUtil.file(System.getProperty("java.io.tmpdir"), "shop-match-result", String.valueOf(taskId))); + List batchErrors = new ArrayList<>(); + boolean changed = false; for (FileResultEntity result : resultRows) { boolean success = result.getSuccess() != null && result.getSuccess() == 1; @@ -689,16 +699,17 @@ public class ShopMatchTaskService { } } - if (!changed && cachedPayloadByShop.isEmpty()) { - return false; - } + if (!changed && cachedPayloadByShop.isEmpty()) { + return false; + } - List latest = fileResultMapper.selectList(new LambdaQueryWrapper() - .eq(FileResultEntity::getTaskId, taskId) - .eq(FileResultEntity::getModuleType, MODULE_TYPE) - .orderByAsc(FileResultEntity::getId)); - updateTaskStatusFromLatestRows(task, latest, batchErrors); - return true; + List latest = fileResultMapper.selectList(new LambdaQueryWrapper() + .eq(FileResultEntity::getTaskId, taskId) + .eq(FileResultEntity::getModuleType, MODULE_TYPE) + .orderByAsc(FileResultEntity::getId)); + updateTaskStatusFromLatestRows(task, latest, batchErrors); + return true; + } } private void assembleShopResult(FileResultEntity result, String shopKey, ShopMatchShopPayloadDto payload, File workRoot) { diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java index 83be79d..65a64aa 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/similarasin/service/SimilarAsinTaskService.java @@ -316,6 +316,7 @@ public class SimilarAsinTaskService { @Transactional public void activateTask(Long taskId, Long userId) { + try (TaskDistributedLockService.LockHandle ignored = requireTaskLock(taskId, TASK_LOCK_WAIT_MILLIS)) { FileTaskEntity task = fileTaskMapper.selectById(taskId); if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || userId != null && !Objects.equals(userId, task.getUserId())) { throw new BusinessException("任务不存在"); @@ -327,6 +328,7 @@ public class SimilarAsinTaskService { task.setUpdatedAt(LocalDateTime.now()); fileTaskMapper.updateById(task); taskCacheService.touchTaskHeartbeat(taskId); + } } public SimilarAsinDashboardVo dashboard(Long userId) { @@ -546,6 +548,7 @@ public class SimilarAsinTaskService { @Transactional public void deleteTask(Long taskId, Long userId) { + try (TaskDistributedLockService.LockHandle ignored = requireTaskLock(taskId, TASK_LOCK_WAIT_MILLIS)) { FileTaskEntity task = fileTaskMapper.selectById(taskId); if (task == null || !MODULE_TYPE.equals(task.getModuleType()) || !Objects.equals(userId, task.getUserId())) { throw new BusinessException("任务不存在"); @@ -556,6 +559,7 @@ public class SimilarAsinTaskService { taskChunkMapper.delete(new LambdaQueryWrapper().eq(TaskChunkEntity::getTaskId, taskId).eq(TaskChunkEntity::getModuleType, MODULE_TYPE)); taskCacheService.deleteTaskCache(taskId); fileTaskMapper.deleteById(taskId); + } } public void deleteHistory(Long resultId, Long userId) { @@ -1568,6 +1572,14 @@ public class SimilarAsinTaskService { return lockHandle; } + private TaskDistributedLockService.LockHandle requireTaskLock(Long taskId, long waitMillis) { + TaskDistributedLockService.LockHandle lockHandle = acquireTaskLock(taskId, waitMillis); + if (lockHandle == null) { + throw new BusinessException(40902, "Task is busy, please retry later"); + } + return lockHandle; + } + private void completeCozeFileJob(FileTaskEntity task, FileResultEntity result, TaskFileJobEntity job, @@ -2279,6 +2291,7 @@ public class SimilarAsinTaskService { if (row == null || row.getTaskId() == null) { return; } + Long taskId = row.getTaskId(); if (Boolean.TRUE.equals(vo.getFileReady())) { vo.setFileProgressCurrent(1); vo.setFileProgressTotal(1); @@ -2286,8 +2299,29 @@ public class SimilarAsinTaskService { vo.setFileProgressMessage("结果文件已生成"); return; } - TaskProgressSnapshotEntity snapshot = taskProgressSnapshotService.find(row.getTaskId(), MODULE_TYPE); + int cozeCompleted = countCompletedCozeStates(taskId); + int cozePending = countPendingCozeStates(taskId); + if (job != null && STATUS_RUNNING.equals(job.getStatus()) && cozePending > 0) { + int total = Math.max(1, cozeCompleted + cozePending); + int current = Math.max(0, Math.min(cozeCompleted, total)); + vo.setFileProgressCurrent(current); + vo.setFileProgressTotal(total); + vo.setFileProgressPercent(Math.max(0, Math.min(100, (int) Math.floor(current * 100.0 / total)))); + vo.setFileProgressMessage("Coze 已完成 " + current + "/" + total + ",等待回流"); + return; + } + TaskProgressSnapshotEntity snapshot = taskProgressSnapshotService.find(taskId, MODULE_TYPE); if (snapshot == null) { + if (job != null && STATUS_RUNNING.equals(job.getStatus()) && cozeCompleted + cozePending > 0) { + int total = Math.max(1, cozeCompleted + cozePending); + int current = Math.max(0, Math.min(cozeCompleted, total)); + vo.setFileProgressCurrent(current); + vo.setFileProgressTotal(total); + vo.setFileProgressPercent(Math.max(0, Math.min(100, (int) Math.floor(current * 100.0 / total)))); + vo.setFileProgressMessage(cozePending > 0 + ? "Coze 已完成 " + current + "/" + total + ",等待回流" + : "Coze 处理中"); + } return; } int total = snapshot.getTotalCount() == null ? 0 : snapshot.getTotalCount(); @@ -2296,22 +2330,12 @@ public class SimilarAsinTaskService { return; } current = Math.max(0, Math.min(current, total)); - int percent = Math.max(1, Math.min(99, (int) Math.floor(current * 100.0 / total))); - if (job != null && STATUS_RUNNING.equals(job.getStatus())) { - LocalDateTime baseTime = snapshot.getUpdatedAt() != null ? snapshot.getUpdatedAt() : job.getUpdatedAt(); - long elapsedSeconds = baseTime == null ? 0 : Math.max(0, Duration.between(baseTime, LocalDateTime.now()).getSeconds()); - if (current <= 0) { - percent = Math.max(percent, Math.min(35, 8 + (int) (elapsedSeconds / 6))); - } else if (current < total) { - percent = Math.max(percent, Math.min(92, percent + (int) (elapsedSeconds / 10))); - } - } + int percent = Math.max(0, Math.min(100, (int) Math.floor(current * 100.0 / total))); vo.setFileProgressCurrent(current); vo.setFileProgressTotal(total); vo.setFileProgressPercent(percent); vo.setFileProgressMessage(snapshot.getMessage()); } - private String fmt(LocalDateTime t) { return t == null ? null : t.toString(); } diff --git a/backend-java/src/main/java/com/nanri/aiimage/modules/task/service/TransientPayloadStorageService.java b/backend-java/src/main/java/com/nanri/aiimage/modules/task/service/TransientPayloadStorageService.java index 032eec8..0e5de2e 100644 --- a/backend-java/src/main/java/com/nanri/aiimage/modules/task/service/TransientPayloadStorageService.java +++ b/backend-java/src/main/java/com/nanri/aiimage/modules/task/service/TransientPayloadStorageService.java @@ -13,8 +13,14 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.StandardOpenOption; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.util.Base64; import java.util.Locale; +import java.util.Objects; import java.util.UUID; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; @Service @RequiredArgsConstructor @@ -57,6 +63,10 @@ public class TransientPayloadStorageService { return store("task-parsed", moduleType, taskId, scopeHash, "latest", content, encodeAsJsonString, false); } + public String storeParsedPayloadEntry(String moduleType, Long taskId, String scopeHash, String entryKey, String content, boolean encodeAsJsonString) { + return store("task-parsed", moduleType, taskId, scopeHash, entryKey, content, encodeAsJsonString, false); + } + public String storeResultPayload(String moduleType, Long taskId, String scopeHash, String submissionId, String content) { return store("task-result-payload", moduleType, taskId, scopeHash, submissionId, content, true); } @@ -84,13 +94,13 @@ public class TransientPayloadStorageService { } try { if (pointer.startsWith(LOCAL_POINTER_PREFIX)) { - return readLocalPayload(pointer.substring(LOCAL_POINTER_PREFIX.length())); + return decodeStoredPayload(readLocalPayload(pointer.substring(LOCAL_POINTER_PREFIX.length()))); } if (pointer.startsWith(RUSTFS_POINTER_PREFIX)) { - return rustfsObjectStorageService.readObjectAsString(pointer.substring(RUSTFS_POINTER_PREFIX.length())); + return decodeStoredPayload(rustfsObjectStorageService.readObjectAsString(pointer.substring(RUSTFS_POINTER_PREFIX.length()))); } if (pointer.startsWith(OSS_POINTER_PREFIX)) { - return ossStorageService.readObjectAsString(pointer.substring(OSS_POINTER_PREFIX.length())); + return decodeStoredPayload(ossStorageService.readObjectAsString(pointer.substring(OSS_POINTER_PREFIX.length()))); } } catch (Exception ex) { throw new IllegalStateException(errorMessage + ": " + pointer, ex); @@ -175,10 +185,11 @@ public class TransientPayloadStorageService { return content; } String objectKey = buildObjectKey(category, moduleType, taskId, scopeHash, entryKey); + String storedContent = encodeStoredPayload(content); String pointer = null; if (rustfsObjectStorageService.isConfigured()) { try { - pointer = RUSTFS_POINTER_PREFIX + rustfsObjectStorageService.uploadText(objectKey, content, verifyAfterUpload); + pointer = RUSTFS_POINTER_PREFIX + rustfsObjectStorageService.uploadText(objectKey, storedContent, verifyAfterUpload); } catch (Exception ex) { log.warn("[transient-payload] rustfs upload failed objectKey={} err={}", objectKey, ex.getMessage()); @@ -186,7 +197,7 @@ public class TransientPayloadStorageService { } } if (pointer == null) { - pointer = storeLocal(objectKey, content); + pointer = storeLocal(objectKey, storedContent); } if (pointer == null) { return content; @@ -231,6 +242,36 @@ public class TransientPayloadStorageService { } } + private String encodeStoredPayload(String content) { + try { + byte[] raw = Objects.requireNonNullElse(content, "").getBytes(StandardCharsets.UTF_8); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + try (GZIPOutputStream gzip = new GZIPOutputStream(baos)) { + gzip.write(raw); + } + return "gzip64:" + Base64.getEncoder().encodeToString(baos.toByteArray()); + } catch (Exception ex) { + throw new IllegalStateException("failed to encode transient payload", ex); + } + } + + private String decodeStoredPayload(String storedContent) { + if (storedContent == null || storedContent.isBlank()) { + return storedContent; + } + if (!storedContent.startsWith("gzip64:")) { + return storedContent; + } + try { + byte[] compressed = Base64.getDecoder().decode(storedContent.substring("gzip64:".length())); + try (GZIPInputStream gzip = new GZIPInputStream(new ByteArrayInputStream(compressed))) { + return new String(gzip.readAllBytes(), StandardCharsets.UTF_8); + } + } catch (Exception ex) { + throw new IllegalStateException("failed to decode transient payload", ex); + } + } + private void deleteLocalPayload(String objectKey) { try { Files.deleteIfExists(resolveLocalPayloadPath(objectKey)); diff --git a/frontend-vue/src/pages/brand/components/BrandAppearancePatentTab.vue b/frontend-vue/src/pages/brand/components/BrandAppearancePatentTab.vue index 0533283..95533e9 100644 --- a/frontend-vue/src/pages/brand/components/BrandAppearancePatentTab.vue +++ b/frontend-vue/src/pages/brand/components/BrandAppearancePatentTab.vue @@ -28,11 +28,11 @@ - -

Python 回传字段按 asin、国家、url、标题提交;后端接收分片后按 10 条一批调用 Coze。

+

Python 回传字段按 asin、国家、url、标题提交;后端接收分片后按 10 条一批调用 Coze,结果区展示真实 Coze 批次进度。

任务 ID:{{ visibleTaskSummary.taskId }}
@@ -64,21 +64,6 @@
匹配任务
-
-
- 解析结果 - 显示首组 {{ previewRows.length }} 条 / 共 {{ parseResult?.groupCount || parsedGroups.length }} 组,{{ parsedRows.length }} 条 -
-
暂无解析结果
- - - - - - - -
-
当前任务 @@ -151,13 +136,13 @@ import { deleteAppearancePatentTask, getAppearancePatentDashboard, getAppearancePatentHistory, + getAppearancePatentQueuePayload, getAppearancePatentResultDownloadUrl, getAppearancePatentTaskProgressBatch, parseAppearancePatent, - type AppearancePatentParsedGroup, + type AppearancePatentParsedPayloadDto, type AppearancePatentDashboardVo, type AppearancePatentHistoryItem, - type AppearancePatentParsedRow, type AppearancePatentParseVo, type UploadedFileRef, type UploadFileVo, @@ -171,7 +156,6 @@ import { createCategorizedTimers } from '@/shared/utils/categorized-timers' const selectedFileNames = ref([]) const uploadedFiles = ref([]) const parseResult = ref(null) -const parsedGroups = ref([]) type TaskSummary = Pick const queuedTaskSummary = ref(null) const defaultAiPrompt = `请帮我排查以下亚马逊商品在英国及欧洲地区是否存在知识产权侵权风险。 @@ -202,12 +186,24 @@ const dashboard = ref({ }) const historyItems = ref([]) -const parsedRows = computed(() => - parsedGroups.value.flatMap((group) => group.items || []), -) -const previewRows = computed(() => parsedGroups.value[0]?.items || []) const visibleTaskSummary = computed(() => parseResult.value || queuedTaskSummary.value) -const currentItems = computed(() => historyItems.value.filter((i) => i.taskId != null && pollingTaskIds.value.includes(i.taskId))) +const pendingParseItem = computed(() => { + const result = parseResult.value + if (!result?.taskId) return null + const exists = historyItems.value.some((item) => item.taskId === result.taskId) + if (exists) return null + return { + taskId: result.taskId, + sourceFilename: result.sourceFilename, + rowCount: result.acceptedRows, + taskStatus: 'PENDING', + success: false, + } +}) +const currentItems = computed(() => { + const runningItems = historyItems.value.filter((i) => i.taskId != null && pollingTaskIds.value.includes(i.taskId)) + return pendingParseItem.value ? [pendingParseItem.value, ...runningItems] : runningItems +}) const historyOnlyItems = computed(() => historyItems.value.filter((i) => { const status = normalizeTaskStatus(i) @@ -309,7 +305,6 @@ async function selectFiles() { uploadedFiles.value = files selectedFileNames.value = files.map((f) => f.relativePath || f.originalFilename || f.fileKey) parseResult.value = null - parsedGroups.value = [] queuedTaskSummary.value = null queuePayloadText.value = '' } @@ -332,7 +327,6 @@ async function selectFolder() { uploadedFiles.value = files selectedFileNames.value = result.items.map((item) => item.relativePath || item.absolutePath) parseResult.value = null - parsedGroups.value = [] queuedTaskSummary.value = null queuePayloadText.value = '' ElMessage.success(`已选择文件夹内 ${result.items.length} 个 Excel 文件`) @@ -360,19 +354,6 @@ async function parseFiles() { const res = await parseAppearancePatent(files, effectiveAiPrompt(), effectiveCozeApiKey()) parseResult.value = res queuedTaskSummary.value = null - parsedGroups.value = res.groups?.length - ? res.groups - : (res.items?.length - ? [{ - sourceFileKey: res.items[0]?.sourceFileKey, - sourceFilename: res.items[0]?.sourceFilename, - groupKey: res.items[0]?.groupKey, - baseId: '', - displayId: res.items[0]?.displayId, - itemCount: res.items.length, - items: res.items, - }] - : []) queuePayloadText.value = '' ElMessage.success(`解析完成,共 ${res.groupCount || 0} 组 / ${res.acceptedRows} 条`) } catch (e) { @@ -386,7 +367,7 @@ async function pushToPythonQueue() { const api = getPywebviewApi() const currentParseResult = parseResult.value const taskId = currentParseResult?.taskId - if (!taskId || !parsedRows.value.length) { + if (!taskId) { ElMessage.warning('请先解析文件') return } @@ -400,14 +381,20 @@ async function pushToPythonQueue() { } pushing.value = true try { + const parsedPayload: AppearancePatentParsedPayloadDto = await getAppearancePatentQueuePayload(taskId) + const groups = parsedPayload.groups || [] const payload = { type: 'appearance-patent-run', ts: Date.now(), data: { taskId, - prompt: currentParseResult.aiPrompt || effectiveAiPrompt(), + prompt: parsedPayload.aiPrompt || currentParseResult.aiPrompt || effectiveAiPrompt(), api_key: effectiveCozeApiKey(), - groups: parsedGroups.value.map((group) => ({ + sourceFileCount: currentParseResult.sourceFileCount || 0, + totalRows: currentParseResult.totalRows || 0, + acceptedRows: currentParseResult.acceptedRows || 0, + groupCount: currentParseResult.groupCount || 0, + groups: groups.map((group) => ({ sourceFileKey: group.sourceFileKey || '', sourceFilename: group.sourceFilename || '', groupKey: group.groupKey || '', @@ -425,20 +412,9 @@ async function pushToPythonQueue() { title: row.title || '', })), })), - rows: parsedRows.value.map((row) => ({ - sourceFileKey: row.sourceFileKey || '', - sourceFilename: row.sourceFilename || '', - rowToken: row.rowToken || '', - groupKey: row.groupKey || '', - id: row.displayId, - asin: row.asin, - country: row.country, - url: row.url || '', - title: row.title || '', - })), }, } - queuePayloadText.value = JSON.stringify(payloadForDisplay(payload), null, 2) + queuePayloadText.value = `任务 ${taskId} 已准备推送,共 ${groups.length} 组` await activateAppearancePatentTask(taskId) const result = await api.enqueue_json(payload) if (!result?.success) { @@ -458,7 +434,6 @@ async function pushToPythonQueue() { function clearParsedTask() { parseResult.value = null - parsedGroups.value = [] queuePayloadText.value = '' } @@ -681,10 +656,10 @@ function pendingResultHint(item: AppearancePatentHistoryItem) { if (!isResultPreparing(item)) return '' const fileStatus = (item.fileStatus || '').toUpperCase() if (fileStatus === 'RUNNING') { - return '任务已完成,正在请求 Coze 或组装结果文件,下载按钮稍后出现' + return '任务已完成,正在等待 Coze 回流并组装结果文件,下载按钮稍后出现' } if (fileStatus === 'PENDING') { - return '任务已完成,结果文件已入队,正在等待后端生成' + return '任务已完成,结果文件已入队,正在等待后端开始处理' } return '任务已完成,正在生成结果文件,下载按钮稍后出现' } diff --git a/frontend-vue/src/pages/brand/components/BrandSimilarAsinTab.vue b/frontend-vue/src/pages/brand/components/BrandSimilarAsinTab.vue index 5cf6aa5..c88a7f4 100644 --- a/frontend-vue/src/pages/brand/components/BrandSimilarAsinTab.vue +++ b/frontend-vue/src/pages/brand/components/BrandSimilarAsinTab.vue @@ -52,7 +52,7 @@ {{ pushing ? '推送中...' : '推送到 Python 队列' }}
-

Python 回传字段按 id、asin、国家、价格、标题、图片链接数组提交;后端接收分片后按 10 条一批送检。

+

Python 回传字段按 id、asin、国家、价格、标题、图片链接数组提交;后端接收分片后按 10 条一批送检,结果区展示真实 Coze 批次进度。

任务 ID:{{ visibleTaskSummary.taskId }}
@@ -186,6 +186,7 @@ import { type SimilarAsinParseVo, type UploadedFileRef, type UploadFileVo, + uploadTempFileToJava, } from '@/shared/api/java-modules' import { expandBrandFolderRecursive, type BrandExpandFolderItem } from '@/shared/api/brand' import { getPywebviewApi } from '@/shared/bridges/pywebview' @@ -326,7 +327,7 @@ async function uploadAppearancePathsToJava(paths: Array>( + `${JAVA_API_PREFIX}/files/upload`, + formData, + { + headers: { + 'Content-Type': 'multipart/form-data', + }, + timeout: 120000, + }, + ) + return response.data +} + export interface DedupeResultItem { resultId?: number; sourceFilename: string; @@ -1452,6 +1471,7 @@ export interface AppearancePatentParsedRow { groupKey?: string; asin: string; country: string; + price?: string; url?: string; title?: string; } @@ -1479,6 +1499,16 @@ export interface AppearancePatentParseVo { groups?: AppearancePatentParsedGroup[]; } +export interface AppearancePatentParsedPayloadDto { + aiPrompt?: string; + apiKey?: string; + sourceFiles?: UploadedFileRef[]; + headers?: string[]; + items?: AppearancePatentParsedRow[]; + groups?: AppearancePatentParsedGroup[]; + allItems?: AppearancePatentParsedRow[]; +} + export interface AppearancePatentDashboardVo { pendingTaskCount: number; processedTaskCount: number; @@ -1545,6 +1575,24 @@ export function parseAppearancePatent(files: UploadedFileRef[], aiPrompt: string ); } +export function getAppearancePatentParsedPayload(taskId: number) { + return unwrapJavaResponse( + get>( + `${JAVA_API_PREFIX}/appearance-patent/tasks/${taskId}/parsed-payload`, + { params: { user_id: getCurrentUserId() } }, + ), + ); +} + +export function getAppearancePatentQueuePayload(taskId: number) { + return unwrapJavaResponse( + get>( + `${JAVA_API_PREFIX}/appearance-patent/tasks/${taskId}/queue-payload`, + { params: { user_id: getCurrentUserId() } }, + ), + ); +} + export function getAppearancePatentDashboard() { return unwrapJavaResponse( get>( diff --git a/new_web_source/appearance-patent.html b/new_web_source/appearance-patent.html index 1b11e12..e6aca8c 100644 --- a/new_web_source/appearance-patent.html +++ b/new_web_source/appearance-patent.html @@ -5,12 +5,11 @@ 外观专利检测 - - + + - - - + +
diff --git a/new_web_source/assets/appearance-patent-D7zGgGOj.css b/new_web_source/assets/appearance-patent-D7zGgGOj.css new file mode 100644 index 0000000..2cd26b0 --- /dev/null +++ b/new_web_source/assets/appearance-patent-D7zGgGOj.css @@ -0,0 +1 @@ +.module-page[data-v-47ec8477]{min-height:100vh;background:#1a1a1a}.main-content[data-v-47ec8477]{display:flex;height:calc(100vh - 56px);min-height:calc(100vh - 56px)}.left-panel[data-v-47ec8477]{width:400px;background:#1e1e1e;padding:20px;overflow-y:auto;border-right:1px solid #2a2a2a}.right-panel[data-v-47ec8477]{flex:1;min-width:0;background:#1a1a1a;display:flex;flex-direction:column}.section-title[data-v-47ec8477],.subsection-title[data-v-47ec8477]{font-size:13px;color:#bbb;margin-bottom:10px}.upload-zone[data-v-47ec8477]{border:1px dashed #3a3a3a;border-radius:10px;padding:18px;background:#252525;margin-bottom:18px}.hint[data-v-47ec8477],.loading-msg[data-v-47ec8477],.files[data-v-47ec8477],.muted[data-v-47ec8477]{color:#888;font-size:12px;line-height:1.5}.link[data-v-47ec8477]{color:#6ea8fe;text-decoration:none}.link[data-v-47ec8477]:hover{color:#9fc5ff}.btns[data-v-47ec8477],.run-row[data-v-47ec8477]{display:flex;gap:10px;flex-wrap:wrap}.opt-btn[data-v-47ec8477],.btn-run[data-v-47ec8477],.btn-delete[data-v-47ec8477],.download[data-v-47ec8477]{border:none;cursor:pointer;border-radius:7px}.opt-btn[data-v-47ec8477]{padding:8px 14px;color:#ccc;background:#2a2a2a;border:1px solid #3a3a3a}.btn-run[data-v-47ec8477]{padding:10px 18px;color:#fff;background:#3498db;font-weight:600}.btn-queue[data-v-47ec8477]{background:#27ae60}.btn-run[data-v-47ec8477]:disabled{opacity:.55;cursor:not-allowed}.selected-files[data-v-47ec8477]{margin-top:14px;color:#999;font-size:12px;word-break:break-all}.selected-files span[data-v-47ec8477]{display:block;margin:4px 0}.prompt-card[data-v-47ec8477],.secret-card[data-v-47ec8477]{margin-bottom:18px}.secret-card[data-v-47ec8477]{display:none}.prompt-input[data-v-47ec8477]{width:100%;box-sizing:border-box;resize:vertical;min-height:180px;padding:10px 12px;border:1px solid #333;border-radius:8px;background:#202020;color:#d8d8d8;font-size:12px;line-height:1.6;outline:none}.secret-input[data-v-47ec8477]{width:100%;box-sizing:border-box;height:38px;padding:0 12px;border:1px solid #333;border-radius:8px;background:#202020;color:#d8d8d8;font-size:12px;outline:none}.prompt-input[data-v-47ec8477]:focus,.secret-input[data-v-47ec8477]:focus{border-color:#3498db}.prompt-default-label[data-v-47ec8477]{margin-top:10px;color:#8d8d8d;font-size:12px}.prompt-preview[data-v-47ec8477]{margin-top:10px;padding:12px;border:1px solid #2a2a2a;border-radius:8px;background:#202020;color:#9ea7b3;font-size:12px;line-height:1.6;white-space:pre-wrap}.parse-card[data-v-47ec8477],.queue-payload[data-v-47ec8477]{margin-top:14px;padding:12px;border:1px solid #2a2a2a;border-radius:8px;background:#202020;color:#b8c1cc;font-size:12px}.queue-payload[data-v-47ec8477]{max-height:220px;overflow:auto;color:#8fd3ff;white-space:pre-wrap}.panel-header[data-v-47ec8477]{padding:16px 20px;border-bottom:1px solid #2a2a2a;font-size:15px;font-weight:600;color:#ddd}.task-list-wrap[data-v-47ec8477]{flex:1;padding:16px 20px;overflow:auto}.clean-result-summary[data-v-47ec8477]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.summary-card[data-v-47ec8477]{padding:14px 16px;border:1px solid #2a2a2a;border-radius:8px;background:#1e1e1e}.summary-card strong[data-v-47ec8477]{display:block;margin-top:8px;color:#eaf4ff;font-size:22px}.summary-label[data-v-47ec8477]{color:#8d8d8d;font-size:12px}.result-list-wrap[data-v-47ec8477]{border:1px solid #2a2a2a;border-radius:8px;background:#1e1e1e;min-height:180px;margin:0 0 16px}.result-list-header[data-v-47ec8477]{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #2a2a2a;color:#ddd;font-size:14px}.empty-tasks[data-v-47ec8477]{color:#666;font-size:13px;padding:18px;text-align:center}.result-table[data-v-47ec8477]{--el-table-bg-color: #222;--el-table-tr-bg-color: #222;--el-table-header-bg-color: #2a2a2a;--el-table-text-color: #ccc;--el-table-border-color: #333}.task-list[data-v-47ec8477]{list-style:none;margin:0;padding:12px}.task-item[data-v-47ec8477]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #2a2a2a;border-radius:8px;margin-bottom:8px;background:#222}.left[data-v-47ec8477]{flex:1;min-width:0}.id[data-v-47ec8477]{color:#e0e0e0;font-size:13px;font-weight:600}.task-right[data-v-47ec8477]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status[data-v-47ec8477]{padding:4px 10px;border-radius:6px;font-size:12px}.status.success[data-v-47ec8477]{background:#2ecc712e;color:#2ecc71}.status.failed[data-v-47ec8477]{background:#e74c3c2e;color:#ff6b6b}.status.running[data-v-47ec8477]{background:#3498db2e;color:#3498db}.status.pending[data-v-47ec8477]{background:#95a5a62e;color:#bdc3c7}.result-hint[data-v-47ec8477]{margin-top:6px;color:#e0b96d}.file-progress[data-v-47ec8477]{margin-top:8px;max-width:520px}.file-progress-meta[data-v-47ec8477]{display:flex;justify-content:space-between;gap:12px;color:#d8c278;font-size:12px}.file-progress-track[data-v-47ec8477]{margin-top:5px;height:8px;border-radius:999px;overflow:hidden;background:#303030;border:1px solid #3b3b3b}.file-progress-bar[data-v-47ec8477]{height:100%;border-radius:inherit;background:linear-gradient(90deg,#4aa3ff,#f0c75e);transition:width .25s ease}.file-progress-count[data-v-47ec8477]{margin-top:4px;color:#858585;font-size:11px}.download[data-v-47ec8477]{padding:6px 10px;color:#d6ecff;background:#3498db2e}.btn-delete[data-v-47ec8477]{padding:6px 10px;color:#ff8f8f;background:#e74c3c1f}@media(max-width:1100px){.main-content[data-v-47ec8477]{flex-direction:column;height:auto}.left-panel[data-v-47ec8477]{width:100%;border-right:none;border-bottom:1px solid #2a2a2a}.clean-result-summary[data-v-47ec8477]{grid-template-columns:repeat(2,minmax(0,1fr))}} diff --git a/new_web_source/assets/appearance-patent.js b/new_web_source/assets/appearance-patent.js new file mode 100644 index 0000000..f41deb7 --- /dev/null +++ b/new_web_source/assets/appearance-patent.js @@ -0,0 +1,6 @@ +import{d as Ee,o as Ae,L as Ne,a as u,c as i,b as Re,B as Ue,e as a,F as V,r as J,t as l,w as De,G as xe,f as k,N as Ke,n as $e,g,h as X,i as U,E as c,V as Be,W as Le,X as He,U as oe,Y as Me,Z as ze,$ as Ge,a0 as qe,a1 as je,a2 as Oe,a3 as Ve,_ as Je,q as Xe,s as Ye}from"./pywebview-CcblbV5J.js";import{e as Qe}from"./brand-CEi7uRFN.js";import{c as We}from"./categorized-timers-JPA-olTr.js";const Ze={class:"page-shell module-page"},es={class:"main-content"},ss={class:"left-panel"},ts={class:"upload-zone"},as={class:"selected-files"},ns={key:0},ls={class:"prompt-card"},rs={class:"run-row"},os=["disabled"],us=["disabled"],is={key:0,class:"parse-card"},cs={key:1,class:"queue-payload"},ds={class:"right-panel"},fs={class:"task-list-wrap"},ps={class:"clean-result-summary"},vs={class:"summary-card"},gs={class:"summary-card"},ys={class:"summary-card"},_s={class:"summary-card"},hs={class:"result-list-wrap"},ks={key:0,class:"empty-tasks"},ms={key:1,class:"task-list clean-result-list"},Is={class:"left"},ws={class:"id"},Ss={class:"files"},Ps={class:"files"},Cs={class:"task-right"},bs={class:"status running"},Ts=["onClick"],Fs={class:"result-list-wrap"},Es={key:0,class:"empty-tasks"},As={key:1,class:"task-list clean-result-list"},Ns={class:"left"},Rs={class:"id"},Us={class:"files"},Ds={key:0,class:"files"},xs={key:1,class:"files result-hint"},Ks={key:2,class:"file-progress"},$s={class:"file-progress-meta"},Bs={class:"file-progress-track"},Ls={class:"file-progress-count"},Hs={key:3,class:"files"},Ms={class:"task-right"},zs=["onClick"],Gs=["onClick"],ue=`请帮我排查以下亚马逊商品在英国及欧洲地区是否存在知识产权侵权风险。 +请直接给出明确结论(有侵权风险 或 未发现明显侵权风险),并严格按照以下三个维度提供精简的排查理由: +外观维度: 评估产品外形、图案设计是否与欧洲/英国常见外观专利雷同。 +专利维度: 评估产品的核心技术或物理结构是否存在侵权可能。 +标题维度: 排查标题中是否包含大牌商标、敏感词或版权保护词汇。 +结论:XX`,qs=3e3,js=Ee({__name:"BrandAppearancePatentTab",setup(Vs){const D=g([]),P=g([]),m=g(null),C=g(null),M=g(""),x=g(!1),K=g(!1),I=g(""),p=g([]),o=g([]),y=g(null),z=g(!1);let b=null,Y=0,T=!1;const F=We("appearance-patent"),E=g({pendingTaskCount:0,processedTaskCount:0,successTaskCount:0,failedTaskCount:0}),_=g([]),w=X(()=>m.value||C.value),Q=X(()=>_.value.filter(e=>e.taskId!=null&&p.value.includes(e.taskId))),W=X(()=>_.value.filter(e=>{const s=H(e);return s!=="RUNNING"&&s!=="PENDING"}));function Z(){return M.value.trim()||ue}function $(){return Oe("appearance-patent").trim()}function ie(e){return e?e.length<=10?"***":`${e.slice(0,6)}***${e.slice(-4)}`:""}function ce(e){return{...e,data:e.data?{...e.data,api_key:ie(String(e.data.api_key||""))}:e.data}}function de(){return typeof window<"u"&&window.localStorage.getItem("uid")||"0"}function G(){return`appearance-patent:tasks:${de()}`}function fe(e){return{taskId:e.taskId,totalRows:e.totalRows,acceptedRows:e.acceptedRows,groupCount:e.groupCount,droppedRows:e.droppedRows}}function S(){if(typeof window>"u")return;const e=Array.from(new Set([...p.value,...o.value]));e.length?window.localStorage.setItem(G(),JSON.stringify(e)):window.localStorage.removeItem(G())}function pe(){if(!(typeof window>"u"))try{const e=window.localStorage.getItem(G()),s=e?JSON.parse(e):[];p.value=Array.isArray(s)?s.filter(t=>typeof t=="number"&&t>0):[]}catch{p.value=[]}}async function ee(e){const s=U();if(!s?.upload_file_to_java)throw new Error("当前桌面端未提供文件上传能力");const t=[];for(const n of e){const r=typeof n=="string"?n:n.absolutePath,f=typeof n=="string"?void 0:n.relativePath,v=await s.upload_file_to_java(r,f);if(!v?.success||!v.data)throw new Error(v?.error||v?.message||`上传失败:${r}`);t.push(v.data)}return t}async function ve(){const e=U();if(!e?.select_brand_xlsx_files||!e.upload_file_to_java){c.warning("当前环境不支持文件选择或上传");return}const s=await e.select_brand_xlsx_files();if(!s?.length)return;const t=await ee(s);P.value=t,D.value=t.map(n=>n.relativePath||n.originalFilename||n.fileKey),m.value=null,C.value=null,I.value=""}async function ge(){const e=U();if(!e?.select_brand_folder){c.warning("当前环境不支持文件夹选择,请在本地客户端中打开");return}try{const s=await e.select_brand_folder();if(!s)return;const t=await Qe(s);if(!t.success||!t.items?.length){c.warning(t.error||"该文件夹下没有可用的 xlsx 文件");return}const n=await ee(t.items);P.value=n,D.value=t.items.map(r=>r.relativePath||r.absolutePath),m.value=null,C.value=null,I.value="",c.success(`已选择文件夹内 ${t.items.length} 个 Excel 文件`)}catch(s){c.error(s instanceof Error?s.message:"选择失败")}}async function ye(){if(!P.value.length){c.warning("请先选择 Excel");return}if(!$()){c.warning("请先在左上角设置中填写外观专利密钥");return}x.value=!0;try{const e=P.value.map(t=>({fileKey:t.fileKey,originalFilename:t.originalFilename,relativePath:t.relativePath})),s=await Be(e,Z(),$());m.value=s,C.value=null,I.value="",c.success(`解析完成,共 ${s.groupCount||0} 组 / ${s.acceptedRows} 条`)}catch(e){c.error(e instanceof Error?e.message:"解析失败")}finally{x.value=!1}}async function _e(){const e=U(),s=m.value,t=s?.taskId;if(!t){c.warning("请先解析文件");return}if(!e?.enqueue_json){c.error("当前环境未启用 pywebview enqueue_json");return}if(!$()){c.warning("请先在左上角设置中填写外观专利密钥");return}K.value=!0;try{const n=await Le(t),r=n.groups||[],f=n.allItems||n.items||r.flatMap(d=>d.items||[]),v={type:"appearance-patent-run",ts:Date.now(),data:{taskId:t,prompt:n.aiPrompt||s.aiPrompt||Z(),api_key:$(),groups:r.map(d=>({sourceFileKey:d.sourceFileKey||"",sourceFilename:d.sourceFilename||"",groupKey:d.groupKey||"",baseId:d.baseId||"",displayId:d.displayId||"",items:(d.items||[]).map(h=>({sourceFileKey:h.sourceFileKey||"",sourceFilename:h.sourceFilename||"",rowToken:h.rowToken||"",groupKey:h.groupKey||"",id:h.displayId,asin:h.asin,country:h.country,url:h.url||"",title:h.title||""}))})),rows:f.map(d=>({sourceFileKey:d.sourceFileKey||"",sourceFilename:d.sourceFilename||"",rowToken:d.rowToken||"",groupKey:d.groupKey||"",id:d.displayId,asin:d.asin,country:d.country,url:d.url||"",title:d.title||""}))}};I.value=JSON.stringify(ce(v),null,2),await He(t);const R=await e.enqueue_json(v);if(!R?.success){c.error(R?.error||"推送失败");return}C.value=fe(s),ke(t),he(),await B(),await L({force:!0}),c.success("已推送到 Python 队列")}finally{K.value=!1}}function he(){m.value=null,I.value=""}function ke(e){p.value.includes(e)||(p.value=[...p.value,e],S()),A()}function q(e){p.value=p.value.filter(s=>s!==e),S()}function me(e){o.value.includes(e)||(o.value=[...o.value,e],S()),A()}function j(e){o.value=o.value.filter(s=>s!==e),S()}function A(){T||y.value==null&&Ie(!0)}function se(){y.value!=null&&(F.clearTimer("task-poll",y.value),y.value=null)}function Ie(e=!1){if(T)return;if(y.value!=null){if(!e)return;F.clearTimer("task-poll",y.value),y.value=null}const s=async()=>{y.value=null,!T&&(!p.value.length&&!o.value.length||(await we(),!T&&y.value==null&&(p.value.length||o.value.length)&&(y.value=F.setTimeout("task-poll",s,oe()))))};e?s():y.value=F.setTimeout("task-poll",s,oe())}async function we(){if(z.value||!p.value.length&&!o.value.length){!p.value.length&&!o.value.length&&se();return}z.value=!0;try{let e=!1,s=!1;const t=Array.from(new Set([...p.value,...o.value]));if(t.length){const n=await Ve(t,{force:o.value.length>0});for(const r of n.items||[]){const f=r.task;if(!f?.id)continue;const v=r.items?.[0];if(v&&Se(v),(f.status==="SUCCESS"||f.status==="FAILED")&&(q(f.id),e=!0,f.status==="SUCCESS"?me(f.id):j(f.id)),v&&f.status==="SUCCESS"&&o.value.includes(f.id)){const R=(v.fileStatus||"").toUpperCase();(v.fileReady||R==="SUCCESS"||R==="FAILED")&&(j(f.id),e=!0,s=!0)}}n.missingTaskIds?.length&&(n.missingTaskIds.forEach(r=>{q(r),j(r)}),s=!0,e=!0)}e&&await B(),s&&await L(),Pe()}finally{z.value=!1}}function Se(e){if(!e.taskId&&!e.resultId)return;const s=_.value.findIndex(t=>e.resultId!=null&&t.resultId===e.resultId||e.taskId!=null&&t.taskId===e.taskId);s>=0?_.value[s]={..._.value[s],...e}:_.value=[e,..._.value]}function Pe(){if(!o.value.length)return;const e=[];for(const s of o.value){const t=_.value.find(f=>f.taskId===s);if(!t){e.push(s);continue}const n=(t.taskStatus||"").toUpperCase(),r=(t.fileStatus||"").toUpperCase();n==="FAILED"||t.fileReady||r==="SUCCESS"||r==="FAILED"||n==="SUCCESS"&&e.push(s)}o.value=e,S(),o.value.length&&A()}function Ce(){const e=_.value.filter(s=>s.taskId!=null&&N(s)).map(s=>s.taskId);o.value=Array.from(new Set(e)),S(),o.value.length&&A()}async function B(){E.value=await Me()}async function L(e={}){const s=Date.now();if(!(!e.force&&_.value.length&&s-Y{_.value=t.items||[],Y=Date.now()}).finally(()=>{b=null}),b)}function te(e){const s=H(e);return s==="RUNNING"?"执行中":s==="PENDING"?"已解析待推送":N(e)?"结果生成中":O(e)?"结果生成失败":s==="SUCCESS"||e.success?"已完成":s==="FAILED"?"失败":"等待中"}function be(e){const s=H(e);return s==="RUNNING"||N(e)?"running":O(e)||s==="FAILED"?"failed":s==="SUCCESS"||e.success?"success":"pending"}function N(e){const s=H(e),t=(e.fileStatus||"").toUpperCase();return!(s!=="SUCCESS"||ne(e)||t==="FAILED"||t==="SUCCESS")}function H(e){return(e.taskStatus||"").toUpperCase()}function O(e){return(e.fileStatus||"").toUpperCase()==="FAILED"}function ae(e){if(O(e))return e.fileError||"结果文件生成失败,请稍后重试或检查后端日志";if(!N(e))return"";const s=(e.fileStatus||"").toUpperCase();return s==="RUNNING"?"任务已完成,正在等待 Coze 回流并组装结果文件,下载按钮稍后出现":s==="PENDING"?"任务已完成,结果文件已入队,正在等待后端开始处理":"任务已完成,正在生成结果文件,下载按钮稍后出现"}function ne(e){return!!(e.resultId&&(e.fileReady||e.downloadUrl))}function le(e){const s=Number(e.fileProgressPercent||0);return Number.isFinite(s)?Math.max(0,Math.min(100,Math.round(s))):0}function Te(e){return N(e)&&(e.fileProgressTotal||0)>0}async function Fe(e){if(!e.resultId)return;const s=U();if(!s?.save_file_from_url_new){c.error("当前客户端未提供下载能力");return}const t=e.downloadUrl||Ge(e.resultId),n=e.resultFilename||`${e.sourceFilename||"appearance-patent"}.xlsx`,r=await s.save_file_from_url_new(t,n);r.success?c.success(`已保存: ${r.path||n}`):r.error&&r.error!=="用户取消"&&c.error(r.error)}async function re(e){try{e.taskStatus==="RUNNING"&&e.taskId?(await qe(e.taskId),q(e.taskId)):e.resultId&&await je(e.resultId),await B(),await L({force:!0}),c.success("已删除")}catch(s){c.error(s instanceof Error?s.message:"删除失败")}}return Ae(async()=>{pe(),await Promise.all([B().catch(()=>{}),L().catch(()=>{})]),Ce(),(p.value.length||o.value.length)&&A()}),Ne(()=>{T=!0,se(),F.clearScope()}),(e,s)=>(u(),i("div",Ze,[Re(Ue,{active:"appearance-patent"}),a("div",es,[a("aside",ss,[s[4]||(s[4]=a("div",{class:"section-title"},"上传文件",-1)),a("div",ts,[s[1]||(s[1]=a("div",{class:"hint"},"选择 Excel 后点击解析,后端会提取 id、ASIN、国家,并保留整数 id 与子数据的第一条。",-1)),a("div",{class:"btns"},[a("button",{type:"button",class:"opt-btn",onClick:ve},"选择 Excel"),a("button",{type:"button",class:"opt-btn",onClick:ge},"选择文件夹")]),a("div",as,[D.value.length?(u(!0),i(V,{key:1},J(D.value,t=>(u(),i("span",{key:t},l(t),1))),128)):(u(),i("span",ns,"暂未选择文件"))])]),a("div",ls,[s[2]||(s[2]=a("div",{class:"section-title"},"AI 提示词",-1)),De(a("textarea",{"onUpdate:modelValue":s[0]||(s[0]=t=>M.value=t),class:"prompt-input",rows:"8",placeholder:"可选,留空时使用下方默认提示词"},null,512),[[xe,M.value]]),s[3]||(s[3]=a("div",{class:"prompt-default-label"},"留空时默认使用以下提示词",-1)),a("div",{class:"prompt-preview"},l(ue))]),a("div",rs,[a("button",{type:"button",class:"btn-run",disabled:x.value||!P.value.length,onClick:ye},l(x.value?"解析中...":"解析并创建任务"),9,os),a("button",{type:"button",class:"btn-run btn-queue",disabled:K.value||!m.value?.taskId,onClick:_e},l(K.value?"推送中...":"推送到 Python 队列"),9,us)]),s[5]||(s[5]=a("p",{class:"loading-msg"},"Python 回传字段按 asin、国家、url、标题提交;后端接收分片后按 10 条一批调用 Coze,结果区展示真实 Coze 批次进度。",-1)),w.value?(u(),i("div",is,[a("div",null,"任务 ID:"+l(w.value.taskId),1),a("div",null,"总行数:"+l(w.value.totalRows)+",有效:"+l(w.value.acceptedRows)+",分组:"+l(w.value.groupCount||0)+",过滤:"+l(w.value.droppedRows),1)])):k("",!0),I.value?(u(),i("pre",cs,l(I.value),1)):k("",!0)]),a("section",ds,[s[13]||(s[13]=a("div",{class:"panel-header"},"外观专利检测",-1)),a("div",fs,[a("div",ps,[a("div",vs,[s[6]||(s[6]=a("span",{class:"summary-label"},"运行中任务",-1)),a("strong",null,l(E.value.pendingTaskCount),1)]),a("div",gs,[s[7]||(s[7]=a("span",{class:"summary-label"},"已结束任务",-1)),a("strong",null,l(E.value.processedTaskCount),1)]),a("div",ys,[s[8]||(s[8]=a("span",{class:"summary-label"},"成功任务",-1)),a("strong",null,l(E.value.successTaskCount),1)]),a("div",_s,[s[9]||(s[9]=a("span",{class:"summary-label"},"失败任务",-1)),a("strong",null,l(E.value.failedTaskCount),1)])]),s[12]||(s[12]=a("div",{class:"subsection-title"},"匹配任务",-1)),a("div",hs,[s[10]||(s[10]=a("div",{class:"result-list-header"},[a("span",null,"当前任务")],-1)),Q.value.length?(u(),i("ul",ms,[(u(!0),i(V,null,J(Q.value,t=>(u(),i("li",{key:`cur-${t.taskId}`,class:"task-item"},[a("div",Is,[a("span",ws,l(t.sourceFilename||"外观专利检测"),1),a("div",Ss,"任务 ID:"+l(t.taskId),1),a("div",Ps,"行数:"+l(t.rowCount??"-"),1)]),a("div",Cs,[a("span",bs,l(te(t)),1),a("button",{type:"button",class:"btn-delete",onClick:n=>re(t)},"删除",8,Ts)])]))),128))])):(u(),i("div",ks,"暂无当前任务"))]),a("div",Fs,[s[11]||(s[11]=a("div",{class:"result-list-header"},[a("span",null,"历史记录")],-1)),W.value.length?(u(),i("ul",As,[(u(!0),i(V,null,J(W.value,t=>(u(),i("li",{key:`his-${t.resultId}-${t.taskId}`,class:"task-item"},[a("div",Ns,[a("span",Rs,l(t.sourceFilename||"外观专利检测"),1),a("div",Us,"任务 ID:"+l(t.taskId??"-"),1),t.resultFilename?(u(),i("div",Ds,l(t.resultFilename||"下载结果"),1)):k("",!0),ae(t)?(u(),i("div",xs,l(ae(t)),1)):k("",!0),Te(t)?(u(),i("div",Ks,[a("div",$s,[a("span",null,l(t.fileProgressMessage||"结果生成中"),1),a("span",null,l(le(t))+"%",1)]),a("div",Bs,[a("div",{class:"file-progress-bar",style:Ke({width:`${le(t)}%`})},null,4)]),a("div",Ls,l(t.fileProgressCurrent||0)+"/"+l(t.fileProgressTotal||0),1)])):k("",!0),t.error?(u(),i("div",Hs,"错误:"+l(t.error),1)):k("",!0)]),a("div",Ms,[a("span",{class:$e(["status",be(t)])},l(te(t)),3),ne(t)?(u(),i("button",{key:0,type:"button",class:"download",onClick:n=>Fe(t)},"下载",8,zs)):k("",!0),t.resultId?(u(),i("button",{key:1,type:"button",class:"btn-delete",onClick:n=>re(t)},"删除",8,Gs)):k("",!0)])]))),128))])):(u(),i("div",Es,"暂无历史记录"))])])])])]))}}),Os=Je(js,[["__scopeId","data-v-47ec8477"]]);Xe(Os).use(Ye).mount("#app"); diff --git a/new_web_source/assets/brand-CEi7uRFN.js b/new_web_source/assets/brand-CEi7uRFN.js new file mode 100644 index 0000000..e33d23c --- /dev/null +++ b/new_web_source/assets/brand-CEi7uRFN.js @@ -0,0 +1 @@ +import{bb as r}from"./pywebview-CcblbV5J.js";const n="";function s(e){return r(`${n}/api/brand/expand-folder-recursive`,{folder:e})}export{s as e}; diff --git a/new_web_source/assets/categorized-timers-JPA-olTr.js b/new_web_source/assets/categorized-timers-JPA-olTr.js new file mode 100644 index 0000000..63afccb --- /dev/null +++ b/new_web_source/assets/categorized-timers-JPA-olTr.js @@ -0,0 +1 @@ +const r=new Map;function c(n){let t=r.get(n);return t||(t=new Map,r.set(n,t)),t}function u(n,t){const e=r.get(n);e&&(e.delete(t),e.size||r.delete(n))}function l(n,t,e){const i=window.setTimeout(()=>{u(n,i),t()},e);return c(n).set(i,{id:i,kind:"timeout",category:n}),i}function a(n,t,e){const i=window.setInterval(t,e);return c(n).set(i,{id:i,kind:"interval",category:n}),i}function f(n,t){if(t==null)return;const i=r.get(n)?.get(t);i?.kind==="interval"?window.clearInterval(t):window.clearTimeout(t),i?.cancel?.(),u(n,t)}function s(n){const t=r.get(n);if(t){for(const e of t.values())e.kind==="interval"?window.clearInterval(e.id):window.clearTimeout(e.id),e.cancel?.();r.delete(n)}}function d(n,t){return new Promise(e=>{const i=window.setTimeout(()=>{u(n,i),e()},t);c(n).set(i,{id:i,kind:"timeout",category:n,cancel:e})})}function m(n){const t=`${n}:`;for(const e of Array.from(r.keys()))(e===n||e.startsWith(t))&&s(e)}function w(n){const t=e=>`${n}:${e}`;return{setTimeout(e,i,o){return l(t(e),i,o)},setInterval(e,i,o){return a(t(e),i,o)},clearTimer(e,i){f(t(e),i)},clearCategory(e){s(t(e))},clearScope(){m(n)},sleep(e,i){return d(t(e),i)}}}export{w as c}; diff --git a/new_web_source/assets/convert-BKSNvX8i.css b/new_web_source/assets/convert-BKSNvX8i.css new file mode 100644 index 0000000..b9d860f --- /dev/null +++ b/new_web_source/assets/convert-BKSNvX8i.css @@ -0,0 +1 @@ +.module-page[data-v-0e58908e]{min-height:100vh;background:#1a1a1a}.main-content[data-v-0e58908e]{display:flex;min-height:calc(100vh - 56px);height:calc(100vh - 56px)}.left-panel[data-v-0e58908e]{width:380px;background:#1e1e1e;padding:20px;overflow-y:auto;border-right:1px solid #2a2a2a}.right-panel[data-v-0e58908e]{flex:1;display:flex;flex-direction:column;min-width:0;background:#1a1a1a}.section-title[data-v-0e58908e]{font-size:13px;color:#bbb;margin-bottom:10px}.upload-zone[data-v-0e58908e]{border:1px dashed #3a3a3a;border-radius:10px;padding:24px;text-align:center;background:#252525;margin-bottom:20px;transition:all .2s ease}.upload-zone[data-v-0e58908e]:hover{border-color:#3498db;background:#2a2a2a}.hint[data-v-0e58908e]{color:#888;font-size:13px;margin-bottom:12px;line-height:1.5}.btns[data-v-0e58908e]{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.opt-btn[data-v-0e58908e],.btn-run[data-v-0e58908e],.download[data-v-0e58908e],.btn-delete[data-v-0e58908e],.template-download-row[data-v-0e58908e]{border:none;cursor:pointer;transition:all .2s ease}.opt-btn[data-v-0e58908e]{padding:8px 16px;font-size:13px;color:#ccc;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:6px}.opt-btn.small[data-v-0e58908e]{padding:6px 10px;font-size:12px}.opt-btn[data-v-0e58908e]:hover{color:#3498db;background:#333;border-color:#3498db}.opt-btn.danger[data-v-0e58908e]:hover{color:#ff9f9f;border-color:#e74c3c80}.opt-btn[data-v-0e58908e]:disabled{cursor:not-allowed;opacity:.55}.selected-files[data-v-0e58908e]{margin-top:14px;font-size:12px;color:#888;max-height:112px;overflow-y:auto;text-align:left}.selected-files span[data-v-0e58908e]{display:block;margin:4px 0;word-break:break-all}.more-line[data-v-0e58908e]{color:#b8c1cc}.option-group[data-v-0e58908e]{margin-bottom:20px}.radio-item[data-v-0e58908e]{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:10px 12px;border-radius:8px;background:#252525;border:1px solid #2a2a2a;margin-bottom:8px;transition:all .2s ease}.template-item-content[data-v-0e58908e]{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.radio-item[data-v-0e58908e]:hover,.radio-item.active[data-v-0e58908e]{background:#2a2a2a;border-color:#3a3a3a}.radio-item input[data-v-0e58908e]{margin-top:3px}.label[data-v-0e58908e]{font-weight:500;color:#e0e0e0;font-size:13px}.desc[data-v-0e58908e]{font-size:12px;color:#888;margin-top:2px;line-height:1.5;font-weight:400}.template-tag[data-v-0e58908e]{margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;color:#8fd0ff;background:#3498db24}.template-tag.muted[data-v-0e58908e]{color:#b8b8b8;background:#ffffff14}.template-tag.custom[data-v-0e58908e]{color:#90f0b3;background:#2ecc7124}.empty-option[data-v-0e58908e]{padding:12px;border:1px dashed #3a3a3a;border-radius:8px;color:#777;font-size:12px}.template-actions[data-v-0e58908e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px}.template-actions-hint[data-v-0e58908e]{grid-column:1 / -1;font-size:12px;color:#888;line-height:1.5}.hidden-file-input[data-v-0e58908e]{display:none}.template-download-list[data-v-0e58908e]{display:grid;gap:10px;margin-bottom:20px}.template-download-row[data-v-0e58908e]{width:100%;padding:14px 16px;background:linear-gradient(135deg,#252525,#1f2b1f);border:1px solid #2a3a2a;border-radius:10px;display:flex;align-items:center;gap:14px;text-align:left}.template-download-row[data-v-0e58908e]:hover{border-color:#2e7d32;background:linear-gradient(135deg,#2a2a2a,#243324);box-shadow:0 4px 12px #2e7d3226}.template-download-icon[data-v-0e58908e]{width:48px;height:48px;flex-shrink:0;border-radius:10px;background:linear-gradient(145deg,#1b5e20,#2e7d32,#388e3c);display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em}.template-download-text[data-v-0e58908e]{display:flex;flex-direction:column;min-width:0}.template-download-text .title[data-v-0e58908e]{font-size:14px;color:#e0e0e0;font-weight:600}.template-download-text .hint[data-v-0e58908e]{margin:2px 0 0;font-size:12px;color:#888}.run-row[data-v-0e58908e]{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin-top:16px}.btn-run[data-v-0e58908e]{padding:10px 22px;background:#3498db;color:#fff;border-radius:8px;font-size:14px}.btn-run[data-v-0e58908e]:hover{background:#2980b9}.btn-run[data-v-0e58908e]:disabled{background:#555;color:#999;cursor:not-allowed}.loading-msg[data-v-0e58908e]{color:#3498db;font-size:13px}.panel-header[data-v-0e58908e]{padding:16px 20px;border-bottom:1px solid #2a2a2a;font-size:15px;font-weight:600;color:#ddd}.task-list-wrap[data-v-0e58908e]{flex:1;overflow-y:auto;padding:16px}.task-list[data-v-0e58908e]{list-style:none;margin:0;padding:0}.task-item[data-v-0e58908e]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #2a2a2a;border-radius:8px;margin-bottom:10px;background:#1e1e1e}.left[data-v-0e58908e]{flex:1;min-width:0}.id[data-v-0e58908e]{display:inline-block;font-weight:600;color:#e0e0e0;font-size:13px}.files[data-v-0e58908e]{font-size:12px;color:#888;margin-top:4px}.task-right[data-v-0e58908e]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.status[data-v-0e58908e]{padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap}.status.success[data-v-0e58908e]{background:#2ecc712e;color:#2ecc71}.status.failed[data-v-0e58908e]{background:#e74c3c2e;color:#ff6b6b}.download[data-v-0e58908e]{padding:6px 10px;border-radius:6px;font-size:12px;background:#3498db2e;color:#69b6ff}.download[data-v-0e58908e]:hover{background:#3498db47}.btn-delete[data-v-0e58908e]{padding:6px 10px;border-radius:6px;font-size:12px;background:#e74c3c1f;color:#ff8f8f}.btn-delete[data-v-0e58908e]:hover{background:#e74c3c38}.empty-tasks[data-v-0e58908e]{color:#666;font-size:13px;padding:24px 8px}.clean-placeholder[data-v-0e58908e]{max-height:none}.clean-result-summary[data-v-0e58908e]{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:16px;margin-bottom:18px}.summary-card[data-v-0e58908e]{padding:16px 18px;border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e}.summary-card strong[data-v-0e58908e]{display:block;margin-top:8px;font-size:24px;color:#eaf4ff}.summary-label[data-v-0e58908e]{font-size:12px;color:#8d8d8d}.result-list-wrap[data-v-0e58908e]{border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e;min-height:260px}.result-list-header[data-v-0e58908e]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #2a2a2a;font-size:14px;color:#ddd}@media(max-width:1100px){.main-content[data-v-0e58908e]{flex-direction:column;height:auto}.left-panel[data-v-0e58908e]{width:100%;border-right:none;border-bottom:1px solid #2a2a2a}.right-panel[data-v-0e58908e]{min-height:420px}.task-item[data-v-0e58908e]{flex-direction:column;align-items:flex-start}.task-right[data-v-0e58908e]{width:100%;justify-content:flex-start}.clean-result-summary[data-v-0e58908e]{grid-template-columns:1fr}} diff --git a/new_web_source/assets/convert.js b/new_web_source/assets/convert.js new file mode 100644 index 0000000..081aa88 --- /dev/null +++ b/new_web_source/assets/convert.js @@ -0,0 +1 @@ +import{d as A,o as H,a as l,c as n,b as z,B as K,e as s,F as w,r as F,t as i,f as _,n as P,w as M,u as j,x as q,g as d,h as E,y as J,i as k,E as r,z as L,A as O,C as G,D as Q,_ as W,q as X,s as Y}from"./pywebview-CcblbV5J.js";import{e as Z}from"./brand-CEi7uRFN.js";const ee={class:"page-shell module-page"},se={class:"main-content"},te={class:"left-panel"},ae={class:"upload-zone"},le={class:"selected-files clean-placeholder"},ne={key:0,class:"more-line"},oe={key:1},re={class:"option-group"},ie=["value"],ce={class:"template-item-content"},ue={class:"label"},de={key:0,class:"template-tag"},ve={key:1,class:"template-tag muted"},pe={key:2,class:"template-tag custom"},_e={class:"desc"},fe={key:0,class:"empty-option"},me={class:"option-group"},he={class:"radio-item active"},ye={class:"desc"},ge={class:"run-row"},be=["disabled"],we={class:"loading-msg"},ke={class:"right-panel"},Ce={class:"task-list-wrap"},xe={class:"clean-result-summary"},Fe={class:"summary-card"},Ie={class:"summary-card"},Pe={class:"summary-card"},Ee={class:"result-list-wrap"},Te={key:0,class:"empty-tasks"},Be={key:1,class:"task-list clean-result-list"},De={class:"left"},Ne=["title"],Re={key:0,class:"files"},$e={key:1,class:"files"},Se={class:"task-right"},Ue=["onClick"],Ve=["onClick"],Ae=A({__name:"BrandConvertTab",setup(ze){const p=d([]),g=d(""),f=d([]),m=d(!1),b=d([]),h=d({total:0,successCount:0,failedCount:0,items:[]}),v=d([]),u=d(""),C=E(()=>p.value.slice(0,8)),T=E(()=>v.value.find(a=>a.id===u.value)||null);async function I(a){const e=k();if(!e?.upload_file_to_java)throw new Error("当前桌面端未提供文件上传桥接能力");const t=[];for(const o of a){const c=typeof o=="string"?o:o.absolutePath,V=typeof o=="string"?void 0:o.relativePath,y=await e.upload_file_to_java(c,V);if(!y?.success||!y.data)throw new Error(y?.error||y?.message||`上传失败:${c}`);t.push(y.data)}return t}async function B(a){const e=await J();v.value=e||[];const t=v.value.find(c=>c.id===u.value);if(t){u.value=t.id;return}const o=v.value.find(c=>c.isDefault);if(o){u.value=o.id;return}u.value=v.value[0]?.id||""}async function D(a,e){p.value=a,g.value="",f.value=await I(a),r.success(e)}async function N(){const a=k();if(!a?.select_brand_xlsx_files){r.warning("当前环境不支持文件选择,请在本机客户端中打开");return}try{const e=await a.select_brand_xlsx_files();if(!e?.length)return;await D(e,`已选择 ${e.length} 个待转换文件`)}catch(e){r.error(e instanceof Error?e.message:"选择失败")}}async function R(){const a=k();if(!a?.select_brand_folder){r.warning("当前环境不支持文件夹选择,请在本机客户端中打开");return}try{const e=await a.select_brand_folder();if(!e)return;g.value=e.split(/[/\\]/).filter(Boolean).pop()||"";const t=await Z(e);if(t.success&&t.items?.length){p.value=t.items.map(o=>o.relativePath),f.value=await I(t.items),r.success(`已选择文件夹内 ${t.items.length} 个 xlsx 文件`);return}r.warning(t.error||"该文件夹下没有 xlsx 文件")}catch(e){r.error(e instanceof Error?e.message:"选择失败")}}async function $(){if(!f.value.length){r.warning("请先选择待转换 Excel 文件或文件夹");return}if(!u.value){r.warning("请先选择模板");return}try{m.value=!0;const a=await L({files:f.value.map(e=>({fileKey:e.fileKey,originalFilename:e.originalFilename,relativePath:e.relativePath})),templateId:u.value,archiveName:f.value.some(e=>!!e.relativePath)&&g.value?g.value:void 0});h.value=a,b.value=a.items||[],await x(),r.success("格式转换完成")}catch(a){r.error(a instanceof Error?a.message:"格式转换失败")}finally{m.value=!1}}async function x(){try{const a=await O();b.value=a.items||[],h.value={total:a.items?.length||0,successCount:a.items?.filter(e=>e.success).length||0,failedCount:a.items?.filter(e=>!e.success).length||0,items:a.items||[]}}catch{}}async function S(a){try{await G(a),await x(),r.success("已删除")}catch(e){r.error(e instanceof Error?e.message:"删除失败")}}async function U(a){const e=k(),t=a.downloadUrl||(a.resultId?Q(a.resultId):"");if(!t){r.warning("当前结果没有下载地址");return}const o=a.outputFilename||`${new Date().toISOString().slice(0,10).replace(/-/g,"")}.txt`;if(e?.save_file_from_url_new){const c=await e.save_file_from_url_new(t,o);c.success?r.success(`已保存:${c.path||o}`):c.error&&c.error!=="用户取消"&&r.error(c.error);return}}return H(()=>{B().catch(()=>{}),x().catch(()=>{})}),(a,e)=>(l(),n("div",ee,[z(K,{active:"convert"}),s("div",se,[s("aside",te,[e[5]||(e[5]=s("div",{class:"section-title"},"选择文件",-1)),s("div",ae,[e[1]||(e[1]=s("div",{class:"hint"},"选择需要转换的 Excel 文件或文件夹,将按所选模板生成 txt 文件。",-1)),s("div",{class:"btns"},[s("button",{type:"button",class:"opt-btn",onClick:N},"选择 Excel 文件"),s("button",{type:"button",class:"opt-btn",onClick:R},"选择文件夹")]),s("div",le,[p.value.length?(l(),n(w,{key:0},[(l(!0),n(w,null,F(C.value,t=>(l(),n("span",{key:t},i(t),1))),128)),p.value.length>C.value.length?(l(),n("span",ne," 还有 "+i(p.value.length-C.value.length)+" 个文件未展开显示 ",1)):_("",!0)],64)):(l(),n("span",oe,"暂未选择待转换文件"))])]),e[6]||(e[6]=s("div",{class:"section-title"},"模板选择",-1)),s("div",re,[(l(!0),n(w,null,F(v.value,t=>(l(),n("label",{key:t.id,class:P(["radio-item",{active:u.value===t.id}])},[M(s("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>u.value=o),type:"radio",value:t.id,name:"convert-template"},null,8,ie),[[j,u.value]]),s("div",ce,[s("div",null,[s("span",ue,[q(i(t.templateName)+" ",1),t.isDefault?(l(),n("span",de,"默认")):t.builtIn?(l(),n("span",ve,"内置")):(l(),n("span",pe,"自定义"))]),s("div",_e,"输出文件:"+i(t.outputFilename),1)])])],2))),128)),v.value.length?_("",!0):(l(),n("div",fe,"暂无可用模板"))]),e[7]||(e[7]=s("div",{class:"section-title"},"转换说明",-1)),s("div",me,[s("label",he,[e[3]||(e[3]=s("input",{type:"checkbox",checked:"",disabled:""},null,-1)),s("div",null,[e[2]||(e[2]=s("span",{class:"label"},"按当前模板输出",-1)),s("div",ye,"当前模板:"+i(T.value?.templateName||"未加载模板"),1)])]),e[4]||(e[4]=s("label",{class:"radio-item active"},[s("input",{type:"checkbox",checked:"",disabled:""}),s("div",null,[s("span",{class:"label"},"SKU 使用雪花ID-序号"),s("div",{class:"desc"},"例如 1773816146796-1")])],-1))]),s("div",ge,[s("button",{type:"button",class:"btn-run",disabled:m.value,onClick:$},i(m.value?"转换中...":"开始转换"),9,be),s("span",we,i(m.value?"正在生成并上传结果,请稍候…":"选择文件后即可执行格式转换,结果会显示在右侧供下载"),1)])]),s("section",ke,[e[12]||(e[12]=s("div",{class:"panel-header"},"转换结果",-1)),s("div",Ce,[s("div",xe,[s("div",Fe,[e[8]||(e[8]=s("span",{class:"summary-label"},"已处理文件",-1)),s("strong",null,i(h.value.total),1)]),s("div",Ie,[e[9]||(e[9]=s("span",{class:"summary-label"},"成功结果",-1)),s("strong",null,i(h.value.successCount),1)]),s("div",Pe,[e[10]||(e[10]=s("span",{class:"summary-label"},"失败文件",-1)),s("strong",null,i(h.value.failedCount),1)])]),s("div",Ee,[e[11]||(e[11]=s("div",{class:"result-list-header"},[s("span",null,"生成的结果压缩包列表")],-1)),b.value.length===0?(l(),n("div",Te," 暂无转换结果,完成格式转换后会在这里展示结果压缩包 ")):(l(),n("ul",Be,[(l(!0),n(w,null,F(b.value,t=>(l(),n("li",{key:`${t.resultId||t.outputFilename||t.sourceFilename}`,class:"task-item"},[s("div",De,[s("span",{class:"id",title:t.sourceFilename},i(t.sourceFilename||"-"),9,Ne),t.outputFilename?(l(),n("div",Re,"压缩包文件:"+i(t.outputFilename),1)):_("",!0),t.error?(l(),n("div",$e,"错误信息:"+i(t.error),1)):_("",!0)]),s("div",Se,[s("span",{class:P(["status",t.success?"success":"failed"])},i(t.success?"已完成":"失败"),3),t.success&&(t.downloadUrl||t.resultId)?(l(),n("button",{key:0,type:"button",class:"download",onClick:o=>U(t)}," 下载压缩包 ",8,Ue)):_("",!0),t.resultId?(l(),n("button",{key:1,type:"button",class:"btn-delete",onClick:o=>S(t.resultId)}," 删除 ",8,Ve)):_("",!0)])]))),128))]))])])])])]))}}),He=W(Ae,[["__scopeId","data-v-0e58908e"]]);X(He).use(Y).mount("#app"); diff --git a/new_web_source/assets/dedupe-DNlVfFj-.css b/new_web_source/assets/dedupe-DNlVfFj-.css new file mode 100644 index 0000000..fa16a4e --- /dev/null +++ b/new_web_source/assets/dedupe-DNlVfFj-.css @@ -0,0 +1 @@ +.module-page[data-v-c7e8afd4]{min-height:100vh;background:#1a1a1a}.main-content[data-v-c7e8afd4]{display:flex;min-height:calc(100vh - 56px);height:calc(100vh - 56px)}.left-panel[data-v-c7e8afd4]{width:380px;background:#1e1e1e;padding:20px;overflow-y:auto;border-right:1px solid #2a2a2a}.right-panel[data-v-c7e8afd4]{flex:1;display:flex;flex-direction:column;min-width:0;background:#1a1a1a}.section-title[data-v-c7e8afd4]{font-size:13px;color:#bbb;margin-bottom:10px}.upload-zone[data-v-c7e8afd4]{border:1px dashed #3a3a3a;border-radius:10px;padding:24px;text-align:center;background:#252525;margin-bottom:20px;transition:all .2s ease}.upload-zone[data-v-c7e8afd4]:hover{border-color:#3498db;background:#2a2a2a}.hint[data-v-c7e8afd4]{color:#888;font-size:13px;margin-bottom:12px;line-height:1.5}.btns[data-v-c7e8afd4]{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.opt-btn[data-v-c7e8afd4],.btn-run[data-v-c7e8afd4],.download[data-v-c7e8afd4],.btn-delete[data-v-c7e8afd4]{border:none;cursor:pointer;transition:all .2s ease}.opt-btn[data-v-c7e8afd4]{padding:8px 16px;font-size:13px;color:#ccc;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:6px}.opt-btn.small[data-v-c7e8afd4]{padding:6px 10px;font-size:12px}.opt-btn[data-v-c7e8afd4]:hover{color:#3498db;background:#333;border-color:#3498db}.selected-files[data-v-c7e8afd4]{margin-top:14px;font-size:12px;color:#888;max-height:112px;overflow-y:auto;text-align:left}.selected-files span[data-v-c7e8afd4]{display:block;margin:4px 0;word-break:break-all}.more-line[data-v-c7e8afd4]{color:#b8c1cc}.option-group[data-v-c7e8afd4]{margin-bottom:20px}.column-option-group[data-v-c7e8afd4]{padding:14px;border-radius:10px;background:#252525;border:1px solid #2a2a2a}.column-toolbar[data-v-c7e8afd4]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.column-count[data-v-c7e8afd4]{font-size:12px;color:#a9b4bf}.column-actions[data-v-c7e8afd4]{display:flex;gap:8px}.column-grid[data-v-c7e8afd4]{display:grid;grid-template-columns:1fr;gap:8px;max-height:280px;overflow-y:auto}.empty-column-state[data-v-c7e8afd4]{padding:16px 12px;border-radius:8px;border:1px dashed #3a3a3a;background:#202020;color:#7f8790;font-size:12px;line-height:1.6}.column-item[data-v-c7e8afd4]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid #2f2f2f;background:#202020;cursor:pointer;transition:all .2s ease;font-size:13px;color:#d7d7d7}.column-item[data-v-c7e8afd4]:hover,.column-item.active[data-v-c7e8afd4]{border-color:#3b6f98;background:#26313a}.column-item input[data-v-c7e8afd4]{margin:0}.column-item span[data-v-c7e8afd4]{word-break:break-all}.radio-item[data-v-c7e8afd4]{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:10px 12px;border-radius:8px;background:#252525;border:1px solid #2a2a2a;margin-bottom:8px;transition:all .2s ease}.radio-item[data-v-c7e8afd4]:hover,.radio-item.active[data-v-c7e8afd4]{background:#2a2a2a;border-color:#3a3a3a}.radio-item input[data-v-c7e8afd4]{margin-top:3px}.label[data-v-c7e8afd4]{font-weight:500;color:#e0e0e0;font-size:13px}.desc[data-v-c7e8afd4]{font-size:12px;color:#888;margin-top:2px;line-height:1.5;font-weight:400}.run-row[data-v-c7e8afd4]{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin-top:16px}.btn-run[data-v-c7e8afd4]{padding:10px 22px;background:#3498db;color:#fff;border-radius:8px;font-size:14px}.btn-run[data-v-c7e8afd4]:hover{background:#2980b9}.btn-run[data-v-c7e8afd4]:disabled{background:#555;color:#999;cursor:not-allowed}.loading-msg[data-v-c7e8afd4]{color:#3498db;font-size:13px}.panel-header[data-v-c7e8afd4]{padding:16px 20px;border-bottom:1px solid #2a2a2a;font-size:15px;font-weight:600;color:#ddd}.task-list-wrap[data-v-c7e8afd4]{flex:1;overflow-y:auto;padding:16px}.task-list[data-v-c7e8afd4]{list-style:none;margin:0;padding:0}.task-item[data-v-c7e8afd4]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #2a2a2a;border-radius:8px;margin-bottom:10px;background:#1e1e1e}.left[data-v-c7e8afd4]{flex:1;min-width:0}.id[data-v-c7e8afd4]{display:inline-block;font-weight:600;color:#e0e0e0;font-size:13px}.files[data-v-c7e8afd4]{font-size:12px;color:#888;margin-top:4px}.task-right[data-v-c7e8afd4]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.status[data-v-c7e8afd4]{padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap}.status.success[data-v-c7e8afd4]{background:#2ecc712e;color:#2ecc71}.status.failed[data-v-c7e8afd4]{background:#e74c3c2e;color:#ff6b6b}.download[data-v-c7e8afd4]{padding:6px 10px;border-radius:6px;font-size:12px;background:#3498db2e;color:#69b6ff}.download[data-v-c7e8afd4]:hover{background:#3498db47}.btn-delete[data-v-c7e8afd4]{padding:6px 10px;border-radius:6px;font-size:12px;background:#e74c3c1f;color:#ff8f8f}.btn-delete[data-v-c7e8afd4]:hover{background:#e74c3c38}.empty-tasks[data-v-c7e8afd4]{color:#666;font-size:13px;padding:24px 8px}.clean-placeholder[data-v-c7e8afd4]{max-height:none}.clean-result-summary[data-v-c7e8afd4]{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:16px;margin-bottom:18px}.summary-card[data-v-c7e8afd4]{padding:16px 18px;border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e}.summary-card strong[data-v-c7e8afd4]{display:block;margin-top:8px;font-size:24px;color:#eaf4ff}.summary-label[data-v-c7e8afd4]{font-size:12px;color:#8d8d8d}.result-list-wrap[data-v-c7e8afd4]{border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e;min-height:260px}.result-list-header[data-v-c7e8afd4]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #2a2a2a;font-size:14px;color:#ddd}@media(max-width:1100px){.main-content[data-v-c7e8afd4]{flex-direction:column;height:auto}.left-panel[data-v-c7e8afd4]{width:100%;border-right:none;border-bottom:1px solid #2a2a2a}.right-panel[data-v-c7e8afd4]{min-height:420px}.task-item[data-v-c7e8afd4]{flex-direction:column;align-items:flex-start}.task-right[data-v-c7e8afd4]{width:100%;justify-content:flex-start}.clean-result-summary[data-v-c7e8afd4]{grid-template-columns:1fr}} diff --git a/new_web_source/assets/dedupe.js b/new_web_source/assets/dedupe.js new file mode 100644 index 0000000..ae56052 --- /dev/null +++ b/new_web_source/assets/dedupe.js @@ -0,0 +1 @@ +import{d as z,o as W,a,c as n,b as q,B as J,e as s,F as C,r as F,t as u,f as b,n as I,w as P,v as B,g as c,h as L,i as x,E as o,j as O,k as G,l as Q,m as X,p as Y,_ as Z,q as ee,s as se}from"./pywebview-CcblbV5J.js";import{e as te}from"./brand-CEi7uRFN.js";const le={class:"page-shell module-page"},ae={class:"main-content"},ne={class:"left-panel"},oe={class:"upload-zone"},re={class:"selected-files clean-placeholder"},ie={key:0,class:"more-line"},ue={key:1},ce={class:"option-group column-option-group"},de={class:"column-toolbar"},ve={class:"column-count"},pe={key:0,class:"column-grid"},fe=["value"],_e={key:1,class:"empty-column-state"},me={class:"option-group"},he={class:"run-row"},ge=["disabled"],ye={class:"loading-msg"},be={class:"right-panel"},we={class:"task-list-wrap"},ke={class:"clean-result-summary"},Ce={class:"summary-card"},Ie={class:"summary-card"},xe={class:"summary-card"},De={class:"result-list-wrap"},Ee={key:0,class:"empty-tasks"},Fe={key:1,class:"task-list clean-result-list"},Pe={class:"left"},Be=["title"],Se={key:0,class:"files"},Ue={key:1,class:"files"},Ne={class:"task-right"},$e=["onClick"],Ae=["onClick"],He=z({__name:"BrandDedupeTab",setup(Re){const p=c([]),d=c([]),f=c([]),w=c(""),v=c([]),S=c(!1),_=c(!0),m=c(!0),h=c(!1),k=c([]),g=c({total:0,successCount:0,failedCount:0,items:[]}),D=L(()=>f.value.slice(0,8));function $(){d.value=[...p.value]}function A(){d.value=[]}async function U(l){const e=x();if(!e?.upload_file_to_java)throw new Error("当前桌面端未提供文件上传桥接能力");const t=[];for(const r of l){const i=typeof r=="string"?r:r.absolutePath,j=typeof r=="string"?void 0:r.relativePath,y=await e.upload_file_to_java(i,j);if(!y?.success||!y.data)throw new Error(y?.error||y?.message||`上传失败:${i}`);t.push(y.data)}return t}async function N(l){const e=await Y(l);if(!e.headers?.length){o.error("读取 Excel 表头失败"),p.value=[],d.value=[];return}const t=["id","ASIN","国家","价格","卖家名称"],r=[...t.filter(i=>e.headers?.includes(i)),...(e.headers||[]).filter(i=>!t.includes(i))];p.value=r,d.value=t.filter(i=>r.includes(i))}async function H(l,e){f.value=l,w.value="",v.value=await U(l),v.value.length>0&&await N(v.value[0].fileKey),o.success(e)}async function K(){const l=x();if(!l?.select_brand_xlsx_files){o.warning("当前环境不支持文件选择,请在本机客户端中打开");return}try{const e=await l.select_brand_xlsx_files();if(!e?.length)return;await H(e,`已选择 ${e.length} 个待清洗文件`)}catch(e){o.error(e instanceof Error?e.message:"选择失败")}}async function R(){const l=x();if(!l?.select_brand_folder){o.warning("当前环境不支持文件夹选择,请在本机客户端中打开");return}try{const e=await l.select_brand_folder();if(!e)return;w.value=e.split(/[/\\]/).filter(Boolean).pop()||"";const t=await te(e);if(t.success&&t.items?.length){f.value=t.items.map(r=>r.relativePath),v.value=await U(t.items),v.value.length>0&&await N(v.value[0].fileKey),o.success(`已选择文件夹内 ${t.items.length} 个 xlsx 文件`);return}o.warning(t.error||"该文件夹下没有 xlsx 文件")}catch(e){o.error(e instanceof Error?e.message:"选择失败")}}async function V(){if(!v.value.length){o.warning("请先选择待清洗 Excel 文件或文件夹");return}if(!d.value.length){o.warning("请至少选择一列保留列");return}if(!S.value&&!_.value&&!m.value){o.warning("请至少选择一种 ID 保留规则");return}try{h.value=!0;const l=await O({files:v.value.map(e=>({fileKey:e.fileKey,originalFilename:e.originalFilename,relativePath:e.relativePath})),selectedColumns:d.value,keepIntegerIds:S.value,keepUnderscoreIds:_.value,keepIntegerMainIdsWhenNoSubIds:m.value,archiveName:v.value.some(e=>!!e.relativePath)&&w.value?w.value:void 0});g.value=l,k.value=l.items||[],await E(),o.success("数据去重完成")}catch(l){o.error(l instanceof Error?l.message:"去重失败")}finally{h.value=!1}}async function E(){try{const l=await G();k.value=l.items||[],g.value={total:l.items?.length||0,successCount:l.items?.filter(e=>e.success).length||0,failedCount:l.items?.filter(e=>!e.success).length||0,items:l.items||[]}}catch{}}async function M(l){try{await Q(l),await E(),o.success("已删除")}catch(e){o.error(e instanceof Error?e.message:"删除失败")}}async function T(l){const e=x(),t=l.downloadUrl||(l.resultId?X(l.resultId):"");if(!t){o.warning("当前结果没有下载地址");return}const r=l.outputFilename||`${new Date().toISOString().slice(0,10).replace(/-/g,"")}_cleaned.xlsx`;if(e?.save_file_from_url_new){const i=await e.save_file_from_url_new(t,r);i.success?o.success(`已保存:${i.path||r}`):i.error&&i.error!=="用户取消"&&o.error(i.error);return}}return W(()=>{E().catch(()=>{})}),(l,e)=>(a(),n("div",le,[q(J,{active:"dedupe"}),s("div",ae,[s("aside",ne,[e[7]||(e[7]=s("div",{class:"section-title"},"选择文件",-1)),s("div",oe,[e[3]||(e[3]=s("div",{class:"hint"},"选择需要清洗的 Excel 文件或文件夹,后续将按所选规则输出处理结果。",-1)),s("div",{class:"btns"},[s("button",{type:"button",class:"opt-btn",onClick:K},"选择 Excel 文件"),s("button",{type:"button",class:"opt-btn",onClick:R},"选择文件夹")]),s("div",re,[f.value.length?(a(),n(C,{key:0},[(a(!0),n(C,null,F(D.value,t=>(a(),n("span",{key:t},u(t),1))),128)),f.value.length>D.value.length?(a(),n("span",ie," 还有 "+u(f.value.length-D.value.length)+" 个文件未展开显示 ",1)):b("",!0)],64)):(a(),n("span",ue,"暂未选择待清洗文件"))])]),e[8]||(e[8]=s("div",{class:"section-title"},"保留列设置",-1)),s("div",ce,[s("div",de,[s("span",ve,"已选择 "+u(d.value.length)+" / "+u(p.value.length)+" 列",1),s("div",{class:"column-actions"},[s("button",{type:"button",class:"opt-btn small",onClick:$},"全选"),s("button",{type:"button",class:"opt-btn small",onClick:A},"清空")])]),p.value.length?(a(),n("div",pe,[(a(!0),n(C,null,F(p.value,t=>(a(),n("label",{key:t,class:I(["column-item",{active:d.value.includes(t)}])},[P(s("input",{"onUpdate:modelValue":e[0]||(e[0]=r=>d.value=r),type:"checkbox",value:t},null,8,fe),[[B,d.value]]),s("span",null,u(t),1)],2))),128))])):(a(),n("div",_e,"请选择 Excel 文件后读取表头并填充可保留列")),e[4]||(e[4]=s("div",{class:"desc"},"读取首个 Excel 文件的第一行作为表头,用于动态选择需要保留的列。",-1))]),e[9]||(e[9]=s("div",{class:"section-title"},"ID 保留规则",-1)),s("div",me,[s("label",{class:I(["radio-item",{active:_.value}])},[P(s("input",{"onUpdate:modelValue":e[1]||(e[1]=t=>_.value=t),type:"checkbox"},null,512),[[B,_.value]]),e[5]||(e[5]=s("div",null,[s("span",{class:"label"},"保留子链接"),s("div",{class:"desc"},"例如 1_1、2_3 这种带下划线的子项 ID")],-1))],2),s("label",{class:I(["radio-item",{active:m.value}])},[P(s("input",{"onUpdate:modelValue":e[2]||(e[2]=t=>m.value=t),type:"checkbox"},null,512),[[B,m.value]]),e[6]||(e[6]=s("div",null,[s("span",{class:"label"},"仅剩主链接无子链接"),s("div",{class:"desc"},"当某个主链接只有 13 这类主 ID、没有 13_1 这类对应子 ID 时,自动保留该主 ID")],-1))],2)]),s("div",he,[s("button",{type:"button",class:"btn-run",disabled:h.value,onClick:V},u(h.value?"清洗中...":"开始清洗"),9,ge),s("span",ye,u(h.value?"正在处理文件并上传结果,请稍候…":"选择文件、列和 ID 规则后即可执行清洗,结果会显示在右侧供下载"),1)])]),s("section",be,[e[14]||(e[14]=s("div",{class:"panel-header"},"去重结果",-1)),s("div",we,[s("div",ke,[s("div",Ce,[e[10]||(e[10]=s("span",{class:"summary-label"},"已处理文件",-1)),s("strong",null,u(g.value.total),1)]),s("div",Ie,[e[11]||(e[11]=s("span",{class:"summary-label"},"成功结果",-1)),s("strong",null,u(g.value.successCount),1)]),s("div",xe,[e[12]||(e[12]=s("span",{class:"summary-label"},"失败文件",-1)),s("strong",null,u(g.value.failedCount),1)])]),s("div",De,[e[13]||(e[13]=s("div",{class:"result-list-header"},[s("span",null,"处理后的 Excel 列表")],-1)),k.value.length===0?(a(),n("div",Ee," 暂无去重结果,完成数据去重后会在这里展示输出文件 ")):(a(),n("ul",Fe,[(a(!0),n(C,null,F(k.value,t=>(a(),n("li",{key:`${t.resultId||t.outputFilename||t.sourceFilename}`,class:"task-item"},[s("div",Pe,[s("span",{class:"id",title:t.sourceFilename},u(t.sourceFilename||"-"),9,Be),t.outputFilename?(a(),n("div",Se,"输出文件:"+u(t.outputFilename),1)):b("",!0),t.error?(a(),n("div",Ue,"错误信息:"+u(t.error),1)):b("",!0)]),s("div",Ne,[s("span",{class:I(["status",t.success?"success":"failed"])},u(t.success?"已完成":"失败"),3),t.success&&(t.downloadUrl||t.resultId)?(a(),n("button",{key:0,type:"button",class:"download",onClick:r=>T(t)}," 下载文件 ",8,$e)):b("",!0),t.resultId?(a(),n("button",{key:1,type:"button",class:"btn-delete",onClick:r=>M(t.resultId)}," 删除 ",8,Ae)):b("",!0)])]))),128))]))])])])])]))}}),Ke=Z(He,[["__scopeId","data-v-c7e8afd4"]]);ee(Ke).use(se).mount("#app"); diff --git a/new_web_source/assets/delete-brand-BJod9K65.css b/new_web_source/assets/delete-brand-BJod9K65.css new file mode 100644 index 0000000..0219c72 --- /dev/null +++ b/new_web_source/assets/delete-brand-BJod9K65.css @@ -0,0 +1 @@ +.queue-debug-card[data-v-ebc81d26]{margin-top:18px;padding:14px;border:1px solid #2a2a2a;border-radius:10px;background:#202020}.queue-debug-title[data-v-ebc81d26]{margin-bottom:8px}.queue-debug-line[data-v-ebc81d26]{color:#b8c1cc;font-size:12px;line-height:1.6;margin-bottom:8px}.queue-debug-payload[data-v-ebc81d26]{margin:0;max-height:220px;overflow:auto;padding:10px;border-radius:8px;background:#141414;color:#8fd3ff;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.module-page[data-v-ebc81d26]{min-height:100vh;background:#1a1a1a}.main-content[data-v-ebc81d26]{display:flex;min-height:calc(100vh - 56px);height:calc(100vh - 56px)}.left-panel[data-v-ebc81d26]{width:380px;background:#1e1e1e;padding:20px;overflow-y:auto;border-right:1px solid #2a2a2a}.right-panel[data-v-ebc81d26]{flex:1;display:flex;flex-direction:column;min-width:0;background:#1a1a1a}.section-title[data-v-ebc81d26]{font-size:13px;color:#bbb;margin-bottom:10px}.upload-zone[data-v-ebc81d26]{border:1px dashed #3a3a3a;border-radius:10px;padding:24px;text-align:center;background:#252525;margin-bottom:20px;transition:all .2s ease}.upload-zone[data-v-ebc81d26]:hover{border-color:#3498db;background:#2a2a2a}.hint[data-v-ebc81d26]{color:#888;font-size:13px;margin-bottom:12px;line-height:1.5}.btns[data-v-ebc81d26]{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.opt-btn[data-v-ebc81d26],.btn-run[data-v-ebc81d26],.download[data-v-ebc81d26],.btn-delete[data-v-ebc81d26]{border:none;cursor:pointer;transition:all .2s ease}.opt-btn[data-v-ebc81d26]{padding:8px 16px;font-size:13px;color:#ccc;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:6px}.opt-btn[data-v-ebc81d26]:hover{color:#3498db;background:#333;border-color:#3498db}.selected-files[data-v-ebc81d26]{margin-top:14px;font-size:12px;color:#888;max-height:112px;overflow-y:auto;text-align:left}.selected-files span[data-v-ebc81d26]{display:block;margin:4px 0;word-break:break-all}.more-line[data-v-ebc81d26]{color:#b8c1cc}.split-selected-files[data-v-ebc81d26]{max-height:120px;min-height:72px;padding-right:4px}.option-group[data-v-ebc81d26]{margin-bottom:20px}.radio-item[data-v-ebc81d26]{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:10px 12px;border-radius:8px;background:#252525;border:1px solid #2a2a2a;margin-bottom:8px;transition:all .2s ease}.radio-item[data-v-ebc81d26]:hover,.radio-item.active[data-v-ebc81d26]{background:#2a2a2a;border-color:#3a3a3a}.radio-item input[data-v-ebc81d26]{margin-top:3px}.label[data-v-ebc81d26]{font-weight:500;color:#e0e0e0;font-size:13px}.desc[data-v-ebc81d26]{font-size:12px;color:#888;margin-top:2px;line-height:1.5;font-weight:400}.run-row[data-v-ebc81d26]{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin-top:16px}.btn-run[data-v-ebc81d26]{padding:10px 22px;background:#3498db;color:#fff;border-radius:8px;font-size:14px}.btn-run[data-v-ebc81d26]:hover{background:#2980b9}.btn-run[data-v-ebc81d26]:disabled{background:#555;color:#999;cursor:not-allowed}.loading-msg[data-v-ebc81d26]{color:#3498db;font-size:13px}.panel-header[data-v-ebc81d26]{padding:16px 20px;border-bottom:1px solid #2a2a2a;font-size:15px;font-weight:600;color:#ddd}.task-list-wrap[data-v-ebc81d26]{flex:1;overflow-y:auto;padding:16px}.task-list[data-v-ebc81d26]{list-style:none;margin:0;padding:0}.task-item[data-v-ebc81d26]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #2a2a2a;border-radius:8px;margin-bottom:10px;background:#1e1e1e}.split-result-item[data-v-ebc81d26]{align-items:flex-start}.left[data-v-ebc81d26]{flex:1;min-width:0}.split-result-main[data-v-ebc81d26]{display:flex;flex-direction:column;gap:4px}.id[data-v-ebc81d26]{display:inline-block;font-weight:600;color:#e0e0e0;font-size:13px}.files[data-v-ebc81d26]{font-size:12px;color:#888;margin-top:4px}.time[data-v-ebc81d26]{font-size:12px;color:#666;margin-top:2px}.split-entry-list[data-v-ebc81d26]{line-height:1.6;word-break:break-all;max-width:100%}.delete-brand-preview[data-v-ebc81d26]{white-space:normal}.delete-brand-progress-block[data-v-ebc81d26]{margin-top:8px}.delete-brand-progress-header[data-v-ebc81d26]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:12px;color:#8fbfff}.delete-brand-progress-bar[data-v-ebc81d26]{width:100%;height:8px;border-radius:999px;background:#ffffff14;overflow:hidden}.delete-brand-progress-bar-fill[data-v-ebc81d26]{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d8cf0,#4db3ff);transition:width .3s ease}.delete-brand-progress[data-v-ebc81d26]{color:#69b6ff;line-height:1.6;white-space:normal;margin-top:6px}.task-right[data-v-ebc81d26]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.split-result-actions[data-v-ebc81d26]{flex-shrink:0;min-width:180px;justify-content:flex-end;align-self:center}.status[data-v-ebc81d26]{padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap}.status.success[data-v-ebc81d26]{background:#2ecc712e;color:#2ecc71}.status.failed[data-v-ebc81d26]{background:#e74c3c2e;color:#ff6b6b}.status.running[data-v-ebc81d26]{background:#3498db2e;color:#3498db}.download[data-v-ebc81d26]{padding:6px 10px;border-radius:6px;font-size:12px;background:#3498db2e;color:#69b6ff}.download[data-v-ebc81d26]:hover{background:#3498db47}.btn-delete[data-v-ebc81d26]{padding:6px 10px;border-radius:6px;font-size:12px;background:#e74c3c1f;color:#ff8f8f}.btn-delete[data-v-ebc81d26]:hover{background:#e74c3c38}.empty-tasks[data-v-ebc81d26]{color:#666;font-size:13px;padding:24px 8px}.clean-placeholder[data-v-ebc81d26]{max-height:112px}.clean-result-summary[data-v-ebc81d26]{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:16px;margin-bottom:18px}.summary-card[data-v-ebc81d26]{padding:16px 18px;border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e}.summary-card strong[data-v-ebc81d26]{display:block;margin-top:8px;font-size:24px;color:#eaf4ff}.summary-label[data-v-ebc81d26]{font-size:12px;color:#8d8d8d}.result-list-wrap[data-v-ebc81d26]{border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e;min-height:260px}.result-list-header[data-v-ebc81d26]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #2a2a2a;font-size:14px;color:#ddd}@media(max-width:1100px){.main-content[data-v-ebc81d26]{flex-direction:column;height:auto}.left-panel[data-v-ebc81d26]{width:100%;border-right:none;border-bottom:1px solid #2a2a2a}.right-panel[data-v-ebc81d26]{min-height:420px}.task-item[data-v-ebc81d26]{flex-direction:column;align-items:flex-start}.task-right[data-v-ebc81d26]{width:100%;justify-content:flex-start}.split-result-actions[data-v-ebc81d26]{min-width:0;align-self:flex-start}.clean-result-summary[data-v-ebc81d26]{grid-template-columns:1fr}} diff --git a/new_web_source/assets/delete-brand.js b/new_web_source/assets/delete-brand.js new file mode 100644 index 0000000..7e27faf --- /dev/null +++ b/new_web_source/assets/delete-brand.js @@ -0,0 +1 @@ +import{d as ns,o as ls,L as rs,a as d,c as f,b as os,B as us,e as o,F as z,r as ye,t as v,f as h,M as is,N as qe,n as Oe,g as y,h as V,O as cs,i as Q,E as p,P as ds,Q as fs,R as vs,S as hs,T as ps,U as _s,_ as ys,q as gs,s as ms}from"./pywebview-CcblbV5J.js";import{e as ks}from"./brand-CEi7uRFN.js";import{c as ws}from"./categorized-timers-JPA-olTr.js";const Is={class:"page-shell module-page"},bs={class:"main-content"},Ss={class:"left-panel"},Ts={class:"upload-zone"},Cs={class:"selected-files clean-placeholder split-selected-files"},Rs={key:0,class:"more-line"},Ns={key:1},Es={class:"run-row"},Fs=["disabled"],Ps=["disabled"],xs={class:"loading-msg"},$s={key:0,class:"queue-debug-card"},As={key:0,class:"queue-debug-line"},Ds={key:1,class:"queue-debug-payload"},Ms={class:"right-panel"},Bs={class:"task-list-wrap"},Us={class:"clean-result-summary"},Ls={class:"summary-card"},qs={class:"summary-card"},Os={class:"summary-card"},Ks={class:"result-list-wrap"},Gs={key:0,class:"empty-tasks"},Hs={key:0,class:"result-subsection"},Js={class:"task-list clean-result-list"},js={class:"left split-result-main"},zs=["title"],Vs={class:"files"},Qs={class:"files"},Xs={key:0,class:"files"},Ws={key:1,class:"files"},Ys={key:2,class:"files"},Zs={key:3,class:"time"},et={key:4,class:"delete-brand-progress-block"},st={class:"delete-brand-progress-header"},tt={class:"delete-brand-progress-bar"},at={class:"files delete-brand-progress"},nt={key:5,class:"files split-entry-list delete-brand-preview"},lt={key:6,class:"files"},rt={class:"task-right split-result-actions"},ot=["onClick"],ut=["onClick"],it={key:1,class:"result-subsection"},ct={class:"task-list clean-result-list"},dt={class:"left split-result-main"},ft=["title"],vt={class:"files"},ht={class:"files"},pt={key:0,class:"files"},_t={key:1,class:"files"},yt={key:2,class:"time"},gt={key:3,class:"delete-brand-progress-block"},mt={class:"delete-brand-progress-header"},kt={class:"delete-brand-progress-bar"},wt={class:"files delete-brand-progress"},It={key:4,class:"files split-entry-list delete-brand-preview"},bt={key:5,class:"files"},St={class:"task-right split-result-actions"},Tt=["onClick"],Ct=["onClick"],Rt=ns({__name:"BrandDeleteBrandTab",setup(Et){function D(){return`delete-brand:current-tasks:${typeof window<"u"&&window.localStorage.getItem("uid")||"0"}`}const M=y([]),X=y([]),O=y(!1),ge=y([]),i=y([]),K=y([]),W=y({total:0,successCount:0,failedCount:0,items:[]}),b=y(""),S=y(""),m=y({}),T=y(null),le=y(!1),Y=y(!1),R=y(!1),B=y(""),Z=y(!1),G=y(null),re=y(!1);let U=!1;const L=ws("delete-brand"),oe=V(()=>M.value.slice(0,10)),N=V(()=>{const e=[...i.value].sort((t,a)=>(a.createdAt||0)-(t.createdAt||0)),s=[];return e.forEach(t=>{s.push(...t.items)}),s});function Ke(){try{const e=typeof window<"u"?window.localStorage.getItem(D()):null;if(e){if(i.value=JSON.parse(e),i.value.length>0){const s=i.value[i.value.length-1];b.value=s.queuePushResult||"",S.value=s.queuePayloadText||""}}else i.value=[]}catch{i.value=[]}}function ue(e,s,t,a){if(!s?.length)return;const r=i.value.findIndex(c=>c.taskId===e),l=r>=0?i.value[r]:null,n=s.map(c=>{const _=l?.items.find(as=>q(as,c)),k=Array.isArray(c.countries)?c.countries:void 0,g=Array.isArray(_?.countries)?_?.countries:void 0,w=k&&k.length>0?k:g&&g.length>0?g:k??g,I=Array.isArray(c.previewRows)?c.previewRows:void 0,C=Array.isArray(_?.previewRows)?_?.previewRows:void 0,_e=I&&I.length>0?I:C&&C.length>0?C:I??C;return{...c,countries:w,previewRows:_e,_pushed:_?._pushed??c._pushed??!1,_completed:_?._completed??c._completed??!1}}),u={taskId:e,items:n,createdAt:l?.createdAt||Date.now(),queuePushResult:t??l?.queuePushResult,queuePayloadText:a??l?.queuePayloadText};r>=0?i.value[r]=u:i.value.push(u),typeof window<"u"&&window.localStorage.setItem(D(),JSON.stringify(i.value))}function me(e){const s=i.value.length;i.value=i.value.filter(t=>t.taskId!==e),i.value.length!==s&&typeof window<"u"&&window.localStorage.setItem(D(),JSON.stringify(i.value))}function ke(e){return e==="SUCCESS"||e==="FAILED"||e==="COMPLETED"}function Ge(e){if(!e?.length)return!1;const s=new Set;if(e.forEach(a=>{a.taskId&&ke(a.taskStatus)&&s.add(a.taskId)}),!s.size)return!1;const t=i.value.length;return i.value=i.value.filter(a=>!s.has(a.taskId)),i.value.length!==t?(ie(),!0):!1}const ee=V(()=>K.value.filter(e=>!N.value.some(s=>q(s,e)))),He=V(()=>N.value.length>0||ee.value.length>0),Je=V(()=>N.value.filter(e=>Me(e)&&E(e)==="未入队"));function ie(){typeof window<"u"&&(i.value.length===0?window.localStorage.removeItem(D()):window.localStorage.setItem(D(),JSON.stringify(i.value)))}function P(e){return e?(i.value.find(t=>t.taskId===e)?.items.length||0)>1:!1}function ce(e){return e&&i.value.find(s=>s.taskId===e)||null}function q(e,s){return!e||!s?!1:e.resultId!=null&&s.resultId!=null?e.resultId===s.resultId:e.fileKey&&s.fileKey?e.fileKey===s.fileKey:e.sourceFilename===s.sourceFilename}function x(e,s){const t=ce(e);return t&&t.items.find(a=>q(a,s))||null}function we(e){if(!e)return!1;const s=ce(e);if(!s)return!1;let t=!1;const a=m.value[e]?.line_progress?.info,r=P(e);if(a?.file_name&&a.current_line!=null&&a.total_lines!=null&&a.total_lines>0&&a.current_line>=a.total_lines){const l=s.items.find(n=>n.sourceFilename===a.file_name);l&&!l._completed&&(l._completed=!0,t=!0)}if(!r){const l=m.value[e]?.task?.status;if((l==="SUCCESS"||l==="FAILED")&&s.items.length===1){const n=s.items[0];n&&!n._completed&&(n._completed=!0,t=!0)}}return t&&ie(),t}function Ie(e){return e&&m.value[e]?.task?.status||""}function se(e){if(e.error)return e.error;if(e.matchStatus&&e.matchStatus!=="MATCHED")return e.matchMessage||"";const s=e.taskId;return s&&m.value[s]?.task?.errorMessage||""}function be(e){const s=e.taskId;if(!s)return!1;const t=m.value[s]?.line_progress,a=Ie(s),r=P(s),l=E(e);if(r){const n=x(s,e),u=j(e)===B.value,c=!!(t?.has_progress&&t?.info?.file_name===e.sourceFilename);return u||c||n?._pushed||(a==="RUNNING"||a==="PENDING"||!a)&&n?._completed?!0:{success:!1,retryable:!0}}return l==="本文件解析完毕"||l==="已被全局判定为终态"?!1:t?.has_progress||t?.info?!0:l==="已入队"||l==="处理中"}function Se(e){return e.map(s=>A(s)?{...s,matched:!0,_pushed:!1,_completed:!1}:{...s,matched:!1,openStoreUrl:void 0,error:s.error||void 0,_pushed:!1,_completed:!1})}function Te(e){return e.matchStatus==="INDEX_STALE"&&A(e)?`已匹配 ${e.shopId||""}(索引过期,可继续推送)`.trim():e.matchStatus==="MATCHED"||e.matched?`已匹配 ${e.shopId||""}`.trim():e.matchMessage?e.matchMessage:e.matchStatus==="CONFLICT"?"存在多个同名店铺,请人工确认":e.matchStatus==="PENDING"?"店铺索引暂未就绪":e.matchStatus?e.matchStatus:e.matched?`已匹配 ${e.shopId||""}`.trim():"待匹配"}function je(){ge.value=[...N.value,...ee.value]}function $(){je(),ze(ge.value)}function ze(e){W.value={total:e.length,successCount:e.filter(s=>s.success).length,failedCount:e.filter(s=>!s.success).length,items:e}}function de(e){const s=e.taskId;return s&&(m.value[s]?.fileProgress||[]).find(r=>r.fileKey&&e.fileKey?r.fileKey===e.fileKey:r.sourceFilename&&e.sourceFilename?r.sourceFilename===e.sourceFilename:!1)||null}function Ce(e){const s=e.taskId;if(!s)return"";const t=m.value[s],a=t?.line_progress?.info,r=de(e);if(P(s)){const u=x(s,e),c=t?.task?.status,_=!!(a?.file_name&&a.file_name===e.sourceFilename);let k=u?._completed?"COMPLETED":(u?._pushed,"PENDING"),g=0,w=Math.max(0,e.totalRows??r?.totalRows??0);c==="SUCCESS"||c==="FAILED"&&u?._completed?(k="COMPLETED",g=w):_?(k="RUNNING",g=Math.max(0,Math.min(w||Number.MAX_SAFE_INTEGER,a?.current_line??0)),!w&&a?.total_lines&&a.total_lines>0&&(w=a.total_lines)):u?._completed?(k="COMPLETED",g=w):u?._pushed&&(k="PENDING",g=0);const I=[];if(I.push(`文件状态:${k}`),I.push(`文件进度:${g}/${w}`),a?.finished_files!=null){const C=a.file_total&&a.file_total>0?`/${a.file_total}`:"";I.push(`已完成文件:${a.finished_files}${C}`)}return a?.phase&&I.push(`阶段:${a.phase}`),I.join("|")}if(r){const u=[],c=r.processedRows??0,_=r.totalRows??0;if(r.status&&u.push(`文件状态:${r.status}`),u.push(`文件进度:${c}/${_}`),a?.finished_files!=null){const k=a.file_total&&a.file_total>0?`/${a.file_total}`:"";u.push(`已完成文件:${a.finished_files}${k}`)}return a?.phase&&u.push(`阶段:${a.phase}`),u.join("|")}if(!t?.line_progress?.has_progress||!a){const u=t?.task?.status;return u?`任务状态:${u}`:""}const n=[];if(a.phase&&n.push(`阶段:${a.phase}`),a.file_index&&a.file_total&&n.push(`文件:${a.file_index}/${a.file_total}`),a.file_name&&n.push(`当前文件:${a.file_name}`),a.current_line!=null&&a.total_lines!=null&&n.push(`${P(s)?"当前文件进度":"进度"}:${a.current_line}/${a.total_lines}`),a.current_country&&n.push(`国家:${a.current_country}`),a.current_asin&&n.push(`ASIN:${a.current_asin}`),a.finished_files!=null){const u=a.file_total&&a.file_total>0?`/${a.file_total}`:"";n.push(`已完成文件:${a.finished_files}${u}`)}return n.join("|")}function te(e){const s=e.taskId;if(!s)return 0;const t=m.value[s]?.line_progress?.info;if(P(s)){const n=x(s,e);if(m.value[s]?.task?.status==="SUCCESS"||n?._completed)return 100;const c=Math.max(0,e.totalRows??de(e)?.totalRows??0);if(!!(t?.file_name&&t.file_name===e.sourceFilename)){if(t?.current_line!=null&&t?.total_lines&&t.total_lines>0)return Math.max(0,Math.min(100,Math.round(t.current_line/t.total_lines*100)));if(t?.current_line!=null&&c>0)return Math.max(0,Math.min(100,Math.round(t.current_line/c*100)))}return 0}const r=de(e);return r?Math.max(0,Math.min(100,r.percent??0)):t?t.current_line!=null&&t.total_lines&&t.total_lines>0?Math.max(0,Math.min(100,Math.round(t.current_line/t.total_lines*100))):t.finished_files!=null&&t.file_total&&t.file_total>0?Math.max(0,Math.min(100,Math.round(t.finished_files/t.file_total*100))):m.value[s]?.task?.status==="SUCCESS"?100:0:0}function Re(e){const s=m.value[e]?.task?.status;return ke(s)}function H(){const e=new Set;return i.value.forEach(s=>{s.items.some(t=>t._pushed)&&e.add(s.taskId)}),Array.from(e)}function E(e){const s=e.taskId;if(!s||!ce(s))return"";const a=x(s,e),r=Ie(s),l=m.value[s]?.line_progress,n=P(s);if(!n&&(r==="SUCCESS"||r==="FAILED"||e.taskStatus==="SUCCESS"||e.taskStatus==="FAILED"))return"已被全局判定为终态";if(ae(e)||ae(a)||a?._completed)return"本文件解析完毕";if(r==="RUNNING"&&l?.has_progress&&l?.info?.file_name===e.sourceFilename)return"处理中";if(n&&!a?._pushed&&!a?._completed)return"未入队";if(n&&r==="SUCCESS")return"本文件解析完毕";if(!n){const u=m.value[s];if(u?.items&&u.items.find(_=>q(_,e))&&r==="SUCCESS")return"本文件解析完毕"}return a?._pushed?"已入队":"未入队"}function Ne(e){return!!(e.downloadUrl||e.fileReady)}function ae(e){if(!e)return!1;const s=String(e.fileStatus||"").toUpperCase();return!!(e.fileReady||e.downloadUrl||s==="SUCCESS"||s==="COMPLETED")}function F(e,s){return e??s}function Ve(e){const s=e?.task?.id;if(!s)return!1;const t=i.value.find(n=>n.taskId===s);if(!t)return{success:!1,retryable:!1};const a=e?.items||[];let r=!1;const l=t.items.map(n=>{const u=a.find(_e=>q(_e,n));if(!u)return n;const c=Array.isArray(u.countries)?u.countries:void 0,_=Array.isArray(n.countries)?n.countries:void 0,k=c&&c.length>0?c:_&&_.length>0?_:c??_,g=Array.isArray(u.previewRows)?u.previewRows:void 0,w=Array.isArray(n.previewRows)?n.previewRows:void 0,I=g&&g.length>0?g:w&&w.length>0?w:g??w,C={...n,...u,shopName:F(u.shopName,n.shopName),companyName:F(u.companyName,n.companyName),shopId:F(u.shopId,n.shopId),platform:F(u.platform,n.platform),openStoreUrl:F(u.openStoreUrl,n.openStoreUrl),matchStatus:F(u.matchStatus,n.matchStatus),matchMessage:F(u.matchMessage,n.matchMessage),matched:A(n)||A(u),countryCount:F(u.countryCount,n.countryCount),countries:k,previewRows:I,_pushed:n._pushed,_completed:n._completed||ae(u)};return JSON.stringify(C)!==JSON.stringify(n)&&(r=!0),C});for(const n of a)l.some(u=>q(u,n))||(l.push({...n,_pushed:!1,_completed:ae(n)}),r=!0);return JSON.stringify(l)!==JSON.stringify(t.items)&&(t.items=l,r=!0),r&&ie(),r}async function fe(e){const s=e||H();if(s.length)try{const t=await cs(s);re.value&&R.value&&(b.value="后端已恢复,继续执行当前任务并自动衔接后续任务..."),re.value=!1;let a=!1;for(const r of t.items||[]){const l=r?.task?.id;typeof l=="number"&&l>0&&(m.value[l]=r,Ve(r)&&(a=!0),we(l)&&(a=!0))}a&&$()}catch(t){const a=(t instanceof Error?t.message:String(t||"")).toLowerCase();["无法连接到后端服务","bad gateway","gateway timeout","network error","timeout","502","503","504"].some(l=>a.includes(l.toLowerCase()))&&R.value&&(re.value=!0,b.value="当前任务运行中,正在等待后端服务恢复...")}}function Qe(){return _s()}function ve(e=!1){if(U)return;if(T.value){if(!e)return;L.clearTimer("task-poll",T.value),T.value=null}const s=async()=>{if(T.value=null,U)return;if(le.value){ve();return}const t=H();if(!t.length)return;le.value=!0;let a=!1,r=!1;try{await fe(t),await Le();for(const l of t)Re(l)&&(me(l),a=!0,r=!0)}finally{le.value=!1}r?await J():a&&$(),!U&&H().length>0&&ve()};e?s():T.value=L.setTimeout("task-poll",s,Qe())}function he(e=!1){T.value&&!e||ve(e)}function ne(e){if(e.fileReady||e.downloadUrl)return{className:"success",text:"已完成"};const s=e.taskId?m.value[e.taskId]?.task?.status:null;return s==="SUCCESS"?{className:"success",text:"已完成"}:s==="FAILED"?{className:"failed",text:"失败"}:s==="RUNNING"?{className:"running",text:"执行中"}:e.taskStatus==="SUCCESS"?{className:"success",text:"已完成"}:e.taskStatus==="FAILED"?{className:"failed",text:"失败"}:e.taskStatus==="RUNNING"?{className:"running",text:"执行中"}:e.success?{className:"success",text:"已完成"}:{className:"failed",text:"失败"}}function Ee(){T.value&&(L.clearTimer("task-poll",T.value),T.value=null),pe()}async function Fe(e){const s=Q();if(!s?.upload_file_to_java)throw new Error("当前桌面端未提供文件上传桥接能力");const t=[];for(const a of e){const r=typeof a=="string"?a:a.absolutePath,l=typeof a=="string"?void 0:a.relativePath,n=await s.upload_file_to_java(r,l);if(!n?.success||!n.data)throw new Error(n?.error||n?.message||`上传失败:${r}`);t.push(n.data)}return t}async function Xe(){const e=Q();if(!e?.select_brand_xlsx_files){p.warning("当前环境不支持文件选择,请在本机客户端中打开");return}try{const s=await e.select_brand_xlsx_files();if(!s?.length)return;M.value=s,X.value=await Fe(s),p.success(`已选择 ${s.length} 个删除品牌文件`)}catch(s){p.error(s instanceof Error?s.message:"选择失败")}}async function We(){const e=Q();if(!e?.select_brand_folder){p.warning("当前环境不支持文件夹选择,请在本机客户端中打开");return}try{const s=await e.select_brand_folder();if(!s)return;const t=await ks(s);if(!t.success||!t.items?.length){p.warning(t.error||"该文件夹下没有 xlsx 文件");return}M.value=t.items.map(a=>a.relativePath||a.absolutePath),X.value=await Fe(t.items),p.success(`已选择文件夹内 ${t.items.length} 个 xlsx 文件`)}catch(s){p.error(s instanceof Error?s.message:"选择失败")}}async function Ye(){if(!X.value.length){p.warning("请先选择待处理文件");return}try{O.value=!0;const e=await ds({files:X.value.map(l=>({fileKey:l.fileKey,originalFilename:l.originalFilename,relativePath:l.relativePath}))}),s=Se(e.items||[]),t=s.some(l=>A(l)),a=s.some(l=>l.matchStatus==="INDEX_STALE"&&l.matched),r=s.some(l=>!A(l));b.value=t?"解析完成,可在左侧点击“推送到 Python 队列”开始串行处理":"解析完成,当前没有可推送的文件",S.value="",s.length&&s[0].taskId&&ue(s[0].taskId,s,b.value,S.value),$(),r?p.warning("部分文件尚未命中可用店铺索引,已保留状态信息,请等待后台刷新后重试。"):a?p.warning("部分文件命中的是过期索引,仍可推送到 Python 队列;后台刷新后会自动重新匹配。"):t?p.success("删除品牌解析完成,请在左侧推送到 Python 队列"):p.warning("当前没有可推送的文件,请先等待店铺索引刷新。"),await J()}catch(e){p.error(e instanceof Error?e.message:"执行失败")}finally{O.value=!1}}async function Pe(e){const s=e.taskId;if(!s){p.warning("未找到任务ID");return}const t=Q(),a=e.resultId?fs(e.resultId):vs(s),r=e.outputFilename||e.sourceFilename||`delete-brand_${s}.xlsx`;if(t?.save_file_from_url_new){const l=await t.save_file_from_url_new(a,r);l.success?p.success(`已保存:${l.path||r}`):l.error&&l.error!=="用户取消"&&p.error(l.error);return}}async function J(){try{const e=await hs();K.value=Se(e.items||[]),Ge(K.value),$(),await fe(),he(!0)}catch(e){const s=(e instanceof Error?e.message:String(e||"")).toLowerCase();["无法连接到后端服务","bad gateway","gateway timeout","network error","timeout","502","503","504"].some(a=>s.includes(a.toLowerCase()))||console.error("loadHistory error:",e)}}function xe(e){i.value.forEach(t=>{t.items=t.items.filter(a=>a.resultId!==e)});const s=i.value.length;i.value=i.value.filter(t=>t.items.length>0),i.value.length!==s&&typeof window<"u"&&window.localStorage.setItem(D(),JSON.stringify(i.value)),K.value=K.value.filter(t=>t.resultId!==e),$(),H().length===0&&Ee()}async function $e(e){try{await ps(e),xe(e),await J(),p.success("已删除")}catch(s){const t=s instanceof Error?s.message:"删除失败";if(typeof t=="string"&&t.includes("记录不存在")){xe(e),p.success("已删除");return}p.error(t)}}function Ae(e){const s=e.slice(0,5).map(a=>`${a.country}:${a.asin}${a.status?`(${a.status})`:""}`);return e.length-s.length>0?`${s.join("、")} 等 ${e.length} 条`:s.join("、")}function Ft(e,s){}function pe(){G.value&&(L.clearTimer("auto-retry",G.value),G.value=null)}function Ze(e=3e3){U||(pe(),G.value=L.setTimeout("auto-retry",()=>{G.value=null,U||Le().catch(()=>{})},e))}function es(e){return e.includes("当前店铺正在执行中")}function De(){for(const e of i.value)for(const s of e.items){const t=E(s);if(t==="已入队"||t==="处理中")return!0}return!1}function j(e){return e.resultId!=null?`result:${e.resultId}`:`task:${e.taskId||0}:${e.sourceFilename||""}`}function A(e){return!!(e.matched||e.matchStatus==="MATCHED"||e.matchStatus==="INDEX_STALE"&&e.shopId)}function ss(e){return!!(e.shopName&&Array.isArray(e.countries)&&e.countries.length>0)}function Me(e){return!!(e.taskId&&(A(e)||ss(e)))}function Be(){return N.value.find(e=>!Me(e)||j(e)===B.value||x(e.taskId,e)?._completed?!1:E(e)==="未入队")}async function Ue(e,s){if(s?.auto&&De())return e.taskId,e.sourceFilename,{success:!1,retryable:!0};const t=Q(),a=e.taskId;if(!a)return{success:!1,retryable:!1};const r=i.value.find(c=>c.taskId===a);if(!r)return{success:!1,retryable:!1};if(!t?.enqueue_json)return p.error("当前环境未启用 pywebview enqueue_json(浏览器环境不会推送)"),{success:!1,retryable:!1};const l={type:"delete-brand-run",ts:Date.now(),data:{taskId:a,items:[e]}};S.value=JSON.stringify(l,null,2);const n=await t.enqueue_json(l);let u="";if(n?.success){u=`已推送文件 ${e.sourceFilename},当前队列长度:${n.queue_size??"-"}`;const c=x(a,e);return c&&(c._pushed=!0,c._completed=!1),B.value=j(e),ue(a,r.items,u,S.value),he(!0),b.value=u,{success:!0,retryable:!1}}else{const c=n?.error||"未知错误";if(u=`推送到 Python 队列失败:${c}`,b.value=u,ue(a,r.items,u,S.value),s?.auto&&es(c))return{success:!1,retryable:!0}}return b.value=u,{success:!1,retryable:!1}}async function ts(){const e=Be();if(!e){p.warning("当前没有可推送的文件");return}Y.value=!0,R.value=!0,pe();const s=await Ue(e);if(Y.value=!1,!s.success){R.value=!1,B.value="";return}p.success("已开始按顺序推送到 Python 队列")}async function Le(){if(!R.value||Z.value){R.value,Z.value;return}if(De())return;const e=B.value;if(e){const t=N.value.find(a=>j(a)===e);if(t){const a=t.taskId,r=P(a);r&&(we(a),E(t),void 0);const l=E(t);if(l==="已入队"||l==="处理中"){t.sourceFilename;return}if(r){const n=x(a,t);if(n&&!n._completed){t.sourceFilename,n._pushed,n._completed;return}}}}const s=Be();if(!s){B.value="",R.value=!1;return}Z.value=!0;try{s.taskId,s.sourceFilename,j(s);const t=await Ue(s,{auto:!0});if(!t.success){if(t.retryable){s.taskId,s.sourceFilename,Ze();return}s.taskId,s.sourceFilename,R.value=!1}}finally{Z.value=!1}}return ls(()=>{Ke();const e=H();e.length>0?fe(e).then(async()=>{let s=!1,t=!1;for(const a of e)Re(a)&&(me(a),s=!0,t=!0);t?await J():s&&$(),he(!0)}):$(),J().catch(()=>{})}),rs(()=>{U=!0,Ee(),L.clearScope()}),(e,s)=>(d(),f("div",Is,[os(us,{active:"delete-brand"}),o("div",bs,[o("aside",Ss,[s[2]||(s[2]=o("div",{class:"section-title"},"选择文件",-1)),o("div",Ts,[s[0]||(s[0]=o("div",{class:"hint"},"上传删除品牌 Excel;无论是直接上传文件还是上传文件夹批量导入,都会按每个 Excel 文件名作为店铺名。",-1)),o("div",{class:"btns"},[o("button",{type:"button",class:"opt-btn",onClick:Xe},"选择 Excel 文件"),o("button",{type:"button",class:"opt-btn",onClick:We},"选择文件夹")]),o("div",Cs,[M.value.length?(d(),f(z,{key:0},[(d(!0),f(z,null,ye(oe.value,t=>(d(),f("span",{key:t},v(t),1))),128)),M.value.length>oe.value.length?(d(),f("span",Rs," 还有 "+v(M.value.length-oe.value.length)+" 个文件未展开显示 ",1)):h("",!0)],64)):(d(),f("span",Ns,"暂未选择删除品牌文件"))])]),s[3]||(s[3]=is('
执行说明
',2)),o("div",Es,[o("button",{type:"button",class:"btn-run",disabled:O.value,onClick:Ye},v(O.value?"解析中...":"开始解析"),9,Fs),o("button",{type:"button",class:"btn-run btn-queue",disabled:Y.value||!Je.value.length,onClick:ts},v(Y.value?"推送中...":"推送到 Python 队列"),9,Ps),o("span",xs,v(O.value?"正在读取删除品牌数据,请稍候…":"解析后会在右侧展示按国家分组的去重结果"),1)]),b.value||S.value?(d(),f("div",$s,[s[1]||(s[1]=o("div",{class:"section-title queue-debug-title"},"Python 队列推送结果",-1)),b.value?(d(),f("div",As,v(b.value),1)):h("",!0),S.value?(d(),f("pre",Ds,v(S.value),1)):h("",!0)])):h("",!0)]),o("section",Ms,[s[12]||(s[12]=o("div",{class:"panel-header"},"删除品牌结果",-1)),o("div",Bs,[o("div",Us,[o("div",Ls,[s[4]||(s[4]=o("span",{class:"summary-label"},"已处理文件",-1)),o("strong",null,v(W.value.total),1)]),o("div",qs,[s[5]||(s[5]=o("span",{class:"summary-label"},"成功结果",-1)),o("strong",null,v(W.value.successCount),1)]),o("div",Os,[s[6]||(s[6]=o("span",{class:"summary-label"},"失败文件",-1)),o("strong",null,v(W.value.failedCount),1)])]),o("div",Ks,[s[11]||(s[11]=o("div",{class:"result-list-header"},[o("span",null,"删除品牌结果列表")],-1)),He.value?(d(),f(z,{key:1},[N.value.length?(d(),f("div",Hs,[s[8]||(s[8]=o("div",{class:"result-subsection-title"},"当前任务",-1)),o("ul",Js,[(d(!0),f(z,null,ye(N.value,t=>(d(),f("li",{key:`current-${t.taskId||t.resultId||t.sourceFilename}`,class:"task-item split-result-item"},[o("div",js,[o("span",{class:"id",title:t.sourceFilename},v(t.sourceFilename||"-"),9,zs),o("div",Vs,"店铺名:"+v(t.shopName||"-"),1),o("div",Qs,"匹配结果:"+v(Te(t)),1),t.platform?(d(),f("div",Xs,"平台:"+v(t.platform),1)):h("",!0),E(t)?(d(),f("div",Ws,"队列状态:"+v(E(t)),1)):h("",!0),t.countryCount!==void 0&&t.matched?(d(),f("div",Ys,"国家数:"+v(t.countryCount),1)):h("",!0),t.totalRows!==void 0&&t.matched?(d(),f("div",Zs,"去重后 "+v(t.totalRows)+" 条 ",1)):h("",!0),be(t)?(d(),f("div",et,[o("div",st,[s[7]||(s[7]=o("span",null,"任务进度",-1)),o("span",null,v(te(t))+"%",1)]),o("div",tt,[o("div",{class:"delete-brand-progress-bar-fill",style:qe({width:`${te(t)}%`})},null,4)]),o("div",at,v(Ce(t)),1)])):h("",!0),t.previewRows?.length?(d(),f("div",nt,v(Ae(t.previewRows)),1)):h("",!0),se(t)?(d(),f("div",lt,"错误信息:"+v(se(t)),1)):h("",!0)]),o("div",rt,[o("span",{class:Oe(["status",ne(t).className])},v(ne(t).text),3),Ne(t)?(d(),f("button",{key:0,type:"button",class:"download",onClick:a=>Pe(t)}," 下载 ",8,ot)):h("",!0),t.resultId?(d(),f("button",{key:1,type:"button",class:"btn-delete",onClick:a=>$e(t.resultId)}," 删除 ",8,ut)):h("",!0)])]))),128))])])):h("",!0),ee.value.length?(d(),f("div",it,[s[10]||(s[10]=o("div",{class:"result-subsection-title"},"历史记录",-1)),o("ul",ct,[(d(!0),f(z,null,ye(ee.value,t=>(d(),f("li",{key:`history-${t.taskId||t.resultId||t.sourceFilename}`,class:"task-item split-result-item"},[o("div",dt,[o("span",{class:"id",title:t.sourceFilename},v(t.sourceFilename||"-"),9,ft),o("div",vt,"店铺名:"+v(t.shopName||"-"),1),o("div",ht,"匹配结果:"+v(Te(t)),1),t.platform?(d(),f("div",pt,"平台:"+v(t.platform),1)):h("",!0),t.countryCount!==void 0&&t.matched?(d(),f("div",_t,"国家数:"+v(t.countryCount),1)):h("",!0),t.totalRows!==void 0&&t.matched?(d(),f("div",yt,"去重后 "+v(t.totalRows)+" 条 ",1)):h("",!0),be(t)?(d(),f("div",gt,[o("div",mt,[s[9]||(s[9]=o("span",null,"任务进度",-1)),o("span",null,v(te(t))+"%",1)]),o("div",kt,[o("div",{class:"delete-brand-progress-bar-fill",style:qe({width:`${te(t)}%`})},null,4)]),o("div",wt,v(Ce(t)),1)])):h("",!0),t.previewRows?.length?(d(),f("div",It,v(Ae(t.previewRows)),1)):h("",!0),se(t)?(d(),f("div",bt,"错误信息:"+v(se(t)),1)):h("",!0)]),o("div",St,[o("span",{class:Oe(["status",ne(t).className])},v(ne(t).text),3),Ne(t)?(d(),f("button",{key:0,type:"button",class:"download",onClick:a=>Pe(t)}," 下载 ",8,Tt)):h("",!0),t.resultId?(d(),f("button",{key:1,type:"button",class:"btn-delete",onClick:a=>$e(t.resultId)}," 删除 ",8,Ct)):h("",!0)])]))),128))])])):h("",!0)],64)):(d(),f("div",Gs," 暂无删除品牌结果,完成解析后会在这里展示按国家分组的去重结果 "))])])])])]))}}),Nt=ys(Rt,[["__scopeId","data-v-ebc81d26"]]);gs(Nt).use(ms).mount("#app"); diff --git a/new_web_source/assets/el-input-xaztPnzw.css b/new_web_source/assets/el-input-xaztPnzw.css new file mode 100644 index 0000000..20791b7 --- /dev/null +++ b/new_web_source/assets/el-input-xaztPnzw.css @@ -0,0 +1 @@ +.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;vertical-align:bottom;width:100%;font-size:var(--el-font-size-base);display:inline-block;position:relative}.el-textarea__inner{resize:vertical;box-sizing:border-box;width:100%;line-height:1.5;font-size:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);background-image:none;border:none;padding:5px 11px;font-family:inherit;display:block;position:relative}.el-textarea__inner.is-clearable{padding:5px 26px 5px 11px}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea__clear{color:var(--el-input-icon-color);cursor:pointer;font-size:14px;position:absolute;top:15px;right:11px;transform:translateY(-50%)}.el-textarea__clear:hover{color:var(--el-input-clear-hover-color)}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);font-size:12px;line-height:14px;position:absolute;bottom:5px;right:10px}.el-textarea .el-input__count.is-outside{top:100%;right:0;bottom:unset;background:0 0;padding-top:2px;line-height:1;position:absolute}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);font-size:var(--el-font-size-base);width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle;display:inline-flex;position:relative}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;color:var(--el-color-info);align-items:center;font-size:12px;display:inline-flex}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;padding-left:8px;display:inline-block}.el-input .el-input__count.is-outside{height:unset;padding-top:2px;position:absolute;top:100%;right:0}.el-input .el-input__count.is-outside .el-input__count-inner{background:0 0;padding-left:0;line-height:1}.el-input__wrapper{background-color:var(--el-input-bg-color,var(--el-fill-color-blank));border-radius:var(--el-input-border-radius,var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;background-image:none;flex-grow:1;justify-content:center;align-items:center;padding:1px 11px;display:inline-flex;transform:translate(0)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height,32px) - 2px)}.el-input__inner{-webkit-appearance:none;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);box-sizing:border-box;background:0 0;border:none;outline:none;flex-grow:1;padding:0}.el-input__inner:focus{outline:none}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__prefix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__suffix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;transition:all var(--el-transition-duration);justify-content:center;align-items:center;margin-left:8px;display:flex}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);cursor:not-allowed;box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height,40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height,24px) - 2px)}.el-input-group{align-items:stretch;width:100%;display:inline-flex}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);border-radius:var(--el-input-border-radius);white-space:nowrap;justify-content:center;align-items:center;min-height:100%;padding:0 20px;display:inline-flex;position:relative}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-select,.el-input-group__append .el-button,.el-input-group__prepend .el-select,.el-input-group__prepend .el-button{flex:1;margin:0 -20px;display:inline-block}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{color:inherit;background-color:#0000;border-color:#0000}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-hidden{display:none!important} diff --git a/new_web_source/assets/el-table-column-BoPoyBFZ.css b/new_web_source/assets/el-table-column-BoPoyBFZ.css new file mode 100644 index 0000000..561c744 --- /dev/null +++ b/new_web_source/assets/el-table-column-BoPoyBFZ.css @@ -0,0 +1 @@ +.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;position:relative;overflow:hidden}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{cursor:pointer;border-radius:inherit;background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));width:0;height:0;transition:var(--el-transition-duration) background-color;opacity:var(--el-scrollbar-opacity,.3);display:block;position:relative}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{z-index:1;border-radius:4px;position:absolute;bottom:2px;right:2px}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);--el-popper-bg-color-light:var(--el-bg-color-overlay);--el-popper-bg-color-dark:var(--el-text-color-primary);border-radius:var(--el-popper-border-radius);z-index:2000;overflow-wrap:break-word;word-break:normal;visibility:visible;min-width:10px;padding:5px 11px;font-size:12px;line-height:20px;position:absolute}.el-popper.is-dark{--el-fill-color-blank:var(--el-popper-bg-color-dark);color:var(--el-bg-color);background:var(--el-popper-bg-color-dark);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-popper-bg-color-dark);right:0}.el-popper.is-light{--el-fill-color-blank:var(--el-popper-bg-color-light);background:var(--el-popper-bg-color-light);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-popper-bg-color-light);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{z-index:-1;width:10px;height:10px;position:absolute}.el-popper__arrow:before{z-index:-1;content:" ";background:var(--el-text-color-primary);box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-top-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-right-color:#0000!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-top-color:#0000!important;border-right-color:#0000!important}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary);color:var(--el-checkbox-text-color);font-weight:var(--el-checkbox-font-weight);font-size:var(--el-font-size-base);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;height:var(--el-checkbox-height,32px);align-items:center;margin-right:30px;display:inline-flex;position:relative}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box;padding:0 15px 0 9px}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.is-bordered.el-checkbox--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:0 11px 0 7px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox input:focus-visible+.el-checkbox__inner{outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--el-checkbox-border-radius)}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:none;display:inline-flex;position:relative}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:var(--el-checkbox-disabled-icon-color);will-change:transform}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-checked-icon-color);transform:translate(-45%,-60%)rotate(45deg)scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";background-color:var(--el-checkbox-checked-icon-color);height:2px;display:block;position:absolute;top:5px;left:0;right:0;transform:scale(.5)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;width:var(--el-checkbox-input-width);height:var(--el-checkbox-input-height);background-color:var(--el-checkbox-bg-color);z-index:var(--el-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46);display:inline-block;position:relative}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{box-sizing:content-box;content:"";transform-origin:50%;border:1px solid #0000;border-top:0;border-left:0;width:3px;height:7px;transition:transform .15s ease-in 50ms;position:absolute;top:50%;left:50%;transform:translate(-45%,-60%)rotate(45deg)scaleY(0)}.el-checkbox__original{opacity:0;z-index:-1;outline:none;width:0;height:0;margin:0;position:absolute}.el-checkbox__label{line-height:1;font-size:var(--el-checkbox-font-size);padding-left:8px;display:inline-block}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox:last-of-type{margin-right:0}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-fill-color-blank);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px #00000026;--el-table-fixed-right-column:inset -10px 0 10px -10px #00000026;--el-table-index:var(--el-index-normal);box-sizing:border-box;background-color:var(--el-table-bg-color);width:100%;max-width:100%;height:-moz-fit-content;height:fit-content;font-size:var(--el-font-size-base);color:var(--el-table-text-color);position:relative;overflow:hidden}.el-table__inner-wrapper{flex-direction:column;height:100%;display:flex;position:relative}.el-table__inner-wrapper:before{height:1px;bottom:0;left:0}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell,.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell{border-bottom-color:#0000}.el-table__empty-block{text-align:center;justify-content:center;align-items:center;width:100%;min-height:60px;display:flex;position:sticky;left:0}.el-table__empty-text{width:50%;color:var(--el-text-color-secondary);line-height:60px}.el-table__expand-column .cell{text-align:center;-webkit-user-select:none;user-select:none;padding:0}.el-table__expand-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__expand-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:-2px}.el-table__expand-icon{color:var(--el-text-color-regular);width:min(23px,100%);height:23px;font-size:12px;line-height:12px}.el-table__expand-icon.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:#0000!important}.el-table__placeholder{width:20px;display:inline-block}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-bottom:0;border-right:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--fit .el-table__inner-wrapper:before{width:100%}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;text-align:left;min-width:0;z-index:var(--el-table-index);padding:8px 0;position:relative}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{border-bottom-width:0;border-right-width:0;width:15px;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;text-overflow:ellipsis;white-space:normal;overflow-wrap:break-word;padding:0 12px;line-height:23px;overflow:hidden}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:var(--el-font-size-base)}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:var(--el-font-size-extra-small)}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table th.el-table__cell.is-leaf,.el-table td.el-table__cell{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{content:"";vertical-align:middle;background:#ff4d51;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border:after,.el-table--border:before,.el-table--border .el-table__inner-wrapper:after,.el-table__inner-wrapper:before{content:"";background-color:var(--el-table-border-color);z-index:calc(var(--el-table-index) + 2);position:absolute}.el-table--border .el-table__inner-wrapper:after{width:100%;height:1px;z-index:calc(var(--el-table-index) + 2);top:0;left:0}.el-table--border:before{width:1px;height:100%;top:-1px;left:0}.el-table--border:after{width:1px;height:100%;top:-1px;right:0}.el-table--border .el-table__inner-wrapper{border-bottom:none;border-right:none}.el-table--border .el-table__footer-wrapper{flex-shrink:0;position:relative}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__header-wrapper,.el-table__body-wrapper,.el-table__footer-wrapper{width:100%}.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right,.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right{background:inherit;z-index:calc(var(--el-table-index) + 1);position:sticky!important}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{content:"";width:10px;box-shadow:none;touch-action:none;pointer-events:none;position:absolute;top:0;bottom:0;overflow:hidden}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px}.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch,.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch{z-index:calc(var(--el-table-index) + 1);background:#fff;right:0;position:sticky!important}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__header,.el-table__body,.el-table__footer{table-layout:fixed;border-collapse:separate}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{flex-shrink:0;overflow:hidden}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__header-wrapper .el-table-column--selection>.cell,.el-table__body-wrapper .el-table-column--selection>.cell{align-items:center;height:23px;display:inline-flex}.el-table__header-wrapper .el-table-column--selection .el-checkbox,.el-table__body-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{flex:1;position:relative;overflow:hidden}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table .caret-wrapper:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table .caret-wrapper{vertical-align:middle;width:24px;height:14px;overflow:initial;flex-direction:column;align-items:center;display:inline-flex;position:relative}.el-table .sort-caret{border:5px solid #0000;width:0;height:0;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{visibility:hidden;z-index:-1;position:absolute}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row>td.el-table__cell,.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{z-index:calc(var(--el-table-index) + 2);position:sticky;top:0}.el-table.el-table--scrollable-y .el-table__body-footer{z-index:calc(var(--el-table-index) + 2);position:sticky;bottom:0}.el-table__column-resize-proxy{border-left:var(--el-table-border);width:0;z-index:calc(var(--el-table-index) + 9);position:absolute;top:0;bottom:0;left:200px}.el-table__column-filter-trigger{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__column-filter-trigger:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table__column-filter-trigger{display:inline-block}.el-table__column-filter-trigger i{color:var(--el-color-info);vertical-align:middle;font-size:14px}.el-table__border-left-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0;left:0}.el-table__border-bottom-patch{height:1px;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;left:0}.el-table__border-right-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{text-align:center;width:20px;display:inline-block}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);color:var(--el-tag-text-color);vertical-align:middle;height:24px;font-size:var(--el-tag-font-size);border-radius:var(--el-tag-border-radius);box-sizing:border-box;white-space:nowrap;--el-icon-size:14px;--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary);border-style:solid;border-width:1px;justify-content:center;align-items:center;padding:0 9px;line-height:1;display:inline-flex}.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color);flex-shrink:0}.el-tag .el-tag__close:hover{color:var(--el-color-white);background-color:var(--el-tag-hover-color)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag .el-icon{cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size);border-radius:50%;display:flex}.el-tag .el-tag__close{background-color:#0000;border:none;border-radius:50%;outline:none;margin-left:6px;padding:0;overflow:hidden}.el-tag .el-tag__close:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-tag--dark{--el-tag-text-color:var(--el-color-white);--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning,.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info{--el-tag-text-color:var(--el-color-white)}.el-tag--plain,.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{--el-icon-size:16px;height:32px;padding:0 11px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{--el-icon-size:12px;height:20px;padding:0 7px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:solid 1px var(--el-border-color-lighter);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;background-color:#fff;border-radius:2px}.el-table-filter__list{outline:none;min-width:100px;margin:0;padding:5px 0;list-style:none}.el-table-filter__list-item{cursor:pointer;line-height:36px;font-size:var(--el-font-size-base);outline:none;padding:0 10px}.el-table-filter__list-item:hover,.el-table-filter__list-item:focus{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__multiple{outline:none}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-filter__bottom button:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-filter__bottom button{color:var(--el-text-color-regular);font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{height:unset;align-items:center;margin-bottom:12px;margin-left:5px;margin-right:5px;display:flex}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0} diff --git a/new_web_source/assets/listingFilters-BpGOU_pJ.js b/new_web_source/assets/listingFilters-BpGOU_pJ.js new file mode 100644 index 0000000..c303fe5 --- /dev/null +++ b/new_web_source/assets/listingFilters-BpGOU_pJ.js @@ -0,0 +1 @@ +const e=[{value:"SearchSuppressed",label:"在搜索结果中禁止显示"},{value:"ApprovalRequired",label:"需要批准"},{value:"Active",label:"在售"},{value:"DetailPageRemoved",label:"详情页面已删除"}];export{e as L}; diff --git a/new_web_source/assets/listingFilters-CK58rX4v.css b/new_web_source/assets/listingFilters-CK58rX4v.css new file mode 100644 index 0000000..ee76fbe --- /dev/null +++ b/new_web_source/assets/listingFilters-CK58rX4v.css @@ -0,0 +1 @@ +.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{content:"";background-position:50%;background-repeat:no-repeat;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;border-top:none;border-right:none;width:12px;height:12px;position:absolute;top:50%;right:20px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat}.el-select-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__loading,.el-select-dropdown__empty{text-align:center;color:var(--el-text-color-secondary);font-size:var(--el-select-font-size);margin:0;padding:10px 0}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{box-sizing:border-box;margin:0;padding:6px 0;list-style:none}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__item{font-size:var(--el-font-size-base);white-space:nowrap;text-overflow:ellipsis;color:var(--el-text-color-regular);box-sizing:border-box;cursor:pointer;height:34px;padding:0 32px 0 20px;line-height:34px;position:relative;overflow:hidden}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:700}.el-select-dropdown__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed;background-color:unset}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{content:"";background-position:50%;background-repeat:no-repeat;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;border-top:none;border-right:none;width:12px;height:12px;position:absolute;top:50%;right:20px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{margin:0;padding:0;list-style:none;position:relative}.el-select-group__title{box-sizing:border-box;color:var(--el-color-info);text-overflow:ellipsis;white-space:nowrap;padding:0 20px;font-size:12px;line-height:34px;overflow:hidden}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-color:var(--el-disabled-text-color);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px;--el-select-width:100%;vertical-align:middle;width:var(--el-select-width);display:inline-block;position:relative}.el-select__wrapper{box-sizing:border-box;cursor:pointer;text-align:left;border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);min-height:32px;transition:var(--el-transition-duration);box-shadow:0 0 0 1px var(--el-border-color) inset;align-items:center;gap:6px;padding:4px 12px;font-size:14px;line-height:24px;display:flex;position:relative;transform:translate(0)}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag,.el-select__wrapper.is-disabled input{cursor:not-allowed}.el-select__wrapper.is-disabled .el-select__prefix,.el-select__wrapper.is-disabled .el-select__suffix{pointer-events:none}.el-select__prefix,.el-select__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;gap:6px;display:flex}.el-select__caret{color:var(--el-select-input-color);font-size:var(--el-select-input-font-size);transition:var(--el-transition-duration);cursor:pointer;transform:rotate(0)}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__clear{cursor:pointer}.el-select__clear:hover{color:var(--el-select-close-hover-color)}.el-select__selection{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{cursor:pointer;border-color:#0000}.el-select__selection .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{-webkit-user-select:none;user-select:none;flex-wrap:wrap;display:flex}.el-select__tags-text{text-overflow:ellipsis;white-space:nowrap;line-height:normal;display:block;overflow:hidden}.el-select__placeholder{z-index:-1;text-overflow:ellipsis;white-space:nowrap;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.el-select__placeholder.is-transparent{-webkit-user-select:none;user-select:none;color:var(--el-text-color-placeholder)}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-select__input-wrapper{flex:1}.el-select__input-wrapper.is-hidden{opacity:0;z-index:-1;position:absolute}.el-select__input{color:var(--el-select-multiple-input-color);font-size:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;outline:none;width:100%;height:24px;padding:0;font-family:inherit}.el-select__input-calculator{visibility:hidden;white-space:pre;max-width:100%;position:absolute;top:0;left:0;overflow:hidden}.el-select--large .el-select__wrapper{gap:6px;min-height:40px;padding:8px 16px;font-size:14px;line-height:24px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{gap:4px;min-height:24px;padding:2px 8px;font-size:12px;line-height:20px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px} diff --git a/new_web_source/assets/patrol-delete-CBBdonF4.css b/new_web_source/assets/patrol-delete-CBBdonF4.css new file mode 100644 index 0000000..966bf4f --- /dev/null +++ b/new_web_source/assets/patrol-delete-CBBdonF4.css @@ -0,0 +1 @@ +.module-page[data-v-b982bd51]{min-height:100vh;background:#1a1a1a}.main-content[data-v-b982bd51]{display:flex;min-height:calc(100vh - 56px);height:calc(100vh - 56px)}.left-panel[data-v-b982bd51]{width:400px;background:#1e1e1e;padding:20px;overflow-y:auto;border-right:1px solid #2a2a2a}.right-panel[data-v-b982bd51]{flex:1;display:flex;flex-direction:column;min-width:0;background:#1a1a1a}.section-title[data-v-b982bd51]{font-size:13px;color:#bbb;margin-bottom:10px}.condition-title[data-v-b982bd51]{display:flex;align-items:center;justify-content:space-between;gap:10px}.condition-title-hint[data-v-b982bd51]{flex:1;min-width:0;color:#d6a95a;font-size:12px;text-align:right;line-height:1.35}.input-zone[data-v-b982bd51]{border:1px dashed #3a3a3a;border-radius:10px;padding:16px;background:#252525;margin-bottom:20px}.hint[data-v-b982bd51]{color:#888;font-size:12px;margin-bottom:12px;line-height:1.5;text-align:left}.input-row[data-v-b982bd51]{display:flex;gap:10px;align-items:center}.input-row[data-v-b982bd51] .el-input{flex:1}.opt-btn[data-v-b982bd51]{padding:8px 12px;font-size:12px;color:#ccc;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:6px;cursor:pointer;white-space:nowrap}.opt-btn[data-v-b982bd51]:hover:not(:disabled){color:#3498db;border-color:#3498db}.opt-btn[data-v-b982bd51]:disabled{opacity:.6;cursor:not-allowed}.empty-candidates[data-v-b982bd51]{color:#666;font-size:13px;padding:16px;border:1px dashed #333;border-radius:8px;margin-bottom:16px}.candidate-table-scroll[data-v-b982bd51]{max-height:320px;overflow:auto;margin-bottom:18px;border-radius:8px;border:1px solid #2a2a2a}.candidate-table[data-v-b982bd51]{--el-table-bg-color: #252525;--el-table-tr-bg-color: #252525;--el-table-header-bg-color: #2a2a2a;--el-table-text-color: #ccc;--el-table-border-color: #333}.condition-panel[data-v-b982bd51]{margin-bottom:18px;border:1px solid #2a2a2a;border-radius:8px;background:#222;padding:12px}.condition-input-row[data-v-b982bd51]{display:flex;gap:10px;align-items:center;margin-bottom:10px}.condition-input-row[data-v-b982bd51] .el-input{flex:1}.empty-conditions[data-v-b982bd51]{color:#666;font-size:12px;padding:10px 4px}.condition-list[data-v-b982bd51]{list-style:none;margin:0;padding:0;max-height:150px;overflow:auto;display:flex;flex-direction:column;gap:8px}.condition-item[data-v-b982bd51]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 6px;border-bottom:1px solid #303030}.condition-item[data-v-b982bd51]:last-child{border-bottom:none}.condition-check[data-v-b982bd51]{display:flex;align-items:center;gap:8px;min-width:0;color:#cfd6df;font-size:12px;cursor:pointer}.condition-check input[data-v-b982bd51]{width:16px;height:16px;margin:0;flex:0 0 auto}.condition-check span[data-v-b982bd51]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-danger[data-v-b982bd51]{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:12px;padding:0}.link-danger[data-v-b982bd51]:hover{text-decoration:underline}.run-row[data-v-b982bd51]{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.btn-run[data-v-b982bd51]{padding:10px 18px;font-size:14px;font-weight:600;color:#fff;background:#3498db;border:none;border-radius:8px;cursor:pointer}.btn-run[data-v-b982bd51]:hover:not(:disabled){background:#2980b9}.btn-run[data-v-b982bd51]:disabled{opacity:.55;cursor:not-allowed}.btn-queue[data-v-b982bd51]{background:#27ae60}.btn-queue[data-v-b982bd51]:hover:not(:disabled){background:#219a52}.loading-msg[data-v-b982bd51]{margin-top:12px;font-size:12px;color:#777;line-height:1.5}.queue-debug-card[data-v-b982bd51]{margin-top:18px;padding:14px;border:1px solid #2a2a2a;border-radius:10px;background:#202020}.queue-debug-title[data-v-b982bd51]{margin-bottom:8px}.queue-debug-line[data-v-b982bd51]{color:#b8c1cc;font-size:12px;line-height:1.6;margin-bottom:8px}.queue-debug-payload[data-v-b982bd51]{margin:0;max-height:220px;overflow:auto;padding:10px;border-radius:8px;background:#141414;color:#8fd3ff;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.panel-header[data-v-b982bd51]{padding:16px 20px;font-size:15px;font-weight:600;color:#e0e0e0;border-bottom:1px solid #2a2a2a}.task-list-wrap[data-v-b982bd51]{flex:1;padding:16px 20px;overflow:auto}.clean-result-summary[data-v-b982bd51]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.summary-card[data-v-b982bd51]{padding:14px 16px;border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e}.summary-card strong[data-v-b982bd51]{display:block;margin-top:8px;font-size:22px;color:#eaf4ff}.summary-label[data-v-b982bd51]{font-size:12px;color:#8d8d8d}.subsection-title[data-v-b982bd51]{font-size:13px;color:#999;margin:8px 0 10px}.empty-tasks[data-v-b982bd51]{color:#666;font-size:13px;padding:16px;text-align:center}.empty-tasks.narrow[data-v-b982bd51]{padding:12px 8px}.match-table[data-v-b982bd51]{margin-bottom:18px}.match-table[data-v-b982bd51] .el-table__body tr:hover>td.el-table__cell,.match-table[data-v-b982bd51] .el-table__body tr.hover-row>td.el-table__cell,.match-table[data-v-b982bd51] .el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-tr-bg-color, #222)!important}.result-table[data-v-b982bd51]{--el-table-bg-color: #222;--el-table-tr-bg-color: #222;--el-table-header-bg-color: #2a2a2a;--el-table-text-color: #ccc;--el-table-border-color: #333}.ok[data-v-b982bd51]{color:#27ae60}.fail[data-v-b982bd51]{color:#e67e22}.result-list-wrap[data-v-b982bd51]{border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e;min-height:220px;margin-top:8px}.result-list-header[data-v-b982bd51]{padding:12px 16px;border-bottom:1px solid #2a2a2a;font-size:14px;color:#ddd}.result-subsection[data-v-b982bd51]{padding:12px 12px 4px}.result-subsection-title[data-v-b982bd51]{font-size:12px;color:#888;margin-bottom:8px}.task-list[data-v-b982bd51]{list-style:none;margin:0;padding:0}.task-item[data-v-b982bd51]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #2a2a2a;border-radius:8px;margin-bottom:8px;background:#222}.left[data-v-b982bd51]{flex:1;min-width:0}.split-result-main[data-v-b982bd51]{display:flex;flex-direction:column;gap:4px}.id[data-v-b982bd51]{font-weight:600;color:#e0e0e0;font-size:13px}.files[data-v-b982bd51]{font-size:12px;color:#888}.task-right[data-v-b982bd51]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.status[data-v-b982bd51]{padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap}.status.success[data-v-b982bd51]{background:#2ecc712e;color:#2ecc71}.status.failed[data-v-b982bd51]{background:#e74c3c2e;color:#ff6b6b}.status.running[data-v-b982bd51]{background:#3498db2e;color:#3498db}.archive[data-v-b982bd51]{padding:6px 10px;border-radius:6px;font-size:12px;background:#3498db2e;color:#69b6ff;border:none;cursor:pointer}.archive[data-v-b982bd51]:hover{background:#3498db47}.btn-delete[data-v-b982bd51]{padding:6px 10px;border-radius:6px;font-size:12px;background:#e74c3c1f;color:#ff8f8f;border:none;cursor:pointer}.btn-delete[data-v-b982bd51]:hover{background:#e74c3c38}@media(max-width:1100px){.main-content[data-v-b982bd51]{flex-direction:column;height:auto}.left-panel[data-v-b982bd51]{width:100%;border-right:none;border-bottom:1px solid #2a2a2a}.clean-result-summary[data-v-b982bd51]{grid-template-columns:repeat(2,minmax(0,1fr))}} diff --git a/new_web_source/assets/patrol-delete.js b/new_web_source/assets/patrol-delete.js new file mode 100644 index 0000000..86cd6c1 --- /dev/null +++ b/new_web_source/assets/patrol-delete.js @@ -0,0 +1 @@ +import{d as ue,o as ce,L as de,a as i,c as u,b as m,B as fe,e as a,aj as Mt,ak as pe,t as r,a5 as S,a6 as he,a7 as me,F as W,r as ut,w as ve,v as ye,f as v,a4 as _e,n as ct,x as At,g as p,h as M,bc as we,bd as ke,be as ge,bf as be,E as c,bg as Se,bh as Ie,bi as Te,bj as Ce,bk as Ee,i as Lt,bl as De,bm as Pe,bn as Ne,bo as $e,bp as Re,U as X,bq as Me,_ as Ae,aS as Le,q as qe,s as Be}from"./pywebview-CcblbV5J.js";import{z as xe}from"./zh-cn-DCaAv7Wt.js";/* empty css *//* empty css */import{c as Ue}from"./categorized-timers-JPA-olTr.js";const Fe={class:"page-shell module-page"},He={class:"main-content"},Oe={class:"left-panel"},Ve={class:"input-zone"},Qe={class:"input-row"},Ke=["disabled"],je={key:0,class:"empty-candidates"},ze={key:1,class:"candidate-table-scroll"},Ge=["onClick"],Je={class:"condition-panel"},We={class:"condition-input-row"},Xe=["disabled"],Ye={key:0,class:"empty-conditions"},Ze={key:1,class:"condition-list"},ts={class:"condition-check"},es=["value"],ss=["title"],as=["onClick"],ns={class:"run-row"},os=["disabled"],ls=["disabled"],rs={key:2,class:"queue-debug-card"},is={class:"queue-debug-line"},us={key:0,class:"queue-debug-payload"},cs={class:"right-panel"},ds={class:"task-list-wrap"},fs={class:"clean-result-summary"},ps={class:"summary-card"},hs={class:"summary-card"},ms={class:"summary-card"},vs={class:"summary-card"},ys={key:0,class:"empty-tasks narrow"},_s=["onClick"],ws={class:"result-list-wrap"},ks={key:0,class:"empty-tasks"},gs={key:0,class:"result-subsection"},bs={class:"task-list"},Ss={class:"left split-result-main"},Is=["title"],Ts={class:"files"},Cs={key:0,class:"files"},Es={key:1,class:"files"},Ds={key:2,class:"files"},Ps={class:"files"},Ns={class:"files"},$s={key:3,class:"files"},Rs={class:"task-right"},Ms=["onClick"],As={key:1,class:"result-subsection"},Ls={class:"task-list"},qs={class:"left split-result-main"},Bs=["title"],xs={class:"files"},Us={key:0,class:"files"},Fs={key:1,class:"files"},Hs={key:2,class:"files"},Os={class:"files"},Vs={key:3,class:"files"},Qs={class:"files"},Ks={key:4,class:"files"},js={class:"task-right"},zs=["onClick"],Gs=["onClick"],qt=30,Js=ue({__name:"BrandPatrolDeleteTab",setup(Xs){const dt=["德国","英国","法国","意大利","西班牙"],A=p(""),L=p(""),Y=p([]),q=p([]),D=p([]),_=p([]),w=p([]),g=p([]),P=p({candidateCount:0,processedTaskCount:0,successTaskCount:0,failedTaskCount:0}),B=p(!1),x=p(!1),U=p(!1),F=p(!1),y=p(""),Z=p(""),h=p(null),H=p(!1);let I=null;const T=Ue("patrol-delete"),tt=M(()=>w.value.filter(t=>t.matched)),ft=M(()=>Qt(g.value)),O=M(()=>ft.value.filter(t=>!kt(t.taskStatus))),et=M(()=>ft.value.filter(t=>kt(t.taskStatus))),V=M(()=>H.value||!!h.value);function st(){return typeof window<"u"&&window.localStorage.getItem("uid")||"0"}function pt(){return`patrol-delete:matched:${st()}`}function ht(){return`patrol-delete:queue-state:${st()}`}function N(t){return`${(t.shopName||"").trim()}::${t.shopId||""}`}function Q(t){return`${t.taskId??0}:${t.resultId??0}`}function mt(t){return`task:${t.taskId??t.resultId??0}`}let k=!1;function vt(t){return k?Promise.resolve():T.sleep("queue-wait",t)}function Bt(){T.clearCategory("queue-wait")}function yt(t){const e=t instanceof Error?t.message.toLowerCase():String(t||"").toLowerCase();return e.includes("network error")||e.includes("failed to fetch")||e.includes("timeout")||e.includes("503")||e.includes("502")||e.includes("504")||e.includes("500")||e.includes("load failed")}async function xt(t,e,n=20){let o=0;for(;;){if(k)throw new Error("component disposed");try{return await t()}catch(l){if(!yt(l)||o>=n-1)throw l;o+=1,e?.(o,n),await vt(X())}}}function Ut(t,e){return`patrol-delete:${t}:${e||"shop"}:${Date.now()}`}function at(t){if(!t)return"-";const e=new Date(t);if(Number.isNaN(e.getTime()))return t;const n=e.getFullYear(),o=String(e.getMonth()+1).padStart(2,"0"),l=String(e.getDate()).padStart(2,"0"),s=String(e.getHours()).padStart(2,"0"),f=String(e.getMinutes()).padStart(2,"0"),d=String(e.getSeconds()).padStart(2,"0");return`${n}-${o}-${l} ${s}:${f}:${d}`}function Ft(t){const e=(t||"").trim();return{MATCHED:"已匹配",PENDING:"待匹配",CONFLICT:"需人工确认",INDEX_STALE:"索引过期"}[e]||e||"-"}function Ht(t){const e=(t.matchMessage||"").trim();return e||(t.matched&&t.matchStatus==="MATCHED"?"索引已命中,可推送到 Python 队列":t.matched?"已命中索引,请结合状态列确认":"未命中或未就绪,请检查店铺名")}function Ot(){return dt.map(t=>({country:t,rows:[{status:"全部",quantity:"",deleteQuantity:"",processStatus:""}]}))}function Vt(){return dt.map(t=>({country:t,ratio:""}))}function _t(t){const e=t.countrySections||[],n=t.cartRatios||[],o=Math.max(...e.map(l=>l.rows.length),1);return Array.from({length:o},(l,s)=>({shopName:s===0?t.shopName:"",countries:e.map(f=>{const d=f.rows[s];return{country:f.country,status:d?.status||"",quantity:d?.quantity||"",deleteQuantity:d?.deleteQuantity||"",processStatus:d?.processStatus||""}}),cartRatios:s===0?n.map(f=>({country:f.country,ratio:f.ratio})):[]}))}function wt(t){return`${new Set([...(t.countrySections||[]).map(n=>n.country).filter(Boolean),...(t.cartRatios||[]).map(n=>n.country).filter(Boolean)]).size||0} 个国家,含状态数据和购物车比例`}function b(t){return Array.from(new Set(t.map(e=>e==null?"":String(e).trim()).filter(Boolean))).join("、")}function Qt(t){const e=new Map;for(const n of t||[]){const o=String(n.taskId??`result:${n.resultId??Math.random()}`),l=e.get(o)||[];l.push(n),e.set(o,l)}return Array.from(e.values()).map(n=>{const o=n.find(s=>St(s))||n.find(s=>s.taskStatus)||n[0],l=b(n.map(s=>s.error));return{...o,shopName:b(n.map(s=>s.shopName))||o.shopName,shopId:b(n.map(s=>s.shopId))||o.shopId,error:l||o.error,__groupItems:n}})}function C(t){return t.__groupItems||[t]}function K(t){return b(C(t).map(e=>e.shopName))||"-"}function j(t){return b(C(t).map(e=>e.resultId))}function z(t){return b(C(t).map(e=>e.shopId))}function G(t){return b(C(t).map(e=>e.error))}function kt(t){return t==="SUCCESS"||t==="FAILED"||t==="COMPLETED"}function gt(t){return t==="SUCCESS"||t==="COMPLETED"?"已完成":t==="FAILED"?"失败":"执行中"}function bt(t){return t==="SUCCESS"||t==="COMPLETED"?"success":t==="FAILED"?"failed":"running"}function St(t){return C(t).some(e=>!!(e.resultId&&(e.fileReady||e.downloadUrl)))}function It(){typeof window>"u"||window.localStorage.setItem(pt(),JSON.stringify(w.value))}function Kt(){try{const t=typeof window<"u"?window.localStorage.getItem(pt()):null;w.value=t?JSON.parse(t):[]}catch{w.value=[]}}function nt(){if(typeof window>"u")return;const t={activeTaskId:h.value};window.localStorage.setItem(ht(),JSON.stringify(t))}function jt(){try{const t=typeof window<"u"?window.localStorage.getItem(ht()):null;if(!t)return;const e=JSON.parse(t);h.value=e.activeTaskId??null}catch{h.value=null}}function E(){h.value=null,nt()}function zt(t){const e=t instanceof Error?t.message:String(t||"");return/记录不存在|任务不存在|不存在|已删除|not\s*found|404/i.test(e)}function ot(t){const e=N(t);w.value=w.value.filter(n=>N(n)!==e),It()}function Tt(t){g.value=g.value.filter(e=>!(t.resultId!=null&&e.resultId===t.resultId||t.taskId!=null&&e.taskId===t.taskId))}async function $(){Y.value=await we()}async function lt(){D.value=await ke();const t=new Set(D.value.map(e=>e.id));_.value=_.value.filter(e=>t.has(e))}async function R(){P.value=await ge()}async function rt(){const t=await be();g.value=t.items||[]}async function J(){await Promise.all([R(),rt()])}function Ct(t){if(!t.length)return;const e=new Map(t.map(o=>[Q(o),o])),n=g.value.map(o=>{const l=e.get(Q(o));return l?{...o,...l,countrySections:l.countrySections||o.countrySections||[],cartRatios:l.cartRatios||o.cartRatios||[]}:o});for(const o of t){const l=Q(o);n.some(s=>Q(s)===l)||n.push(o)}g.value=n}function Gt(t){Ct(t)}async function Et(t){const e=Array.from(new Set((t&&t.length?t:O.value.map(o=>o.taskId??0)).filter(o=>Number.isFinite(o)&&o>0)));if(!e.length)return[];const n=await Me(e);return Ct(n.items||[]),(n.missingTaskIds||[]).length&&await rt(),n.missingTaskIds||[]}function Jt(){if(it(),k||!V.value)return;const t=async()=>{I=null,!(k||!V.value)&&(await Et(),!k&&V.value&&(I=T.setTimeout("history-poll",t,X()*2)))};I=T.setTimeout("history-poll",t,X()*2)}function it(){I&&(T.clearTimer("history-poll",I),I=null)}function Wt(t){q.value=t}async function Dt(){const t=A.value.trim();if(!t){c.warning("请输入店铺名");return}B.value=!0;try{await Se(t),A.value="",await Promise.all([$(),R()]),c.success("已加入备选区")}catch(e){c.error(e instanceof Error?e.message:"添加失败")}finally{B.value=!1}}async function Pt(){const t=L.value.trim();if(!t){c.warning("请输入删除条件");return}x.value=!0;try{const e=await Ie(t);L.value="",await lt(),e?.id&&!_.value.includes(e.id)&&(_.value=[..._.value,e.id]),c.success("删除条件已保存")}catch(e){c.error(e instanceof Error?e.message:"保存失败")}finally{x.value=!1}}async function Xt(t){try{await Te(t),_.value=_.value.filter(e=>e!==t),await lt(),c.success("删除条件已删除")}catch(e){c.error(e instanceof Error?e.message:"删除失败")}}async function Yt(t){try{await Ce(t),q.value=q.value.filter(e=>e.id!==t),await Promise.all([$(),R()]),c.success("已删除")}catch(e){c.error(e instanceof Error?e.message:"删除失败")}}function Zt(t,e){const n=new Map;for(const o of t)n.set(N(o),o);for(const o of e)n.set(N(o),o);return Array.from(n.values())}async function te(){const t=q.value.map(e=>e.shop_name).filter(Boolean);if(!t.length){c.warning("请先勾选备选区店铺");return}U.value=!0;try{const e=await Ee(t);w.value=Zt(w.value,e.items||[]),It(),c.success(`本次返回 ${e.items?.length||0} 条匹配结果`)}catch(e){c.error(e instanceof Error?e.message:"匹配失败")}finally{U.value=!1}}function ee(t){ot(t),c.success("已从匹配结果移除")}function se(t){return{shopName:t.shopName,matched:t.matched,shopId:t.shopId,platform:t.platform,companyName:t.companyName,matchStatus:t.matchStatus,matchMessage:t.matchMessage,countrySections:Ot(),cartRatios:Vt()}}function ae(){const t=new Set(_.value);return D.value.filter(e=>t.has(e.id)).map(e=>({id:e.id,conditionText:e.conditionText}))}function ne(t,e){const n=e[0],o=ae();return{type:"patrol-delete-run",ts:Date.now(),data:{taskId:t,user_id:Number(st())||0,source:"frontend-vue-patrol-delete",delete_conditions:o,deleteConditions:o,items:e.map(l=>({shopName:l.shopName,shopId:l.shopId,platform:l.platform,companyName:l.companyName,matched:l.matched,matchStatus:l.matchStatus,matchMessage:l.matchMessage,countrySections:l.countrySections||[],cartRatios:l.cartRatios||[]})),template_rows:n?_t(n):[],shop_template_rows:e.map(l=>({shopName:l.shopName,shopId:l.shopId,templateRows:_t(l)})),country_sections:n?.countrySections||[],cart_ratios:n?.cartRatios||[]}}}function oe(t){return g.value.find(e=>e.taskId===t)}async function Nt(t){let e=0;for(;;){if(k)return"STOPPED";if(h.value!==t)return"DELETED";try{if((await Et([t])).includes(t))return E(),"DELETED";if(h.value!==t)return"DELETED";e>0&&(y.value=`任务 ${t} 后端已恢复,继续等待执行结果...`),e=0;const l=oe(t)?.taskStatus||"";if(l==="SUCCESS"||l==="FAILED"||l==="COMPLETED")return l}catch(n){if(!yt(n))throw n;if(e+=1,e>=qt)throw new Error(`任务 ${t} 等待后端恢复超时,请稍后刷新查看状态`);y.value=`任务 ${t} 执行中,正在等待后端服务恢复(${e}/${qt})...`}await vt(X())}}async function $t(){if(!(k||H.value)){H.value=!0,F.value=!0,Jt();try{const t=Lt();if(!t?.enqueue_json)throw new Error("当前客户端未提供 enqueue_json");if(h.value){const d=await Nt(h.value);y.value=d==="DELETED"?"任务已删除":`任务 ${h.value} ${d==="SUCCESS"?"已完成":"执行失败"}`,E();return}const e=tt.value;if(!e.length){c.warning("请先匹配可用店铺");return}const n=await xt(()=>De(e.map(se)),(d,ie)=>{y.value=`后端服务暂时不可用,正在重试创建任务(${d}/${ie})...`}),o=n.items||[];if(!n.taskId||!o.length||o.some(d=>!d.taskId||!d.resultId))throw new Error("后端未返回有效任务标识");h.value=n.taskId,nt(),Gt(o),R();const l=ne(n.taskId,o);Z.value=JSON.stringify(l,null,2);const s=await t.enqueue_json(l);if(!s?.success){await Pe(n.taskId,{shops:o.map(d=>({shopName:d.shopName||"",error:s?.error||`任务 ${n.taskId} 推送失败`,countrySections:d.countrySections||[],cartRatios:d.cartRatios||[],shopDone:!0,submissionId:Ut(n.taskId,d.shopName),chunkIndex:1,chunkTotal:1}))});for(const d of e)ot(d);await J(),y.value=`任务 ${n.taskId} 推送失败`,E();return}for(const d of e)ot(d);y.value=`任务 ${n.taskId} 已入队,共 ${o.length} 个店铺,等待执行完成`;const f=await Nt(n.taskId);y.value=`任务 ${n.taskId} ${f==="SUCCESS"?"已完成":f==="DELETED"?"已删除":"执行失败"}`,E(),await J(),c.success("巡店删除任务已完成")}catch(t){if(k)return;const e=t instanceof Error?t.message:"队列执行失败";y.value=e,c.error(e),await J()}finally{H.value=!1,F.value=!1,it(),nt()}}}async function le(){const t=tt.value;if(!t.length){c.warning("请先匹配可用店铺");return}y.value=`开始创建任务,共 ${t.length} 个店铺`,await $t()}async function re(t){const e=C(t).find(f=>!!(f.resultId&&(f.fileReady||f.downloadUrl)));if(!e?.resultId)return;const n=Lt();if(!n?.save_file_from_url_new){c.error("当前客户端未提供下载能力");return}const o=Ne(e.resultId),l=e.outputFilename||`${t.shopName||"patrol-delete-result"}.xlsx`,s=await n.save_file_from_url_new(o,l);s.success?c.success(`已保存: ${s.path||l}`):s.error&&s.error!=="用户取消"&&c.error(s.error)}async function Rt(t){try{if(t.taskId)await $e(t.taskId),h.value===t.taskId&&E();else if(t.resultId)await Re(t.resultId);else throw new Error("缺少可删除的任务标识");Tt(t),await Promise.allSettled([$(),J()]),c.success("已删除")}catch(e){if(zt(e)){t.taskId&&h.value===t.taskId&&E(),Tt(t),await $(),c.success("后端记录已不存在,已同步移除本地记录");return}c.error(e instanceof Error?e.message:"删除失败")}}return ce(async()=>{Kt(),jt(),await Promise.all([$(),lt(),R(),rt()]),h.value&&(y.value=h.value!=null?`检测到未完成任务,继续等待任务 ${h.value} 完成`:"",$t())}),de(()=>{k=!0,it(),Bt(),T.clearScope()}),(t,e)=>{const n=pe,o=he,l=me;return i(),u("div",Fe,[m(fe,{active:"patrol-delete"}),a("div",He,[a("aside",Oe,[e[5]||(e[5]=a("div",{class:"section-title"},"店铺输入",-1)),a("div",Ve,[e[3]||(e[3]=a("div",{class:"hint"}," 左侧负责录入店铺并加入备选区,点击“匹配店铺”只会生成匹配结果;确认后需手动点击“推送到 Python 队列”才会创建并执行任务。 ",-1)),a("div",Qe,[m(n,{modelValue:A.value,"onUpdate:modelValue":e[0]||(e[0]=s=>A.value=s),clearable:"",placeholder:"请输入店铺名后回车或点击添加",onKeyup:Mt(Dt,["enter"])},null,8,["modelValue"]),a("button",{type:"button",class:"opt-btn",disabled:B.value,onClick:Dt},r(B.value?"添加中...":"添加"),9,Ke)])]),e[6]||(e[6]=a("div",{class:"section-title"},"备选区",-1)),Y.value.length?(i(),u("div",ze,[m(l,{data:Y.value,"row-key":"id",height:"260",class:"candidate-table",onSelectionChange:Wt},{default:S(()=>[m(o,{type:"selection",width:"42"}),m(o,{prop:"shop_name",label:"店铺名","min-width":"140","show-overflow-tooltip":""}),m(o,{label:"操作",width:"72",align:"center"},{default:S(({row:s})=>[a("button",{type:"button",class:"link-danger",onClick:f=>Yt(s.id)}," 删除 ",8,Ge)]),_:1})]),_:1},8,["data"])])):(i(),u("div",je," 暂无备选店铺,请先输入并添加 ")),e[7]||(e[7]=a("div",{class:"section-title condition-title"},[a("span",null,"删除条件"),a("span",{class:"condition-title-hint"}," 注意删除条件的描述需要和页面描述一致 ")],-1)),a("div",Je,[a("div",We,[m(n,{modelValue:L.value,"onUpdate:modelValue":e[1]||(e[1]=s=>L.value=s),clearable:"",placeholder:"请输入删除条件",onKeyup:Mt(Pt,["enter"])},null,8,["modelValue"]),a("button",{type:"button",class:"opt-btn",disabled:x.value,onClick:Pt},r(x.value?"保存中...":"保存"),9,Xe)]),D.value.length?(i(),u("ul",Ze,[(i(!0),u(W,null,ut(D.value,s=>(i(),u("li",{key:s.id,class:"condition-item"},[a("label",ts,[ve(a("input",{"onUpdate:modelValue":e[2]||(e[2]=f=>_.value=f),type:"checkbox",value:s.id},null,8,es),[[ye,_.value]]),a("span",{title:s.conditionText},r(s.conditionText),9,ss)]),a("button",{type:"button",class:"link-danger",onClick:f=>Xt(s.id)}," 删除 ",8,as)]))),128))])):(i(),u("div",Ye," 暂无删除条件,保存后可在推送任务时多选携带。 "))]),a("div",ns,[a("button",{type:"button",class:"btn-run",disabled:U.value||V.value,onClick:te},r(U.value?"匹配中...":"匹配店铺"),9,os),a("button",{type:"button",class:"btn-run btn-queue",disabled:F.value||!tt.value.length,onClick:le},r(F.value?"任务执行中...":"推送到 Python 队列"),9,ls)]),e[8]||(e[8]=a("p",{class:"loading-msg"}," 当前页面会把匹配结果合并为一个巡店删除任务推送;多个店铺会在同一个任务和同一个结果文件中汇总。 ",-1)),y.value?(i(),u("div",rs,[e[4]||(e[4]=a("div",{class:"section-title queue-debug-title"},"队列状态",-1)),a("div",is,r(y.value),1),Z.value?(i(),u("pre",us,r(Z.value),1)):v("",!0)])):v("",!0)]),a("section",cs,[e[17]||(e[17]=a("div",{class:"panel-header"},"匹配与任务",-1)),a("div",ds,[a("div",fs,[a("div",ps,[e[9]||(e[9]=a("span",{class:"summary-label"},"备选店铺",-1)),a("strong",null,r(P.value.candidateCount),1)]),a("div",hs,[e[10]||(e[10]=a("span",{class:"summary-label"},"已处理任务",-1)),a("strong",null,r(P.value.processedTaskCount),1)]),a("div",ms,[e[11]||(e[11]=a("span",{class:"summary-label"},"成功任务",-1)),a("strong",null,r(P.value.successTaskCount),1)]),a("div",vs,[e[12]||(e[12]=a("span",{class:"summary-label"},"失败任务",-1)),a("strong",null,r(P.value.failedTaskCount),1)])]),e[16]||(e[16]=a("div",{class:"subsection-title"},"匹配结果",-1)),w.value.length?(i(),_e(l,{key:1,data:w.value,"row-key":N,"highlight-current-row":!1,class:"result-table match-table"},{default:S(()=>[m(o,{prop:"shopName",label:"店铺名","min-width":"120"}),m(o,{label:"匹配",width:"72",align:"center"},{default:S(({row:s})=>[a("span",{class:ct(s.matched?"ok":"fail")},r(s.matched?"是":"否"),3)]),_:1}),m(o,{prop:"shopId",label:"店铺 ID","min-width":"120","show-overflow-tooltip":""}),m(o,{prop:"platform",label:"平台",width:"88","show-overflow-tooltip":""}),m(o,{prop:"companyName",label:"公司","min-width":"120","show-overflow-tooltip":""}),m(o,{label:"状态",width:"110","show-overflow-tooltip":""},{default:S(({row:s})=>[At(r(Ft(s.matchStatus)),1)]),_:1}),m(o,{label:"说明","min-width":"180","show-overflow-tooltip":""},{default:S(({row:s})=>[At(r(Ht(s)),1)]),_:1}),m(o,{label:"操作",width:"72",align:"center"},{default:S(({row:s})=>[a("button",{type:"button",class:"link-danger",onClick:f=>ee(s)}," 删除 ",8,_s)]),_:1})]),_:1},8,["data"])):(i(),u("div",ys," 完成“匹配店铺”后,这里会展示匹配结果。 ")),a("div",ws,[e[15]||(e[15]=a("div",{class:"result-list-header"},[a("span",null,"任务记录")],-1)),!O.value.length&&!et.value.length?(i(),u("div",ks," 暂无任务记录。推送到 Python 队列后,这里会展示当前任务和历史任务。 ")):(i(),u(W,{key:1},[O.value.length?(i(),u("div",gs,[e[13]||(e[13]=a("div",{class:"result-subsection-title"},"当前任务",-1)),a("ul",bs,[(i(!0),u(W,null,ut(O.value,s=>(i(),u("li",{key:mt(s),class:"task-item"},[a("div",Ss,[a("span",{class:"id",title:K(s)},r(K(s)),9,Is),a("div",Ts,"任务 ID: "+r(s.taskId??"-"),1),j(s)?(i(),u("div",Cs," 结果 ID: "+r(j(s)),1)):v("",!0),z(s)?(i(),u("div",Es," 店铺 ID: "+r(z(s)),1)):v("",!0),s.platform?(i(),u("div",Ds," 平台: "+r(s.platform),1)):v("",!0),a("div",Ps," 创建时间: "+r(at(s.createdAt)),1),a("div",Ns," 模板: "+r(wt(s)),1),G(s)?(i(),u("div",$s," 错误: "+r(G(s)),1)):v("",!0)]),a("div",Rs,[a("span",{class:ct(["status",bt(s.taskStatus)])},r(gt(s.taskStatus)),3),a("button",{type:"button",class:"btn-delete",onClick:f=>Rt(s)}," 删除 ",8,Ms)])]))),128))])])):v("",!0),et.value.length?(i(),u("div",As,[e[14]||(e[14]=a("div",{class:"result-subsection-title"},"历史任务",-1)),a("ul",Ls,[(i(!0),u(W,null,ut(et.value,s=>(i(),u("li",{key:mt(s),class:"task-item"},[a("div",qs,[a("span",{class:"id",title:K(s)},r(K(s)),9,Bs),a("div",xs,"任务 ID: "+r(s.taskId??"-"),1),j(s)?(i(),u("div",Us," 结果 ID: "+r(j(s)),1)):v("",!0),z(s)?(i(),u("div",Fs," 店铺 ID: "+r(z(s)),1)):v("",!0),s.platform?(i(),u("div",Hs," 平台: "+r(s.platform),1)):v("",!0),a("div",Os," 创建时间: "+r(at(s.createdAt)),1),s.finishedAt?(i(),u("div",Vs," 完成时间: "+r(at(s.finishedAt)),1)):v("",!0),a("div",Qs," 模板: "+r(wt(s)),1),G(s)?(i(),u("div",Ks," 错误: "+r(G(s)),1)):v("",!0)]),a("div",js,[a("span",{class:ct(["status",bt(s.taskStatus)])},r(gt(s.taskStatus)),3),St(s)?(i(),u("button",{key:0,type:"button",class:"archive",onClick:f=>re(s)}," 下载结果 ",8,zs)):v("",!0),a("button",{type:"button",class:"btn-delete",onClick:f=>Rt(s)}," 删除 ",8,Gs)])]))),128))])])):v("",!0)],64))])])])])])}}}),Ws=Ae(Js,[["__scopeId","data-v-b982bd51"]]);Le.locale("zh-cn");qe(Ws).use(Be,{locale:xe}).mount("#app"); diff --git a/new_web_source/assets/price-track-Hozgt_em.css b/new_web_source/assets/price-track-Hozgt_em.css new file mode 100644 index 0000000..f505757 --- /dev/null +++ b/new_web_source/assets/price-track-Hozgt_em.css @@ -0,0 +1 @@ +.el-input-number{vertical-align:middle;width:150px;line-height:30px;display:inline-flex;position:relative}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__increase,.el-input-number__decrease{z-index:1;background:var(--el-fill-color-light);width:32px;height:auto;color:var(--el-text-color-regular);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:1px;bottom:1px}.el-input-number__increase:hover,.el-input-number__decrease:hover{color:var(--el-color-primary)}.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__increase.is-disabled,.el-input-number__decrease.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border);right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__increase,.el-input-number.is-disabled .el-input-number__decrease{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__increase:hover,.el-input-number.is-disabled .el-input-number__decrease:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__increase,.el-input-number--large .el-input-number__decrease{width:40px;font-size:14px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__increase,.el-input-number--small .el-input-number__decrease{width:24px;font-size:12px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__increase [class*=el-icon],.el-input-number--small .el-input-number__decrease [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__increase,.el-input-number.is-controls-right .el-input-number__decrease{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon],.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border);bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;top:auto;left:auto;right:1px}.el-input-number.is-controls-right[class*=large] [class*=increase],.el-input-number.is-controls-right[class*=large] [class*=decrease]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=increase],.el-input-number.is-controls-right[class*=small] [class*=decrease]{--el-input-number-controls-height:11px}.module-page[data-v-08a3fd7b]{min-height:100vh;background:#1a1a1a}.main-content[data-v-08a3fd7b]{display:flex;min-height:calc(100vh - 56px);height:calc(100vh - 56px)}.left-panel[data-v-08a3fd7b]{width:400px;background:#1e1e1e;padding:20px;overflow-y:auto;border-right:1px solid #2a2a2a}.right-panel[data-v-08a3fd7b]{flex:1;display:flex;flex-direction:column;min-width:0;background:#1a1a1a}.section-title[data-v-08a3fd7b]{font-size:13px;color:#bbb;margin-bottom:10px}.upload-zone[data-v-08a3fd7b]{border:1px dashed #3a3a3a;border-radius:10px;padding:16px;background:#252525;margin-bottom:20px}.hint[data-v-08a3fd7b]{color:#888;font-size:12px;margin-bottom:12px;line-height:1.5;text-align:left}.btns[data-v-08a3fd7b]{display:flex;gap:10px;margin-bottom:10px}.selected-files[data-v-08a3fd7b]{margin-top:8px;font-size:12px;display:flex;flex-direction:column;gap:4px}.clean-placeholder[data-v-08a3fd7b]{color:#666;font-size:12px;display:flex;flex-direction:column;gap:4px}.selected-files span[data-v-08a3fd7b]:not(.more-line){color:#aaa}.more-line[data-v-08a3fd7b],.text-muted[data-v-08a3fd7b]{color:#777;font-style:italic}.mode-zone[data-v-08a3fd7b]{border:1px dashed #3a3a3a;border-radius:10px;padding:14px 16px;background:#252525;margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.mode-check-row[data-v-08a3fd7b]{display:flex;align-items:flex-start;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px}.mode-check-input[data-v-08a3fd7b]{width:18px;height:18px;accent-color:#409eff;cursor:pointer;flex-shrink:0;margin-top:2px}.mode-check-text[data-v-08a3fd7b]{color:#ddd;font-weight:600}.mode-hint-inline[data-v-08a3fd7b]{color:#888;font-size:12px}.loop-round-input[data-v-08a3fd7b]{display:flex;align-items:center;gap:10px;margin-top:4px}.loop-round-input[data-v-08a3fd7b] .el-input-number{width:160px}.loop-round-input[data-v-08a3fd7b] .el-input__wrapper{background-color:#2a2a2a;box-shadow:0 0 0 1px #3a3a3a inset}.tag-badge[data-v-08a3fd7b]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;margin-left:6px;vertical-align:middle;background:#3498db33;color:#69b6ff}.mode-status-bar[data-v-08a3fd7b]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;background:#2ecc7114;border:1px solid rgba(46,204,113,.2);margin-bottom:14px}.mode-status-dot[data-v-08a3fd7b]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mode-status-dot.active[data-v-08a3fd7b]{background:#27ae60;box-shadow:0 0 6px #2ecc7180}.mode-status-text[data-v-08a3fd7b]{font-size:12px;color:#aaa}.input-zone[data-v-08a3fd7b]{border:1px dashed #3a3a3a;border-radius:10px;padding:16px;background:#252525;margin-bottom:20px}.input-row[data-v-08a3fd7b]{display:flex;gap:10px;align-items:center}.input-row[data-v-08a3fd7b] .el-input{flex:1}.opt-btn[data-v-08a3fd7b]{padding:8px 14px;font-size:13px;color:#ccc;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:6px;cursor:pointer;white-space:nowrap}.opt-btn[data-v-08a3fd7b]:hover:not(:disabled){color:#3498db;border-color:#3498db}.opt-btn[data-v-08a3fd7b]:disabled{opacity:.6;cursor:not-allowed}.country-pref-hint[data-v-08a3fd7b]{margin-top:-4px}.country-pref-checks[data-v-08a3fd7b]{display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:12px}.country-check-row[data-v-08a3fd7b]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:#ccc}.country-check-input[data-v-08a3fd7b]{width:16px;height:16px;accent-color:#409eff;cursor:pointer;flex-shrink:0}.country-check-text[data-v-08a3fd7b]{line-height:1.3}.country-order-panel[data-v-08a3fd7b]{border:1px solid #333;border-radius:8px;padding:10px 12px;background:#252525;margin-bottom:14px}.country-order-caption[data-v-08a3fd7b]{font-size:11px;color:#777;margin-bottom:8px}.country-order-list[data-v-08a3fd7b]{display:flex;flex-direction:column;gap:6px}.country-drag-row[data-v-08a3fd7b]{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#2c2c2c;border-radius:6px;border:1px solid #3a3a3a;cursor:grab;-webkit-user-select:none;user-select:none}.country-drag-row.dragging[data-v-08a3fd7b]{opacity:.55;border-color:#3498db}.drag-handle[data-v-08a3fd7b]{color:#666;font-size:12px;letter-spacing:-2px}.country-drag-label[data-v-08a3fd7b]{font-size:12px;color:#ccc}.country-pref-status[data-v-08a3fd7b]{font-size:11px;color:#888;margin-bottom:10px}.listing-filter-hint[data-v-08a3fd7b]{margin-top:-4px}.listing-filter-row[data-v-08a3fd7b]{margin-bottom:16px}.listing-filter-select[data-v-08a3fd7b]{width:100%}.listing-filter-row[data-v-08a3fd7b] .el-select__wrapper{background-color:#2a2a2a;box-shadow:0 0 0 1px #3a3a3a inset}.listing-filter-row[data-v-08a3fd7b] .el-select__placeholder,.listing-filter-row[data-v-08a3fd7b] .el-select__selected-item{color:#ccc}.empty-candidates[data-v-08a3fd7b]{color:#666;font-size:13px;padding:16px;border:1px dashed #333;border-radius:8px;margin-bottom:16px}.candidate-table-scroll[data-v-08a3fd7b]{max-height:240px;overflow:auto;margin-bottom:16px;border-radius:8px;border:1px solid #2a2a2a}.candidate-table[data-v-08a3fd7b]{--el-table-bg-color: #252525;--el-table-tr-bg-color: #252525;--el-table-header-bg-color: #2a2a2a;--el-table-text-color: #ccc;--el-table-border-color: #333}.link-danger[data-v-08a3fd7b]{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:12px;padding:0}.link-danger[data-v-08a3fd7b]:hover{text-decoration:underline}.run-row[data-v-08a3fd7b]{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.btn-run[data-v-08a3fd7b]{padding:10px 18px;font-size:14px;font-weight:600;color:#fff;background:#3498db;border:none;border-radius:8px;cursor:pointer}.btn-run[data-v-08a3fd7b]:hover:not(:disabled){background:#2980b9}.btn-run[data-v-08a3fd7b]:disabled{opacity:.55;cursor:not-allowed}.btn-queue[data-v-08a3fd7b]{background:#27ae60}.btn-queue[data-v-08a3fd7b]:hover:not(:disabled){background:#219a52}.loading-msg[data-v-08a3fd7b]{margin-top:12px;font-size:12px;color:#777;line-height:1.5}.loop-status-card[data-v-08a3fd7b]{margin-top:14px;padding:12px 14px;border-radius:10px;border:1px solid #2f3d2f;background:#27ae6014}.loop-status-line[data-v-08a3fd7b]{font-size:12px;color:#d6e6d8;line-height:1.6}.loop-error[data-v-08a3fd7b]{color:#ff8a80}.loop-stop-btn[data-v-08a3fd7b]{margin-top:10px}.loading-msg code[data-v-08a3fd7b]{font-size:11px;color:#8fd3ff}.queue-debug-card[data-v-08a3fd7b]{margin-top:18px;padding:14px;border:1px solid #2a2a2a;border-radius:10px;background:#202020}.queue-debug-title[data-v-08a3fd7b]{margin-bottom:8px}.queue-debug-line[data-v-08a3fd7b]{color:#b8c1cc;font-size:12px;line-height:1.6;margin-bottom:8px}.queue-debug-payload[data-v-08a3fd7b]{margin:0;max-height:220px;overflow:auto;padding:10px;border-radius:8px;background:#141414;color:#8fd3ff;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.panel-header[data-v-08a3fd7b]{padding:16px 20px;font-size:15px;font-weight:600;color:#e0e0e0;border-bottom:1px solid #2a2a2a}.task-list-wrap[data-v-08a3fd7b]{flex:1;padding:16px 20px;overflow:auto}.pr-summary[data-v-08a3fd7b]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.summary-card[data-v-08a3fd7b]{padding:14px 16px;border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e}.summary-card strong[data-v-08a3fd7b]{display:block;margin-top:8px;font-size:22px;color:#eaf4ff}.summary-label[data-v-08a3fd7b]{font-size:12px;color:#8d8d8d}.subsection-title[data-v-08a3fd7b]{font-size:13px;color:#999;margin:8px 0 10px}.empty-tasks[data-v-08a3fd7b]{color:#666;font-size:13px;padding:16px;text-align:center}.empty-tasks.narrow[data-v-08a3fd7b]{padding:12px 8px}.match-table[data-v-08a3fd7b]{margin-bottom:18px}.result-table[data-v-08a3fd7b]{--el-table-bg-color: #222;--el-table-tr-bg-color: #222;--el-table-header-bg-color: #2a2a2a;--el-table-text-color: #ccc;--el-table-border-color: #333}.ok[data-v-08a3fd7b]{color:#27ae60}.fail[data-v-08a3fd7b]{color:#e67e22}.result-list-wrap[data-v-08a3fd7b]{border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e;min-height:200px;margin-top:8px}.result-list-header[data-v-08a3fd7b]{padding:12px 16px;border-bottom:1px solid #2a2a2a;font-size:14px;color:#ddd}.result-subsection[data-v-08a3fd7b]{padding:12px 12px 4px}.result-subsection-title[data-v-08a3fd7b]{font-size:12px;color:#888;margin-bottom:8px}.task-list[data-v-08a3fd7b]{list-style:none;margin:0;padding:0}.task-item[data-v-08a3fd7b]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #2a2a2a;border-radius:8px;margin-bottom:8px;background:#222}.split-result-main[data-v-08a3fd7b]{display:flex;flex-direction:column;gap:4px}.id[data-v-08a3fd7b]{font-weight:600;color:#e0e0e0;font-size:13px}.files[data-v-08a3fd7b]{font-size:12px;color:#888}.task-right[data-v-08a3fd7b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.status[data-v-08a3fd7b]{padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap}.status.success[data-v-08a3fd7b]{background:#2ecc712e;color:#2ecc71}.status.failed[data-v-08a3fd7b]{background:#e74c3c2e;color:#ff6b6b}.status.running[data-v-08a3fd7b]{background:#3498db2e;color:#3498db}.download[data-v-08a3fd7b]{padding:6px 10px;border-radius:6px;font-size:12px;background:#3498db2e;color:#69b6ff;border:none;cursor:pointer}.download[data-v-08a3fd7b]:hover{background:#3498db47}.btn-delete[data-v-08a3fd7b]{padding:6px 10px;border-radius:6px;font-size:12px;background:#e74c3c1f;color:#ff8f8f;border:none;cursor:pointer}.btn-delete[data-v-08a3fd7b]:hover{background:#e74c3c38}@media(max-width:1100px){.main-content[data-v-08a3fd7b]{flex-direction:column;height:auto}.left-panel[data-v-08a3fd7b]{width:100%;border-right:none;border-bottom:1px solid #2a2a2a}.pr-summary[data-v-08a3fd7b]{grid-template-columns:repeat(2,minmax(0,1fr))}} diff --git a/new_web_source/assets/price-track.js b/new_web_source/assets/price-track.js new file mode 100644 index 0000000..b0999f8 --- /dev/null +++ b/new_web_source/assets/price-track.js @@ -0,0 +1 @@ +import{d as es,o as ts,L as ss,a as i,c,b as C,B as as,e as n,w as ct,u as dt,aT as ns,f as y,F as $,x as fe,r as pe,t as v,aj as os,ak as ls,a5 as z,a6 as rs,a7 as us,al as vt,n as _e,a4 as is,g as f,h as q,i as te,E as r,aU as cs,aV as ds,aW as vs,aX as fs,aY as ps,aZ as ms,a_ as hs,a$ as ys,b0 as ks,b1 as ft,b2 as gs,b3 as ws,b4 as _s,b5 as bs,b6 as Is,U as Ss,b7 as Cs,b8 as Ts,b9 as Ns,ba as pt,_ as Es,q as Ps,s as As}from"./pywebview-CcblbV5J.js";/* empty css *//* empty css */import{e as Rs}from"./brand-CEi7uRFN.js";import{c as xs}from"./categorized-timers-JPA-olTr.js";const Ls={class:"page-shell module-page"},Ds={class:"main-content"},Ms={class:"left-panel"},$s={class:"mode-zone"},Fs={class:"mode-check-row"},Us=["checked"],Bs={class:"mode-check-row"},Os=["checked"],qs={class:"mode-zone"},js={class:"mode-check-row"},Js={class:"mode-check-row"},Ks={key:0,class:"loop-round-input"},Vs={class:"upload-zone"},Ws={class:"selected-files clean-placeholder"},Hs={key:1,class:"text-muted"},zs={class:"input-zone"},Gs={class:"input-row"},Qs=["disabled"],Xs={key:0,class:"empty-candidates"},Ys={key:1,class:"candidate-table-scroll"},Zs=["onClick"],ea={class:"country-pref-checks"},ta=["checked","disabled","onChange"],sa={class:"country-check-text"},aa={key:0,class:"country-order-panel"},na={class:"country-order-list"},oa=["onDragstart","onDrop"],la={class:"country-drag-label"},ra={key:1,class:"country-pref-status"},ua={key:3,class:"mode-status-bar"},ia={class:"run-row"},ca=["disabled"],da=["disabled"],va={key:4,class:"loop-status-card"},fa={class:"loop-status-line"},pa={class:"loop-status-line"},ma={class:"loop-status-line"},ha={class:"loop-status-line"},ya={key:0,class:"loop-status-line loop-error"},ka=["disabled"],ga={key:5,class:"queue-debug-card"},wa={class:"queue-debug-line"},_a={key:0,class:"queue-debug-payload"},ba={class:"right-panel"},Ia={class:"task-list-wrap"},Sa={class:"clean-result-summary pr-summary"},Ca={class:"summary-card"},Ta={class:"summary-card"},Na={class:"summary-card"},Ea={class:"summary-card"},Pa={key:0,class:"empty-tasks narrow"},Aa=["onClick"],Ra={class:"result-list-wrap"},xa={key:0,class:"empty-tasks"},La={key:0,class:"result-subsection"},Da={class:"task-list clean-result-list"},Ma={class:"left split-result-main"},$a={key:0,class:"files"},Fa=["title"],Ua={class:"files"},Ba={key:1,class:"files"},Oa={key:2,class:"files"},qa={class:"task-right split-result-actions"},ja=["onClick"],Ja=["onClick"],Ka={key:1,class:"result-subsection"},Va={class:"task-list clean-result-list"},Wa={class:"left split-result-main"},Ha={key:0,class:"files"},za=["title"],Ga={class:"files"},Qa={key:1,class:"files"},Xa={key:2,class:"files"},Ya={class:"task-right split-result-actions"},Za=["onClick"],en=["onClick"],tn=es({__name:"BrandPriceTrackTab",setup(an){const be=[{code:"DE",label:"德国"},{code:"UK",label:"英国"},{code:"FR",label:"法国"},{code:"IT",label:"意大利"},{code:"ES",label:"西班牙"}],se=f(""),Ie=f([]),qe=f([]),I=f([]),me=f(!1),he=f(!1),j=f(!1),Se=f(!1),je=f(!1),p=f(""),G=f(""),Ce=f({}),J=f("FINITE"),ye=f(1),m=f(null),k=f(null),Te=f(!1),ae=f(!1),A=f(!0),S=f(!1),R=f([]),ne=f([]),Ne=q(()=>A.value||S.value),mt=q(()=>{const e=k.value?.status||"";return e==="SUCCESS"||e==="FAILED"||e==="STOPPED"}),Ee=q(()=>!!m.value&&!mt.value),ht=q(()=>{const e=k.value;if(!e)return"";const t=e.currentRound||1;if(e.executionMode==="INFINITE")return`第 ${t} 轮(无限)`;const s=Math.max(1,e.targetRounds||ye.value||1);return`第 ${t}/${s} 轮`}),g=f(["DE","UK","FR","IT","ES"]),oe=f(null),Pe=f(!1),Je=f(!1);let Q=null;const le=f({candidateCount:0,processedTaskCount:0,successTaskCount:0,failedTaskCount:0}),K=f([]),w=f([]),N=f({}),_=f({}),L=f(null),Ae=f(!1);let b=!1;const x=xs("price-track");function X(e){return b?Promise.resolve():x.sleep("queue-wait",e)}function yt(){x.clearCategory("queue-wait")}function re(){return typeof window<"u"&&window.localStorage.getItem("uid")||"0"}function Ke(){return`price-track:tasks:${re()}`}function Ve(){return`price-track:task-status:${re()}`}function We(){return`price-track:tasks-batch-snapshot:${re()}`}function He(){return`price-track:matched-items:${re()}`}function ze(){return`price-track:active-loop:${re()}`}function ue(e,t,s){if(!(typeof window>"u"))try{s?window.localStorage.removeItem(e):window.localStorage.setItem(e,JSON.stringify(t))}catch{}}function kt(){try{const e=typeof window<"u"?window.localStorage.getItem(Ke()):null;if(!e){w.value=[];return}const t=JSON.parse(e);w.value=Array.isArray(t)?t.filter(s=>typeof s=="number"&&s>0):[]}catch{w.value=[]}}function Ge(){ue(Ke(),w.value,w.value.length===0)}function gt(){try{const e=typeof window<"u"?window.localStorage.getItem(Ve()):null;if(!e)return;const t=JSON.parse(e),s={};for(const[l,o]of Object.entries(t)){const u=Number(l);u>0&&typeof o=="string"&&(s[u]=o)}N.value=s}catch{}}function ie(){ue(Ve(),N.value,Object.keys(N.value).length===0)}function wt(){try{const e=typeof window<"u"?window.localStorage.getItem(We()):null;if(!e)return;const t=JSON.parse(e),s={};for(const[l,o]of Object.entries(t)){const u=Number(l);u>0&&o&&typeof o=="object"&&(s[u]=o)}_.value=s}catch{}}function ce(){ue(We(),_.value,Object.keys(_.value).length===0)}function _t(){try{const e=typeof window<"u"?window.localStorage.getItem(He()):null;if(!e)return;const t=JSON.parse(e);Array.isArray(t)&&(I.value=t)}catch{}}function ke(){ue(He(),I.value,I.value.length===0)}function bt(){try{const e=typeof window<"u"?window.localStorage.getItem(ze()):null;if(!e){m.value=null;return}const t=Number(JSON.parse(e));m.value=Number.isFinite(t)&&t>0?t:null}catch{m.value=null}}function Y(){ue(ze(),m.value,!m.value)}async function It(){const e=te();if(e?.select_files){const t=await e.select_files({filters:[{name:"Excel/CSV",extensions:"xlsx,xls,csv"}],multiple:!0});t?.paths?.length&&(R.value=t.paths,ne.value=await Re(t.paths),r.success(`已选择 ${t.paths.length} 个ASIN文件`));return}if(e?.select_brand_xlsx_files){const t=await e.select_brand_xlsx_files();if(!t?.length)return;R.value=t,ne.value=await Re(t),r.success(`已选择 ${t.length} 个ASIN文件`);return}r.warning("当前环境不支持文件选择,请在本地客户端中打开")}async function St(){const e=te();if(!e?.select_brand_folder){r.warning("当前环境不支持文件夹选择,请在本地客户端中打开");return}try{const t=await e.select_brand_folder();if(!t)return;const s=await Rs(t);if(!s.success||!s.items?.length){r.warning(s.error||"该文件夹下没有可用的 xlsx 文件");return}R.value=s.items.map(l=>l.relativePath||l.absolutePath),ne.value=await Re(s.items),r.success(`已选择文件夹内 ${s.items.length} 个ASIN文件`)}catch(t){r.error(t instanceof Error?t.message:"选择失败")}}async function Re(e){const t=te();if(!t?.upload_file_to_java)return[];const s=[];for(const l of e){const o=typeof l=="string"?l:l.absolutePath,u=typeof l=="string"?void 0:l.relativePath,a=await t.upload_file_to_java(o,u);if(!a?.success||!a.data)throw new Error(a?.error||a?.message||`上传失败:${o}`);s.push(a.data)}return s}function xe(){return ne.value.length?ne.value.map(e=>e.localPath).filter(e=>!!e):R.value}function ge(){return S.value?be.map(e=>e.code):[...g.value]}function Le(e){A.value=e==="status",S.value=e==="asin"}function Qe(e){return be.find(s=>s.code===e)?.label??e}const Ct=q(()=>{const e=g.value,t=new Set(e),s=e.map(o=>({code:o,label:Qe(o)})),l=be.filter(o=>!t.has(o.code)).map(o=>({code:o.code,label:o.label}));return[...s,...l]});function Tt(e){return g.value.includes(e)}function Xe(e){return g.value.length===1&&g.value[0]===e}function Nt(e,t){const s=t.target;if(s){if(!s.checked&&Xe(e)){s.checked=!0,r.warning("至少保留 1 个国家");return}Et(e,s.checked)}}function Et(e,t){if(Je.value=!0,t)g.value.includes(e)||(g.value=[...g.value,e]);else{if(g.value.length<=1){r.warning("至少保留 1 个国家");return}g.value=g.value.filter(s=>s!==e)}Ye()}function Pt(e){oe.value=e}function At(){oe.value=null}function Rt(e){const t=oe.value;if(oe.value=null,t==null||t===e)return;Je.value=!0;const s=[...g.value],[l]=s.splice(t,1);s.splice(e,0,l),g.value=s,Ye()}function Ye(){Q&&x.clearTimer("preference-save",Q),Q=x.setTimeout("preference-save",()=>{Q=null,xt()},450)}async function xt(){if(!(g.value.length<1)){Pe.value=!0;try{await cs(g.value)}catch(e){r.error(e instanceof Error?e.message:"保存国家顺序失败")}finally{Pe.value=!1}}}async function Lt(){try{const e=await ds();e?.countryCodes?.length&&(g.value=[...e.countryCodes])}catch{}}async function De(){try{Ie.value=await vs()}catch(e){r.error(e instanceof Error?e.message:"加载备选失败")}}async function D(){try{le.value=await fs()}catch{}}async function F(){try{const e=await ps();K.value=e.items||[]}catch{K.value=[]}}function U(){for(const e of[...w.value])!K.value.some(s=>s.taskId===e)&&!_.value[e]&&W(e)}function Dt(e){qe.value=e||[]}async function Ze(){const e=se.value.trim();if(!e){r.warning("请输入店铺名称");return}me.value=!0;try{await ms(e),se.value="",await De(),r.success("已加入备选")}catch(t){r.error(t instanceof Error?t.message:"保存失败")}finally{me.value=!1}}async function Mt(e){try{await hs(e.id),await De(),I.value=[],ke(),r.success("已删除")}catch(t){r.error(t instanceof Error?t.message:"删除失败")}}function $t(){const e=new Set,t=se.value.trim();t&&e.add(t);for(const s of qe.value)s?.shopName?.trim()&&e.add(s.shopName.trim());if(S.value)for(const s of R.value){const l=(s||"").trim();if(!l)continue;const u=(l.split(/[/\\]/).filter(Boolean).pop()||"").replace(/\.[^.]+$/,"").trim();u&&e.add(u)}return[...e]}async function Ft(){const e=$t();if(!e.length){r.warning("请勾选备选店铺,或在输入框中填写店名");return}if(S.value&&!R.value.length){r.warning("请先选择 ASIN 文件");return}he.value=!0;try{const t=await ys(e,{asinFiles:S.value?xe():[],countryCodes:ge()}),s=t.items||[];Ce.value=t.asinRowsByCountry||{};const l=new Map(I.value.map(o=>[(o.shopName||"").trim(),o]));for(const o of s)l.set((o.shopName||"").trim(),o);I.value=[...l.values()],ke(),je.value&&Kt(),r.success(`匹配 ${s.length} 个店铺`)}catch(t){r.error(t instanceof Error?t.message:"匹配失败")}finally{he.value=!1}}function Ut(e){const t=(e||"").trim();return{MATCHED:"已匹配",PENDING:"待匹配",CONFLICT:"需人工确认",INDEX_STALE:"索引过期"}[t]||t||"—"}function Bt(e){const t=(e.matchMessage||"").trim();return t||(e.matched&&e.matchStatus==="MATCHED"?"紫鸟索引已命中,可推送队列":e.matched?"已关联索引,请结合状态列查看是否可推送":"未命中或未就绪,请检查店铺名与索引刷新")}function Me(e){return`${(e.shopName||"").trim()}${e.shopId??""}`}function et(e){const t=e instanceof Error?e.message:String(e||"");return/记录不存在|不存在|已删除|not\s*found|404/i.test(t)}function Ot(){const e=A.value&&!S.value;return{enabled:e,mode:e?"DELETE_WHEN_PRICE_BELOW_MINIMUM":"NONE",deleteWhenPriceBelowMinimum:e,compareField:"price",thresholdField:"minimumPrice",target:"skip_asin",source:"frontend-price-track"}}function V(e){if(!e.length)return;const t=new Set(e.map(l=>Me(l))),s=new Set(e.map(l=>(l.shopName||"").trim()).filter(l=>!!l));I.value=I.value.filter(l=>{const o=Me(l),u=(l.shopName||"").trim();return!t.has(o)&&(!u||!s.has(u))}),ke()}function qt(e){K.value=K.value.filter(t=>!(e.resultId!=null&&t.resultId===e.resultId||e.taskId!=null&&t.taskId===e.taskId))}async function jt(e){const t=[...I.value];V([e]);const s=(e.shopName||"").trim();if(!s){r.success("已从匹配结果中移除");return}try{(await ks(s))?.removed&&(await F(),await D(),U()),r.success("已从匹配结果中移除")}catch(l){if(et(l)){await F(),await D(),U(),r.success("后端记录已不存在,已同步移除本地记录");return}I.value=t,ke(),r.error(l instanceof Error?l.message:"同步后端失败")}}function tt(e,t){const s=e.items?.[0],l=(t.shopName||"").trim(),o=t.skipAsins||e.skipAsinsByCountry||{},u=e.skipAsinDetailsByCountry||{},a=e.minimumPriceByCountryAndAsin||{},d=Ot(),T=s?.resultId??null,O=s?.loopRunId??null,ee=s?.roundIndex??null,h=s?.taskStatus||"RUNNING",M=s?.success??!1,E=s?.error||null,P=s?.outputFilename||null,H=s?.downloadUrl||null;return{type:"price-track-run",ts:Date.now(),data:{task_id:e.taskId,result_id:T,shop_name:l,shop_id:t.shopId??null,platform:t.platform||"",company_name:t.companyName||"",shop_mall_name:t.shopMallName||"",matched:!!t.matched,match_status:t.matchStatus||"",match_message:t.matchMessage||null,success:M,error:E,output_filename:P,download_url:H,task_status:h,loop_run_id:O,round_index:ee,country_codes:ge(),mode:A.value?"status":"asin",skip_asins:o,skip_asins_by_country:o,skip_asin_details_by_country:u,minimum_price_by_country_and_asin:a,skip_asin_delete_policy:d,delete_skip_asin_when_price_below_minimum:d.deleteWhenPriceBelowMinimum,deleteSkipAsinWhenPriceBelowMinimum:d.deleteWhenPriceBelowMinimum,asin_rows_by_country:Object.keys(Ce.value).length?Ce.value:e.asinRowsByCountry||{},taskId:e.taskId,resultId:T,shopName:l,shopId:t.shopId??null,platformName:t.platform||"",companyName:t.companyName||"",shopMallName:t.shopMallName||"",matchStatus:t.matchStatus||"",matchMessage:t.matchMessage||null,outputFilename:P,downloadUrl:H,taskStatus:h,loopRunId:O,roundIndex:ee}}}async function st(e){let t=0;const s=30;for(;;){if(b)return"STOPPED";try{const l=await pt([e]);if(t>0&&(p.value=`任务 ${e} 后端已恢复,继续等待执行结果...`),t=0,(l.missingTaskIds||[]).includes(e))return W(e),await F(),await D(),U(),"FAILED";const o=(l.items||[]).find(a=>a.task?.id===e),u=o?.task?.status||"";if(o){const a=_.value[e];_.value={..._.value,[e]:a?{...a,task:{...a.task||{},...o.task||{}}}:o},ce()}if(u&&(N.value={...N.value,[e]:u},ie()),u==="SUCCESS"||u==="FAILED")return W(e),await F(),await D(),U(),u}catch(l){const o=(l instanceof Error?l.message:String(l||"")).toLowerCase();if(!["无法连接到后端服务","bad gateway","gateway timeout","network error","timeout","502","503","504"].some(a=>o.includes(a.toLowerCase())))throw l;if(t+=1,t>=s)throw new Error(`任务 ${e} 等待后端恢复超时,请稍后手动刷新查看状态`);p.value=`任务 ${e} 运行中,正在等待后端服务恢复(${t}/${s})...`,(t===1||t%5===0)&&r.warning(`任务 ${e} 运行中,后端服务暂时不可用,正在自动重试`),await X(B());continue}await X(B())}}function Jt(){return I.value.find(e=>e.matched)}async function Kt(){if(b||Se.value)return;if(!Ne.value){r.warning("请至少选择一个跟价模式");return}if(S.value&&!R.value.length){r.warning("请先选择 ASIN 文件");return}const e=te();if(!e?.enqueue_json){r.error("当前环境未启用 pywebview enqueue_json");return}if(!I.value.filter(o=>o.matched).length){r.warning("无可用匹配店铺");return}Se.value=!0,j.value=!0,G.value="";let s=0,l=0;try{let o=0;for(;!b&&je.value;){const u=Jt();if(!u)break;o+=1;try{let a=0;const d=await(async()=>{for(;;){if(b)throw new Error("component disposed");try{return await ft({userId:0,statusMode:A.value,asinMode:S.value,items:[u],asinFiles:xe(),countryCodes:ge()})}catch(h){const M=(h instanceof Error?h.message:String(h||"")).toLowerCase(),E=["无法连接到后端服务","bad gateway","gateway timeout","network error","timeout","502","503","504"].some(P=>M.includes(P.toLowerCase()));if(a+=1,!E||a>=10)throw h;p.value="后端服务暂时不可用,正在重试创建任务("+a+"/10)...",await X(B())}}})();_.value={..._.value,[d.taskId]:{task:{id:d.taskId,status:"RUNNING"},items:d.items}},N.value={...N.value,[d.taskId]:"RUNNING"},ce(),ie();const T=tt(d,u);G.value=JSON.stringify(T,null,2);const O=await e.enqueue_json(T);if(!O?.success){l+=1,p.value="任务 "+d.taskId+" 推送失败,已自动继续下一条:"+(O?.error||"未知错误"),r.error(p.value),V([u]);continue}if(we(d.taskId),Z(!0),V([u]),p.value="任务 "+d.taskId+" 已入队,等待执行完成",await st(d.taskId)!=="SUCCESS"){l+=1,p.value="任务 "+d.taskId+" 执行失败,已自动继续下一条",r.error(p.value);continue}s+=1,p.value="任务 "+d.taskId+" 已完成"}catch(a){if(b)break;l+=1,p.value="第 "+o+" 条任务处理失败,已自动继续下一条:"+(a instanceof Error?a.message:"未知错误"),r.error(p.value),V([u]);continue}}(s>0||l>0)&&r.success("店铺任务推送已完成:成功 "+s+" 条,失败 "+l+" 条")}catch(o){if(b)return;p.value=o instanceof Error?o.message:"推送异常",r.error(p.value)}finally{Se.value=!1,j.value=!1}}function de(e){k.value=e,m.value=e?.id??null,Y()}function ve(){if(!k.value)return;const e=k.value.status||"";(e==="SUCCESS"||e==="FAILED"||e==="STOPPED")&&(k.value=null,m.value=null,Y())}async function $e(){if(!m.value)return null;try{const e=await gs(m.value);return de(e),ve(),k.value}catch(e){const t=(e instanceof Error?e.message:String(e||"")).toLowerCase();return["无法连接到后端服务","bad gateway","gateway timeout","network error","timeout","502","503","504"].some(l=>t.includes(l.toLowerCase()))?k.value:(k.value=null,m.value=null,Y(),null)}}function Vt(e){_.value={..._.value,[e.taskId]:{task:{id:e.taskId,status:"RUNNING"},items:e.items}},N.value={...N.value,[e.taskId]:"RUNNING"},ce(),ie()}async function Wt(){if(!(!m.value||ae.value)){ae.value=!0;try{const e=await ws(m.value);de(e),ve(),r.success(e.status==="STOPPED"?"循环已停止":"已请求停止,当前子任务完成后将收尾")}catch(e){r.error(e instanceof Error?e.message:"停止循环失败")}finally{ae.value=!1}}}async function Fe(e){if(b||Te.value||(e&&m.value!==e&&(m.value=e,Y()),!m.value))return;const t=te();if(!t?.enqueue_json)throw new Error("当前环境未启用 pywebview enqueue_json");Te.value=!0;try{for(;!b&&m.value;){const s=await $e();if(!s||s.status==="SUCCESS"||s.status==="FAILED"||s.status==="STOPPED")break;if(s.activeTaskId){const h=s.activeTaskId;we(h),Z(!0);const M=await st(h);let E=0;const P=await(async()=>{for(;;){if(b)throw new Error("component disposed");try{return await _s(s.id,h)}catch(H){const Xt=(H instanceof Error?H.message:String(H||"")).toLowerCase(),Yt=["无法连接到后端服务","bad gateway","gateway timeout","network error","timeout","502","503","504"].some(Zt=>Xt.includes(Zt.toLowerCase()));if(E+=1,!Yt||E>=10)throw H;p.value=`循环任务 ${s.id} 等待后端恢复后确认子任务完成(${E}/10)...`,await X(B())}}})();if(de(P),await F(),await D(),U(),ve(),M!=="SUCCESS")throw new Error(P.errorMessage||`任务 ${s.activeTaskId} 执行失败`);continue}let l=0;const o=await(async()=>{for(;;){if(b)throw new Error("component disposed");try{return await bs(s.id)}catch(h){const M=(h instanceof Error?h.message:String(h||"")).toLowerCase(),E=["无法连接到后端服务","bad gateway","gateway timeout","network error","timeout","502","503","504"].some(P=>M.includes(P.toLowerCase()));if(l+=1,!E||l>=10)throw h;p.value=`循环任务 ${s.id} 等待后端恢复后继续派发(${l}/10)...`,await X(B())}}})();if(de(o.loopRun||s),!o.childTaskRequest){ve();break}const u=o.childTaskRequest,a=u.items?.[0];if(!a)throw new Error("循环任务缺少待执行店铺");let d=0;const T=await(async()=>{for(;;){if(b)throw new Error("component disposed");try{return await ft(u)}catch(h){const M=(h instanceof Error?h.message:String(h||"")).toLowerCase(),E=["无法连接到后端服务","bad gateway","gateway timeout","network error","timeout","502","503","504"].some(P=>M.includes(P.toLowerCase()));if(d+=1,!E||d>=10)throw h;p.value=`循环任务 ${s.id} 等待后端恢复后重试创建子任务(${d}/10)...`,await X(B())}}})();Vt(T);const O=tt(T,a);G.value=JSON.stringify(O,null,2);const ee=await t.enqueue_json(O);if(!ee?.success)throw new Error(ee?.error||`任务 ${T.taskId} 推送失败`);we(T.taskId),Z(!0),V([a]),p.value=`循环任务 ${s.id} 第 ${o.childTaskRequest.roundIndex||1} 轮已推送:${a.shopName||T.taskId}`}}finally{Te.value=!1}}async function Ht(){if(Ee.value){try{await Fe(m.value||void 0)}catch(t){t instanceof Error&&/子任务不存在|循环任务不存在|404/.test(t.message)&&(k.value=null,m.value=null,Y());const s=t instanceof Error?t.message:"循环执行失败";p.value=s,r.error(s)}return}if(!Ne.value){r.warning("请至少选择一个跟价模式");return}if(S.value&&!R.value.length){r.warning("请先选择 ASIN 文件");return}const e=I.value.filter(t=>t.matched);if(!e.length){r.warning("请先匹配可用店铺");return}j.value=!0,G.value="";try{const t=await Is({userId:0,statusMode:A.value,asinMode:S.value,items:e,asinFiles:xe(),countryCodes:ge(),executionMode:J.value,targetRounds:J.value==="FINITE"?Math.max(1,Number(ye.value)||1):void 0});de(t),p.value=`循环任务 ${t.id} 已创建`,await Fe(t.id),ve(),m.value||r.success("跟价循环已启动")}catch(t){const s=t instanceof Error?t.message:"启动循环失败";p.value=s,r.error(s)}finally{j.value=!1}}function B(){return Ss()}async function zt(){const e=w.value.filter(t=>t>0);if(e.length)try{const t=await pt(e);let s=!1;const l={..._.value};for(const o of t.missingTaskIds||[])W(o),delete l[o];for(const o of t.items||[]){const u=o.task?.id,a=o.task?.status;if(typeof u!="number"||u<=0)continue;const d=l[u];l[u]=d?{...d,task:{...d.task||{},...o.task||{}}}:o,a&&(N.value[u]=a,(a==="SUCCESS"||a==="FAILED")&&(W(u),s=!0))}_.value=l,ce(),ie(),await F(),U(),s&&await D()}catch{}}function Z(e=!1){if(b)return;if(L.value){if(!e)return;x.clearTimer("task-poll",L.value),L.value=null}const t=async()=>{if(L.value=null,!b){if(Ae.value){Z();return}if(w.value.length){Ae.value=!0;try{await zt()}finally{Ae.value=!1}!b&&w.value.length>0&&(L.value=x.setTimeout("task-poll",t,B()))}}};e?t():L.value=x.setTimeout("task-poll",t,B())}function Gt(){L.value&&(x.clearTimer("task-poll",L.value),L.value=null)}function we(e){w.value.includes(e)||(w.value=[...w.value,e],Ge())}function W(e){if(w.value=w.value.filter(t=>t!==e),Ge(),delete N.value[e],ie(),_.value[e]){const t={..._.value};delete t[e],_.value=t,ce()}}const Ue=q(()=>{const e=K.value.filter(s=>s.taskId&&w.value.includes(s.taskId)&&!nt(s.taskId)),t=new Set(e.map(s=>s.taskId).filter(s=>typeof s=="number"));for(const s of w.value){if(t.has(s))continue;const l=_.value[s]?.items?.[0];l&&e.push(l)}return e}),Be=q(()=>K.value.filter(e=>!e.taskId||!w.value.includes(e.taskId)||nt(e.taskId))),Qt=q(()=>Ue.value.length>0||Be.value.length>0);function at(e){return e&&(N.value[e]||_.value[e]?.task?.status)||""}function nt(e){const t=at(e);return t==="SUCCESS"||t==="FAILED"}function Oe(e){const t=e.taskId;return t?at(t)||e.taskStatus||"":e.taskStatus||""}function ot(e){const t=Oe(e);return t==="SUCCESS"?"已完成":t==="FAILED"?"失败":t==="RUNNING"?"执行中":e.success?"已完成":"等待中"}function lt(e){const t=Oe(e);return t==="SUCCESS"||e.success?"success":t==="FAILED"?"failed":"running"}function rt(e){return!e.resultId||!e.fileReady&&!e.downloadUrl?!1:Oe(e)==="SUCCESS"||e.success===!0}async function ut(e){if(!e.resultId)return;const t=te(),s=e.outputFilename||`${e.shopName||"result"}.xlsx`;if(!t?.save_file_from_url_new){r.error("当前客户端未提供 save_file_from_url_new,无法下载文件");return}const l=Cs(e.resultId),o=await t.save_file_from_url_new(l,s);o.success?r.success(`已保存:${o.path||s}`):o.error&&o.error!=="用户取消"&&r.error(o.error)}async function it(e){try{e.resultId!=null?await Ts(e.resultId):e.taskId!=null&&await Ns(e.taskId),k.value&&(e.loopRunId!=null&&e.loopRunId===k.value.id||e.taskId!=null&&e.taskId===k.value.activeTaskId)&&await $e(),e.taskId!=null&&W(e.taskId),V([e]),await F(),await D(),U(),r.success("已删除")}catch(t){if(et(t)){e.taskId!=null&&W(e.taskId),V([e]),qt(e),await D(),U(),r.success("后端记录已不存在,已同步移除本地记录");return}r.error(t instanceof Error?t.message:"删除失败")}}return ts(()=>{!A.value&&!S.value&&Le("status"),kt(),gt(),wt(),_t(),bt(),De().catch(()=>{}),Lt().catch(()=>{}),F().catch(()=>{}),D().catch(()=>{}),w.value.length&&Z(!0),m.value&&$e().then(e=>{e?.activeTaskId&&(we(e.activeTaskId),Z(!0)),e&&e.status!=="SUCCESS"&&e.status!=="FAILED"&&e.status!=="STOPPED"&&Fe(e.id)}).catch(()=>{m.value=null,Y()})}),ss(()=>{b=!0,Gt(),yt(),x.clearScope(),Q&&x.clearTimer("preference-save",Q)}),(e,t)=>{const s=ns,l=ls,o=rs,u=us;return i(),c("div",Ls,[C(as,{active:"pricing"}),n("div",Ds,[n("aside",Ms,[t[27]||(t[27]=n("div",{class:"section-title"},"跟价模式",-1)),n("div",$s,[n("label",Fs,[n("input",{type:"radio",name:"price-track-mode",class:"mode-check-input",checked:A.value,onChange:t[0]||(t[0]=a=>Le("status"))},null,40,Us),t[7]||(t[7]=n("span",{class:"mode-check-text"},"按商品状态(全量)",-1)),t[8]||(t[8]=n("span",{class:"mode-hint-inline"},"— 获取店铺所有在售ASIN跑跟价",-1))]),n("label",Bs,[n("input",{type:"radio",name:"price-track-mode",class:"mode-check-input",checked:S.value,onChange:t[1]||(t[1]=a=>Le("asin"))},null,40,Os),t[9]||(t[9]=n("span",{class:"mode-check-text"},"按指定ASIN文档(自定义)",-1)),t[10]||(t[10]=n("span",{class:"mode-hint-inline"},"— 上传ASIN表格,按文档内ASIN跑跟价",-1))])]),t[28]||(t[28]=n("div",{class:"section-title"},"执行配置",-1)),n("div",qs,[n("label",js,[ct(n("input",{"onUpdate:modelValue":t[2]||(t[2]=a=>J.value=a),type:"radio",class:"mode-check-input",value:"FINITE"},null,512),[[dt,J.value]]),t[11]||(t[11]=n("span",{class:"mode-check-text"},"执行固定轮次",-1)),t[12]||(t[12]=n("span",{class:"mode-hint-inline"},"按整批店铺重复执行指定次数",-1))]),n("label",Js,[ct(n("input",{"onUpdate:modelValue":t[3]||(t[3]=a=>J.value=a),type:"radio",class:"mode-check-input",value:"INFINITE"},null,512),[[dt,J.value]]),t[13]||(t[13]=n("span",{class:"mode-check-text"},"无限执行",-1)),t[14]||(t[14]=n("span",{class:"mode-hint-inline"},"上一轮全部成功后立即开始下一轮",-1))]),J.value==="FINITE"?(i(),c("div",Ks,[t[15]||(t[15]=n("span",{class:"hint"},"轮次",-1)),C(s,{modelValue:ye.value,"onUpdate:modelValue":t[4]||(t[4]=a=>ye.value=a),min:1,max:9999,disabled:Ee.value||j.value},null,8,["modelValue","disabled"])])):y("",!0)]),S.value?(i(),c($,{key:0},[t[17]||(t[17]=n("div",{class:"section-title"},[fe("ASIN文档 "),n("span",{class:"tag-badge"},"自定义模式")],-1)),n("div",Vs,[t[16]||(t[16]=n("div",{class:"hint"},"上传包含ASIN的表格文件,按文档内的ASIN进行跟价。",-1)),n("div",{class:"btns"},[n("button",{type:"button",class:"opt-btn",onClick:It},"选择ASIN文件"),n("button",{type:"button",class:"opt-btn",onClick:St},"选择文件夹")]),n("div",Ws,[R.value.length?(i(!0),c($,{key:0},pe(R.value,(a,d)=>(i(),c("span",{key:d},v(a),1))),128)):(i(),c("span",Hs,"暂未选择"))])])],64)):y("",!0),A.value?(i(),c($,{key:1},[t[19]||(t[19]=n("div",{class:"section-title"},"店铺名称",-1)),n("div",zs,[t[18]||(t[18]=n("div",{class:"hint"},"输入店铺名后点「确认」加入下方备选区。可同时配合上方模式使用。",-1)),n("div",Gs,[C(l,{modelValue:se.value,"onUpdate:modelValue":t[5]||(t[5]=a=>se.value=a),clearable:"",placeholder:"请输入店铺名称",onKeyup:os(Ze,["enter"])},null,8,["modelValue"]),n("button",{type:"button",class:"opt-btn",disabled:me.value,onClick:Ze},v(me.value?"保存中…":"确认"),9,Qs)])]),t[20]||(t[20]=n("div",{class:"section-title"},"备选店铺",-1)),Ie.value.length?(i(),c("div",Ys,[C(u,{data:Ie.value,"row-key":"id",height:"160",class:"candidate-table",onSelectionChange:Dt},{default:z(()=>[C(o,{type:"selection",width:"42"}),C(o,{prop:"shopName",label:"店铺名","min-width":"120","show-overflow-tooltip":""}),C(o,{label:"操作",width:"72",align:"center"},{default:z(({row:a})=>[n("button",{type:"button",class:"link-danger",onClick:d=>Mt(a)},"删除",8,Zs)]),_:1})]),_:1},8,["data"])])):(i(),c("div",Xs,"暂无备选店铺,请先输入并确认"))],64)):y("",!0),S.value?y("",!0):(i(),c($,{key:2},[t[23]||(t[23]=n("div",{class:"section-title"},"处理国家与顺序",-1)),t[24]||(t[24]=n("p",{class:"hint country-pref-hint"}," 勾选需要处理的站点;拖拽调整顺序。设置会按当前登录用户保存。 ",-1)),n("div",ea,[(i(!0),c($,null,pe(Ct.value,a=>(i(),c("label",{key:a.code,class:"country-check-row"},[n("input",{type:"checkbox",class:"country-check-input",checked:Tt(a.code),disabled:Xe(a.code),onChange:d=>Nt(a.code,d)},null,40,ta),n("span",sa,v(a.label)+"("+v(a.code)+")",1)]))),128))]),g.value.length?(i(),c("div",aa,[t[22]||(t[22]=n("div",{class:"country-order-caption"},"已选顺序(拖拽 ⋮⋮ 调整)",-1)),n("div",na,[(i(!0),c($,null,pe(g.value,(a,d)=>(i(),c("div",{key:a,class:_e(["country-drag-row",{dragging:oe.value===d}]),draggable:"true",onDragstart:T=>Pt(d),onDragend:At,onDragover:t[6]||(t[6]=vt(()=>{},["prevent"])),onDrop:vt(T=>Rt(d),["prevent"])},[t[21]||(t[21]=n("span",{class:"drag-handle",title:"拖动排序"},"⋮⋮",-1)),n("span",la,v(Qe(a))+"("+v(a)+")",1)],42,oa))),128))])])):y("",!0),Pe.value?(i(),c("div",ra,"保存中…")):y("",!0)],64)),A.value?(i(),c("div",ua,[...t[25]||(t[25]=[n("span",{class:"mode-status-dot active"},null,-1),n("span",{class:"mode-status-text"},"商品状态模式:将在售(Active)ASIN纳入跟价,跳过ASIN由后台配置的店铺维度数据提供",-1)])])):y("",!0),n("div",ia,[n("button",{type:"button",class:"btn-run",disabled:he.value,onClick:Ft},v(he.value?"匹配中…":"匹配店铺"),9,ca),n("button",{type:"button",class:"btn-run btn-queue",disabled:j.value||!Ne.value,onClick:Ht},v(j.value?"推送中…":"推送到 Python 队列"),9,da)]),t[29]||(t[29]=n("p",{class:"loading-msg"},[fe("上传ASIN文档和多选店铺"),n("strong",null,"可同时生效"),fe(",跟价结果合并输出。全量和自定义的区别仅在于ASIN来源不同。")],-1)),k.value?(i(),c("div",va,[n("div",fa,"循环任务 ID:"+v(k.value.id),1),n("div",pa,"状态:"+v(k.value.status||"-"),1),n("div",ma,"进度:"+v(ht.value),1),n("div",ha,"当前店铺:"+v((k.value.currentShopIndex||0)+1)+"/"+v(k.value.totalShopCount||0),1),k.value.errorMessage?(i(),c("div",ya,v(k.value.errorMessage),1)):y("",!0),n("button",{type:"button",class:"opt-btn loop-stop-btn",disabled:!Ee.value||ae.value,onClick:Wt},v(ae.value?"停止中...":"停止循环"),9,ka)])):y("",!0),p.value?(i(),c("div",ga,[t[26]||(t[26]=n("div",{class:"section-title queue-debug-title"},"推送结果",-1)),n("div",wa,v(p.value),1),G.value?(i(),c("pre",_a,v(G.value),1)):y("",!0)])):y("",!0)]),n("section",ba,[t[38]||(t[38]=n("div",{class:"panel-header"},"匹配与任务",-1)),n("div",Ia,[n("div",Sa,[n("div",Ca,[t[30]||(t[30]=n("span",{class:"summary-label"},"备选店铺数",-1)),n("strong",null,v(le.value.candidateCount),1)]),n("div",Ta,[t[31]||(t[31]=n("span",{class:"summary-label"},"已结束任务",-1)),n("strong",null,v(le.value.processedTaskCount),1)]),n("div",Na,[t[32]||(t[32]=n("span",{class:"summary-label"},"成功任务",-1)),n("strong",null,v(le.value.successTaskCount),1)]),n("div",Ea,[t[33]||(t[33]=n("span",{class:"summary-label"},"失败任务",-1)),n("strong",null,v(le.value.failedTaskCount),1)])]),t[37]||(t[37]=n("div",{class:"subsection-title"},"匹配结果",-1)),I.value.length?(i(),is(u,{key:1,data:I.value,"row-key":Me,"highlight-current-row":!1,class:"result-table match-table"},{default:z(()=>[C(o,{prop:"shopName",label:"店铺名","min-width":"100"}),C(o,{label:"匹配",width:"72",align:"center"},{default:z(({row:a})=>[n("span",{class:_e(a.matched?"ok":"fail")},v(a.matched?"是":"否"),3)]),_:1}),C(o,{prop:"shopId",label:"店铺ID","min-width":"120","show-overflow-tooltip":""}),C(o,{prop:"platform",label:"平台",width:"88","show-overflow-tooltip":""}),C(o,{prop:"companyName",label:"公司","min-width":"100","show-overflow-tooltip":""}),C(o,{label:"状态",width:"100","show-overflow-tooltip":""},{default:z(({row:a})=>[fe(v(Ut(a.matchStatus)),1)]),_:1}),C(o,{label:"说明","min-width":"140","show-overflow-tooltip":""},{default:z(({row:a})=>[fe(v(Bt(a)),1)]),_:1}),C(o,{label:"操作",width:"72",align:"center"},{default:z(({row:a})=>[n("button",{type:"button",class:"link-danger",onClick:d=>jt(a)},"删除",8,Aa)]),_:1})]),_:1},8,["data"])):(i(),c("div",Pa,"完成「匹配店铺」后,在此展示紫鸟索引匹配结果,供核对后再推送队列。")),n("div",Ra,[t[36]||(t[36]=n("div",{class:"result-list-header"},[n("span",null,"处理记录")],-1)),Qt.value?(i(),c($,{key:1},[Ue.value.length?(i(),c("div",La,[t[34]||(t[34]=n("div",{class:"result-subsection-title"},"当前任务",-1)),n("ul",Da,[(i(!0),c($,null,pe(Ue.value,a=>(i(),c("li",{key:`cur-${a.resultId}-${a.taskId}`,class:"task-item split-result-item"},[n("div",Ma,[a.roundIndex?(i(),c("div",$a,"轮次:第 "+v(a.roundIndex)+" 轮",1)):y("",!0),n("span",{class:"id",title:a.shopName||""},v(a.shopName||"-"),9,Fa),n("div",Ua,"任务 ID:"+v(a.taskId??"-"),1),a.platform?(i(),c("div",Ba,"平台:"+v(a.platform),1)):y("",!0),a.error?(i(),c("div",Oa,"错误:"+v(a.error),1)):y("",!0)]),n("div",qa,[n("span",{class:_e(["status",lt(a)])},v(ot(a)),3),rt(a)?(i(),c("button",{key:0,type:"button",class:"download",onClick:d=>ut(a)}," 下载 ",8,ja)):y("",!0),n("button",{type:"button",class:"btn-delete",onClick:d=>it(a)},"删除",8,Ja)])]))),128))])])):y("",!0),Be.value.length?(i(),c("div",Ka,[t[35]||(t[35]=n("div",{class:"result-subsection-title"},"历史记录",-1)),n("ul",Va,[(i(!0),c($,null,pe(Be.value,a=>(i(),c("li",{key:`his-${a.resultId}-${a.taskId}`,class:"task-item split-result-item"},[n("div",Wa,[a.roundIndex?(i(),c("div",Ha,"轮次:第 "+v(a.roundIndex)+" 轮",1)):y("",!0),n("span",{class:"id",title:a.shopName||""},v(a.shopName||"-"),9,za),n("div",Ga,"任务 ID:"+v(a.taskId??"-"),1),a.outputFilename?(i(),c("div",Qa,"文件:"+v(a.outputFilename),1)):y("",!0),a.error?(i(),c("div",Xa,"错误:"+v(a.error),1)):y("",!0)]),n("div",Ya,[n("span",{class:_e(["status",lt(a)])},v(ot(a)),3),rt(a)?(i(),c("button",{key:0,type:"button",class:"download",onClick:d=>ut(a)}," 下载 ",8,Za)):y("",!0),n("button",{type:"button",class:"btn-delete",onClick:d=>it(a)},"删除",8,en)])]))),128))])])):y("",!0)],64)):(i(),c("div",xa,"暂无处理记录。推送队列并等待 Python 回传后,将在此显示下载链接。"))])])])])])}}}),sn=Es(tn,[["__scopeId","data-v-08a3fd7b"]]);Ps(sn).use(As).mount("#app"); diff --git a/new_web_source/assets/product-risk-DV5AzjVc.css b/new_web_source/assets/product-risk-DV5AzjVc.css new file mode 100644 index 0000000..479ba53 --- /dev/null +++ b/new_web_source/assets/product-risk-DV5AzjVc.css @@ -0,0 +1 @@ +.module-page[data-v-bde90137]{min-height:100vh;background:#1a1a1a}.main-content[data-v-bde90137]{display:flex;min-height:calc(100vh - 56px);height:calc(100vh - 56px)}.left-panel[data-v-bde90137]{width:400px;background:#1e1e1e;padding:20px;overflow-y:auto;border-right:1px solid #2a2a2a}.right-panel[data-v-bde90137]{flex:1;display:flex;flex-direction:column;min-width:0;background:#1a1a1a}.section-title[data-v-bde90137]{font-size:13px;color:#bbb;margin-bottom:10px}.input-zone[data-v-bde90137]{border:1px dashed #3a3a3a;border-radius:10px;padding:16px;background:#252525;margin-bottom:20px}.hint[data-v-bde90137]{color:#888;font-size:12px;margin-bottom:12px;line-height:1.5;text-align:left}.country-pref-hint[data-v-bde90137]{margin-top:-4px}.country-pref-checks[data-v-bde90137]{display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:12px}.country-check-row[data-v-bde90137]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:#ccc}.country-check-input[data-v-bde90137]{width:16px;height:16px;accent-color:#409eff;cursor:pointer;flex-shrink:0}.country-check-text[data-v-bde90137]{line-height:1.3}.country-order-panel[data-v-bde90137]{border:1px solid #333;border-radius:8px;padding:10px 12px;background:#252525;margin-bottom:14px}.country-order-caption[data-v-bde90137]{font-size:11px;color:#777;margin-bottom:8px}.country-order-list[data-v-bde90137]{display:flex;flex-direction:column;gap:6px}.country-drag-row[data-v-bde90137]{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#2c2c2c;border-radius:6px;border:1px solid #3a3a3a;cursor:grab;-webkit-user-select:none;user-select:none}.country-drag-row.dragging[data-v-bde90137]{opacity:.55;border-color:#3498db}.drag-handle[data-v-bde90137]{color:#666;font-size:12px;letter-spacing:-2px}.country-drag-label[data-v-bde90137]{font-size:12px;color:#ccc}.country-pref-status[data-v-bde90137]{font-size:11px;color:#888;margin-bottom:10px}.listing-filter-hint[data-v-bde90137]{margin-top:-4px}.listing-filter-row[data-v-bde90137]{margin-bottom:16px}.listing-filter-select[data-v-bde90137]{width:100%}.listing-filter-row[data-v-bde90137] .el-select__wrapper{background-color:#2a2a2a;box-shadow:0 0 0 1px #3a3a3a inset}.listing-filter-row[data-v-bde90137] .el-select__placeholder,.listing-filter-row[data-v-bde90137] .el-select__selected-item{color:#ccc}.input-row[data-v-bde90137]{display:flex;gap:10px;align-items:center}.input-row[data-v-bde90137] .el-input{flex:1}.opt-btn[data-v-bde90137]{padding:8px 14px;font-size:13px;color:#ccc;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:6px;cursor:pointer;white-space:nowrap}.opt-btn[data-v-bde90137]:hover:not(:disabled){color:#3498db;border-color:#3498db}.opt-btn[data-v-bde90137]:disabled{opacity:.6;cursor:not-allowed}.empty-candidates[data-v-bde90137]{color:#666;font-size:13px;padding:16px;border:1px dashed #333;border-radius:8px;margin-bottom:16px}.candidate-table-scroll[data-v-bde90137]{max-height:280px;overflow:auto;margin-bottom:16px;border-radius:8px;border:1px solid #2a2a2a}.candidate-table[data-v-bde90137]{--el-table-bg-color: #252525;--el-table-tr-bg-color: #252525;--el-table-header-bg-color: #2a2a2a;--el-table-text-color: #ccc;--el-table-border-color: #333}.link-danger[data-v-bde90137]{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:12px;padding:0}.link-danger[data-v-bde90137]:hover{text-decoration:underline}.run-row[data-v-bde90137]{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.btn-run[data-v-bde90137]{padding:10px 18px;font-size:14px;font-weight:600;color:#fff;background:#3498db;border:none;border-radius:8px;cursor:pointer}.btn-run[data-v-bde90137]:hover:not(:disabled){background:#2980b9}.btn-run[data-v-bde90137]:disabled{opacity:.55;cursor:not-allowed}.btn-queue[data-v-bde90137]{background:#27ae60}.btn-queue[data-v-bde90137]:hover:not(:disabled){background:#219a52}.loading-msg[data-v-bde90137]{margin-top:12px;font-size:12px;color:#777;line-height:1.5}.loading-msg code[data-v-bde90137]{font-size:11px;color:#8fd3ff}.queue-debug-card[data-v-bde90137]{margin-top:18px;padding:14px;border:1px solid #2a2a2a;border-radius:10px;background:#202020}.queue-debug-title[data-v-bde90137]{margin-bottom:8px}.queue-debug-line[data-v-bde90137]{color:#b8c1cc;font-size:12px;line-height:1.6;margin-bottom:8px}.queue-debug-payload[data-v-bde90137]{margin:0;max-height:220px;overflow:auto;padding:10px;border-radius:8px;background:#141414;color:#8fd3ff;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.panel-header[data-v-bde90137]{padding:16px 20px;font-size:15px;font-weight:600;color:#e0e0e0;border-bottom:1px solid #2a2a2a}.task-list-wrap[data-v-bde90137]{flex:1;padding:16px 20px;overflow:auto}.clean-result-summary[data-v-bde90137]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.summary-card[data-v-bde90137]{padding:14px 16px;border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e}.summary-card strong[data-v-bde90137]{display:block;margin-top:8px;font-size:22px;color:#eaf4ff}.summary-label[data-v-bde90137]{font-size:12px;color:#8d8d8d}.subsection-title[data-v-bde90137]{font-size:13px;color:#999;margin:8px 0 10px}.empty-tasks[data-v-bde90137]{color:#666;font-size:13px;padding:16px;text-align:center}.empty-tasks.narrow[data-v-bde90137]{padding:12px 8px}.match-table[data-v-bde90137]{margin-bottom:18px}.match-table[data-v-bde90137] .el-table__body tr:hover>td.el-table__cell,.match-table[data-v-bde90137] .el-table__body tr.hover-row>td.el-table__cell,.match-table[data-v-bde90137] .el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-tr-bg-color, #222)!important}.result-table[data-v-bde90137]{--el-table-bg-color: #222;--el-table-tr-bg-color: #222;--el-table-header-bg-color: #2a2a2a;--el-table-text-color: #ccc;--el-table-border-color: #333}.ok[data-v-bde90137]{color:#27ae60}.fail[data-v-bde90137]{color:#e67e22}.result-list-wrap[data-v-bde90137]{border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e;min-height:200px;margin-top:8px}.result-list-header[data-v-bde90137]{padding:12px 16px;border-bottom:1px solid #2a2a2a;font-size:14px;color:#ddd}.result-subsection[data-v-bde90137]{padding:12px 12px 4px}.result-subsection-title[data-v-bde90137]{font-size:12px;color:#888;margin-bottom:8px}.task-list[data-v-bde90137]{list-style:none;margin:0;padding:0}.task-item[data-v-bde90137]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #2a2a2a;border-radius:8px;margin-bottom:8px;background:#222}.left[data-v-bde90137]{flex:1;min-width:0}.split-result-main[data-v-bde90137]{display:flex;flex-direction:column;gap:4px}.id[data-v-bde90137]{font-weight:600;color:#e0e0e0;font-size:13px}.files[data-v-bde90137]{font-size:12px;color:#888}.task-right[data-v-bde90137]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.status[data-v-bde90137]{padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap}.status.success[data-v-bde90137]{background:#2ecc712e;color:#2ecc71}.status.failed[data-v-bde90137]{background:#e74c3c2e;color:#ff6b6b}.status.running[data-v-bde90137]{background:#3498db2e;color:#3498db}.download[data-v-bde90137]{padding:6px 10px;border-radius:6px;font-size:12px;background:#3498db2e;color:#69b6ff;border:none;cursor:pointer}.download[data-v-bde90137]:hover{background:#3498db47}.btn-delete[data-v-bde90137]{padding:6px 10px;border-radius:6px;font-size:12px;background:#e74c3c1f;color:#ff8f8f;border:none;cursor:pointer}.btn-delete[data-v-bde90137]:hover{background:#e74c3c38}@media(max-width:1100px){.main-content[data-v-bde90137]{flex-direction:column;height:auto}.left-panel[data-v-bde90137]{width:100%;border-right:none;border-bottom:1px solid #2a2a2a}.clean-result-summary[data-v-bde90137]{grid-template-columns:repeat(2,minmax(0,1fr))}} diff --git a/new_web_source/assets/product-risk.js b/new_web_source/assets/product-risk.js new file mode 100644 index 0000000..eaf9240 --- /dev/null +++ b/new_web_source/assets/product-risk.js @@ -0,0 +1 @@ +import{d as mt,o as wt,L as _t,a as c,c as d,b as m,B as bt,e as n,aj as St,ak as Ct,t as f,a5 as E,a6 as It,a7 as Tt,x as M,F as O,r as H,al as Ae,n as Z,f as _,am as Et,a4 as Be,an as Pt,ao as Nt,g as v,h as ee,E as u,ap as Rt,aq as Dt,ar as $t,as as Ft,at as Mt,au as Ot,av as Ut,aw as Lt,ax as xe,ay as qt,az as At,aA as Bt,i as fe,aB as xt,aC as jt,U as Vt,_ as Kt,q as Jt,s as Ht}from"./pywebview-CcblbV5J.js";/* empty css */import{L as Qt}from"./listingFilters-BpGOU_pJ.js";/* empty css */import{c as zt}from"./categorized-timers-JPA-olTr.js";const Gt={class:"page-shell module-page"},Wt={class:"main-content"},Xt={class:"left-panel"},Yt={class:"input-zone"},Zt={class:"input-row"},es=["disabled"],ts={key:0,class:"empty-candidates"},ss={key:1,class:"candidate-table-scroll"},as=["onClick"],ns={class:"country-pref-checks"},os=["checked","disabled","onChange"],ls={class:"country-check-text"},rs={key:2,class:"country-order-panel"},us={class:"country-order-list"},is=["onDragstart","onDrop"],cs={class:"country-drag-label"},ds={key:3,class:"country-pref-status"},fs={class:"listing-filter-row"},vs={class:"run-row"},ps=["disabled"],hs=["disabled"],ys={key:4,class:"queue-debug-card"},ks={class:"queue-debug-line"},gs={key:0,class:"queue-debug-payload"},ms={class:"right-panel"},ws={class:"task-list-wrap"},_s={class:"clean-result-summary pr-summary"},bs={class:"summary-card"},Ss={class:"summary-card"},Cs={class:"summary-card"},Is={class:"summary-card"},Ts={key:0,class:"empty-tasks narrow"},Es=["onClick"],Ps={class:"result-list-wrap"},Ns={key:0,class:"empty-tasks"},Rs={key:0,class:"result-subsection"},Ds={class:"task-list clean-result-list"},$s={class:"left split-result-main"},Fs=["title"],Ms={class:"files"},Os={key:0,class:"files"},Us={key:1,class:"files"},Ls={class:"task-right split-result-actions"},qs=["onClick"],As=["onClick"],Bs={key:1,class:"result-subsection"},xs={class:"task-list clean-result-list"},js={class:"left split-result-main"},Vs=["title"],Ks={class:"files"},Js={key:0,class:"files"},Hs={key:1,class:"files"},Qs={class:"task-right split-result-actions"},zs=["onClick"],Gs=["onClick"],Ws=mt({__name:"BrandProductRiskTab",setup(Ys){const U=v(""),te=v([]),ve=v([]),p=v([]),Q=v(!1),z=v(!1),G=v(!1),se=v(!1),pe=v(!1),y=v(""),L=v(""),he=[{code:"DE",label:"德国"},{code:"UK",label:"英国"},{code:"FR",label:"法国"},{code:"IT",label:"意大利"},{code:"ES",label:"西班牙"}],h=v(["DE","UK","FR","IT","ES"]),D=v("SearchSuppressed"),q=v(null),ae=v(!1),ne=v(!1);let $=null;function ye(e){return he.find(s=>s.code===e)?.label??e}const je=ee(()=>{const e=h.value,t=new Set(e),s=e.map(o=>({code:o,label:ye(o)})),l=he.filter(o=>!t.has(o.code)).map(o=>({code:o.code,label:o.label}));return[...s,...l]});function Ve(e){return h.value.includes(e)}function ke(e){return h.value.length===1&&h.value[0]===e}function Ke(e,t){const s=t.target;if(s){if(!s.checked&&ke(e)){s.checked=!0,u.warning("至少保留 1 个国家");return}Je(e,s.checked)}}function Je(e,t){if(ne.value=!0,t)h.value.includes(e)||(h.value=[...h.value,e]);else{if(h.value.length<=1){u.warning("至少保留 1 个国家");return}h.value=h.value.filter(s=>s!==e)}ge()}function He(e){q.value=e}function Qe(){q.value=null}function ze(e){const t=q.value;if(q.value=null,t==null||t===e)return;ne.value=!0;const s=[...h.value],[l]=s.splice(t,1);s.splice(e,0,l),h.value=s,ge()}function ge(){$&&C.clearTimer("preference-save",$),$=C.setTimeout("preference-save",()=>{$=null,Ge()},450)}async function Ge(){if(!(h.value.length<1)){ae.value=!0;try{await Rt(h.value)}catch(e){u.error(e instanceof Error?e.message:"保存国家顺序失败")}finally{ae.value=!1}}}async function We(){try{const e=await Dt();if(ne.value)return;e?.country_codes?.length&&(h.value=[...e.country_codes])}catch{}}const A=v({candidateCount:0,processedTaskCount:0,successTaskCount:0,failedTaskCount:0}),P=v([]),k=v([]),N=v({}),g=v({}),S=v(null),oe=v(!1);let b=!1;const C=zt("product-risk");function W(){return typeof window<"u"&&window.localStorage.getItem("uid")||"0"}function me(){return`product-risk:tasks:${W()}`}function we(){return`product-risk:task-status:${W()}`}function _e(){return`product-risk:tasks-batch-snapshot:${W()}`}function be(){return`product-risk:matched-items:${W()}`}function X(e,t,s){if(!(typeof window>"u"))try{s?window.localStorage.removeItem(e):window.localStorage.setItem(e,JSON.stringify(t))}catch{}}function Xe(){try{const e=typeof window<"u"?window.localStorage.getItem(we()):null;if(!e)return;const t=JSON.parse(e),s={};for(const[l,o]of Object.entries(t)){const r=Number(l);r>0&&typeof o=="string"&&(s[r]=o)}N.value=s}catch{}}function le(){X(we(),N.value,Object.keys(N.value).length===0)}function Ye(){try{const e=typeof window<"u"?window.localStorage.getItem(_e()):null;if(!e)return;const t=JSON.parse(e),s={};for(const[l,o]of Object.entries(t)){const r=Number(l);r>0&&o&&typeof o=="object"&&(s[r]=o)}g.value=s}catch{}}function B(){X(_e(),g.value,Object.keys(g.value).length===0)}function Ze(){try{const e=typeof window<"u"?window.localStorage.getItem(be()):null;if(!e)return;const t=JSON.parse(e);Array.isArray(t)&&(p.value=t)}catch{}}function x(){X(be(),p.value,p.value.length===0)}function j(e){const t=(e.shopName||"").trim(),s=e.shopId??"";return`${t}${s}`}function Se(e){const t=e instanceof Error?e.message:String(e||"");return/记录不存在|任务不存在|不存在|已删除|not\s*found|404/i.test(t)}function F(e){if(!e.length)return;const t=new Set(e.map(s=>j(s)));p.value=p.value.filter(s=>!t.has(j(s))),x()}function et(e){P.value=P.value.filter(t=>!(e.resultId!=null&&t.resultId===e.resultId||e.taskId!=null&&t.taskId===e.taskId))}async function tt(e){const t=j(e),s=[...p.value];p.value=p.value.filter(o=>j(o)!==t),x();const l=(e.shopName||"").trim();if(!l){u.success("已从匹配结果中移除");return}try{(await $t(l))?.removed&&(await T(),await I(),V()),u.success("已从匹配结果中移除")}catch(o){if(Se(o)){await T(),await I(),V(),u.success("后端记录已不存在,已同步移除本地记录");return}p.value=s,x(),u.error(o instanceof Error?o.message:"同步后端失败")}}function V(){for(const e of[...k.value])P.value.some(s=>s.taskId===e)||R(e)}async function Ce(e){try{if(e.resultId!=null&&e.resultId>0)await Ft(e.resultId);else if(e.taskId!=null&&e.taskId>0)await Mt(e.taskId);else{u.warning("无法删除:缺少记录标识");return}e.taskId!=null&&e.taskId>0&&R(e.taskId),F([e]),await T(),await I(),V(),u.success("已删除")}catch(t){if(Se(t)){e.taskId!=null&&e.taskId>0&&R(e.taskId),F([e]),et(e),await I(),V(),u.success("后端记录已不存在,已同步移除本地记录");return}u.error(t instanceof Error?t.message:"删除失败")}}function st(){try{const e=typeof window<"u"?window.localStorage.getItem(me()):null;if(!e){k.value=[];return}const t=JSON.parse(e);k.value=Array.isArray(t)?t.filter(s=>typeof s=="number"):[]}catch{k.value=[]}}function Ie(){X(me(),k.value,k.value.length===0)}function Te(e){k.value.includes(e)||(k.value=[...k.value,e],Ie())}function R(e){if(k.value=k.value.filter(t=>t!==e),Ie(),delete N.value[e],le(),g.value[e]){const t={...g.value};delete t[e],g.value=t,B()}}function at(e){ve.value=e||[]}async function I(){try{A.value=await Ot()}catch{}}async function re(){try{te.value=await Ut(),await I()}catch(e){u.error(e instanceof Error?e.message:"加载备选失败")}}async function T(){try{P.value=(await Lt()).items||[]}catch{P.value=[]}}function Ee(e){return e&&N.value[e]||""}function Pe(e){const t=Ee(e);return t==="SUCCESS"||t==="FAILED"}const ue=ee(()=>{const e=P.value.filter(s=>s.taskId&&k.value.includes(s.taskId)&&!Pe(s.taskId)),t=new Set(e.map(s=>s.taskId).filter(s=>typeof s=="number"));for(const s of k.value){if(t.has(s))continue;const r=(g.value[s]?.items||[])[0];r&&e.push(r)}return e}),ie=ee(()=>P.value.filter(e=>!e.taskId||!k.value.includes(e.taskId)||Pe(e.taskId))),nt=ee(()=>ue.value.length>0||ie.value.length>0),ot=["无法连接到后端服务","bad gateway","gateway timeout","network error","timeout","502","503","504"];function ce(e){return b?Promise.resolve():C.sleep("queue-wait",e)}function lt(){C.clearCategory("queue-wait")}function Ne(e){const t=(e instanceof Error?e.message:String(e||"")).toLowerCase();return ot.some(s=>t.includes(s.toLowerCase()))}async function Re(e,t=10){let s=0;for(;;){if(b)throw new Error("component disposed");try{return await jt(e)}catch(l){if(s+=1,!Ne(l)||s>=t)throw l;y.value=`后端服务暂时不可用,正在重试创建任务(${s}/${t})...`,await ce(K())}}}async function De(){const e=k.value.filter(t=>t>0);if(e.length)try{const t=await xe(e);let s=!1;const l={...g.value};for(const o of t.items||[]){const r=o.task?.id,i=o.task?.status;if(typeof r=="number"&&r>0){const a=l[r];l[r]=a?{...a,task:{...a.task||{},...o.task||{}}}:o,i&&(N.value[r]=i,(i==="SUCCESS"||i==="FAILED")&&(R(r),s=!0))}}g.value=l,B(),le(),s&&(await T(),await I())}catch{}}function K(){return Vt()}function $e(e=!1){if(S.value){if(!e)return;C.clearTimer("task-poll",S.value),S.value=null}const t=async()=>{if(S.value=null,!b){if(oe.value){$e();return}if(k.value.length){oe.value=!0;try{await De()}finally{oe.value=!1}!b&&k.value.length>0&&(S.value=C.setTimeout("task-poll",t,K()))}}};b||(e?t():S.value=C.setTimeout("task-poll",t,K()))}function J(e=!1){S.value&&!e||$e(e)}function rt(){S.value&&(C.clearTimer("task-poll",S.value),S.value=null)}async function Fe(e){let t=0;const s=30;for(;;){if(b)return"STOPPED";try{const l=await xe([e]);t>0&&(y.value=`任务 ${e} 后端已恢复,继续等待执行结果...`),t=0;const o=(l.items||[]).find(i=>i.task?.id===e),r=o?.task?.status||"";if(o){const i=g.value[e];g.value={...g.value,[e]:i?{...i,task:{...i.task||{},...o.task||{}}}:o},B()}if(r&&(N.value[e]=r,le()),r==="SUCCESS"||r==="FAILED")return R(e),await T(),await I(),r}catch(l){if(!Ne(l))throw l;if(t+=1,t>=s)throw new Error(`任务 ${e} 等待后端恢复超时,请稍后手动刷新查看状态`);y.value=`任务 ${e} 运行中,正在等待后端服务恢复(${t}/${s})...`,(t===1||t%5===0)&&u.warning(`任务 ${e} 运行中,后端服务暂时不可用,正在自动重试`),await ce(K());continue}await ce(K())}}async function Me(){const e=U.value.trim();if(!e){u.warning("请输入店铺名称");return}Q.value=!0;try{await qt(e),U.value="",await re(),u.success("已加入备选")}catch(t){u.error(t instanceof Error?t.message:"保存失败")}finally{Q.value=!1}}async function ut(e){try{await At(e.id),await re(),p.value=[],x(),u.success("已删除")}catch(t){u.error(t instanceof Error?t.message:"删除失败")}}function it(){const e=new Set,t=U.value.trim();t&&e.add(t);for(const s of ve.value)s?.shop_name?.trim()&&e.add(s.shop_name.trim());return[...e]}function ct(e,t){const s=new Map;for(const r of t){const i=(r.shopName||"").trim();i&&s.set(i,r)}const l=new Set,o=[];for(const r of e){const i=(r.shopName||"").trim();i&&s.has(i)?(o.push(s.get(i)),l.add(i)):o.push(r)}for(const r of t){const i=(r.shopName||"").trim();if(!i){o.push(r);continue}l.has(i)||(o.push(r),l.add(i))}return o}async function dt(){const e=it();if(!e.length){u.warning("请勾选备选店铺,或在输入框中填写店名(可与勾选合并)");return}z.value=!0;try{const s=(await Bt(e)).items||[];p.value=ct(p.value,s),x(),s.length?u.success(`本次匹配 ${s.length} 个店铺名,表格共 ${p.value.length} 条`):u.warning("未返回匹配结果")}catch(t){u.error(t instanceof Error?t.message:"匹配失败")}finally{z.value=!1}}function de(e){const t=e.taskId;return t?Ee(t)||e.taskStatus||"":e.taskStatus||""}function Oe(e){const t=de(e);return t==="SUCCESS"?"已完成":t==="FAILED"?"失败":t==="RUNNING"?"执行中":e.success?"已完成":"等待中"}function Ue(e){const t=de(e);return t==="SUCCESS"||e.success?"success":t==="FAILED"?"failed":"running"}function Le(e){return!e.resultId||!e.fileReady&&!e.downloadUrl?!1:de(e)==="SUCCESS"||e.success===!0}async function qe(e){if(!e.resultId)return;const t=fe(),s=xt(e.resultId),l=e.outputFilename||`${e.shopName||"result"}.zip`;if(!t?.save_file_from_url_new){u.error("当前客户端未提供 save_file_from_url_new,无法下载文件");return}const o=await t.save_file_from_url_new(s,l);o.success?u.success(`已保存:${o.path||l}`):o.error&&o.error!=="用户取消"&&u.error(o.error)}function ft(e){const t=(e||"").trim();return{MATCHED:"已匹配",PENDING:"待匹配",CONFLICT:"需人工确认",INDEX_STALE:"索引过期"}[t]||t||"—"}function vt(e){const t=(e.matchMessage||"").trim();return t||(e.matched&&e.matchStatus==="MATCHED"?"紫鸟索引已命中,可推送队列;打开店铺地址由 Python 侧处理":e.matched?"已关联索引,请结合状态列查看是否可推送":"未命中或未就绪,请检查店铺名与索引刷新")}async function pt(){pe.value=!0,await gt()}function ht(){return p.value.find(e=>e.matched)}function yt(){return D.value==="SearchSuppressed"||D.value==="DetailPageRemoved"}async function kt(e){const t=fe();if(!t?.enqueue_json){u.error("当前环境未启用 pywebview enqueue_json");return}const s=await Re(e),l=s.taskId;g.value={...g.value,[l]:{task:{id:l,status:"RUNNING"},items:s.items}},B(),Te(l),J(!0);const o={type:"product-risk-resolve-run",ts:Date.now(),data:{taskId:l,items:e,country_codes:[...h.value],risk_listing_filter:D.value}};L.value=JSON.stringify(o,null,2);const r=await t.enqueue_json(o);if(!r?.success)throw R(l),new Error("任务 "+l+" 推送失败:"+(r?.error||"未知错误"));F(e),y.value="任务 "+l+" 已入队,共 "+e.length+" 个店铺,等待执行完成...";const i=await Fe(l);if(y.value="任务 "+l+(i==="SUCCESS"?" 已完成":" 执行失败"),i!=="SUCCESS")throw new Error(y.value)}async function gt(){if(b||se.value)return;if(!p.value.length){u.warning("请先匹配店铺");return}const e=fe();if(!e?.enqueue_json){u.error("当前环境未启用 pywebview enqueue_json");return}const t=p.value.filter(o=>o.matched);if(!t.length){u.warning("没有已匹配的店铺可推送");return}se.value=!0,G.value=!0,L.value="";let s=0,l=0;try{if(yt()){await kt(t),u.success("店铺推送已完成:成功 "+t.length+" 条,失败 0 条"),await T(),J(!0);return}let o=0;for(;!b&&pe.value;){const r=ht();if(!r)break;o+=1;try{const i=await Re([r]),a=i.taskId;g.value={...g.value,[a]:{task:{id:a,status:"RUNNING"},items:i.items}},B(),Te(a),J(!0);const w={type:"product-risk-resolve-run",ts:Date.now(),data:{taskId:a,items:[r],country_codes:[...h.value],risk_listing_filter:D.value}};L.value=JSON.stringify(w,null,2);const Y=await e.enqueue_json(w);if(!Y?.success){R(a),l+=1,y.value="第 "+o+" 条推送失败:"+(Y?.error||"未知错误")+",已自动继续下一条",u.error(y.value),F([r]);continue}if(F([r]),y.value="任务 "+a+" 已入队,等待执行完成...",await Fe(a)!=="SUCCESS"){l+=1,y.value="任务 "+a+" 执行失败,已自动继续下一条",u.error(y.value);continue}s+=1,y.value="任务 "+a+" 已完成"}catch(i){if(b)break;l+=1,y.value="第 "+o+" 条任务处理失败,已自动继续下一条:"+(i instanceof Error?i.message:"未知错误"),u.error(y.value),F([r]);continue}}(s>0||l>0)&&u.success("店铺推送已完成:成功 "+s+" 条,失败 "+l+" 条"),await T(),J(!0)}catch(o){if(b)return;y.value=o instanceof Error?o.message:"推送异常",u.error(y.value)}finally{se.value=!1,G.value=!1}}return wt(()=>{st(),Xe(),Ye(),Ze(),re().catch(()=>{}),We().catch(()=>{}),T().then(()=>(V(),De())).catch(()=>{}),I().catch(()=>{}),k.value.length&&J(!0)}),_t(()=>{b=!0,rt(),lt(),C.clearScope(),$&&C.clearTimer("preference-save",$)}),(e,t)=>{const s=Ct,l=It,o=Tt,r=Pt,i=Nt;return c(),d("div",Gt,[m(bt,{active:"product-risk"}),n("div",Wt,[n("aside",Xt,[t[7]||(t[7]=n("div",{class:"section-title"},"店铺名称",-1)),n("div",Yt,[t[3]||(t[3]=n("div",{class:"hint"},"输入店铺名后点「确认」加入下方备选区(按当前登录用户保存)。仅索引可命中的店铺可入库。勾选备选后点「匹配店铺」,再「推送到 Python 队列」。",-1)),n("div",Zt,[m(s,{modelValue:U.value,"onUpdate:modelValue":t[0]||(t[0]=a=>U.value=a),clearable:"",placeholder:"请输入店铺名称",onKeyup:St(Me,["enter"])},null,8,["modelValue"]),n("button",{type:"button",class:"opt-btn",disabled:Q.value,onClick:Me},f(Q.value?"保存中…":"确认"),9,es)])]),t[8]||(t[8]=n("div",{class:"section-title"},"备选区域",-1)),te.value.length?(c(),d("div",ss,[m(o,{data:te.value,"row-key":"id",height:"240",class:"candidate-table",onSelectionChange:at},{default:E(()=>[m(l,{type:"selection",width:"42"}),m(l,{prop:"shop_name",label:"店铺名","min-width":"120","show-overflow-tooltip":""}),m(l,{label:"操作",width:"72",align:"center"},{default:E(({row:a})=>[n("button",{type:"button",class:"link-danger",onClick:w=>ut(a)},"删除",8,as)]),_:1})]),_:1},8,["data"])])):(c(),d("div",ts,"暂无备选店铺,请先输入并确认")),t[9]||(t[9]=n("div",{class:"section-title"},"处理国家与顺序",-1)),t[10]||(t[10]=n("p",{class:"hint country-pref-hint"},[M(" 勾选需要处理的站点(可只选 2~3 国);上方勾选区"),n("strong",null,"先按已选顺序"),M("排列,其余未选国家排在后面。拖拽下方列表调整顺序后会与上方同步。设置会按当前登录用户保存。 ")],-1)),n("div",ns,[(c(!0),d(O,null,H(je.value,a=>(c(),d("label",{key:a.code,class:"country-check-row"},[n("input",{type:"checkbox",class:"country-check-input",checked:Ve(a.code),disabled:ke(a.code),onChange:w=>Ke(a.code,w)},null,40,os),n("span",ls,f(a.label)+"("+f(a.code)+")",1)]))),128))]),h.value.length?(c(),d("div",rs,[t[5]||(t[5]=n("div",{class:"country-order-caption"},"已选顺序(拖拽 ⋮⋮ 调整)",-1)),n("div",us,[(c(!0),d(O,null,H(h.value,(a,w)=>(c(),d("div",{key:a,class:Z(["country-drag-row",{dragging:q.value===w}]),draggable:"true",onDragstart:Y=>He(w),onDragend:Qe,onDragover:t[1]||(t[1]=Ae(()=>{},["prevent"])),onDrop:Ae(Y=>ze(w),["prevent"])},[t[4]||(t[4]=n("span",{class:"drag-handle",title:"拖动排序"},"⋮⋮",-1)),n("span",cs,f(ye(a))+"("+f(a)+")",1)],42,is))),128))])])):_("",!0),ae.value?(c(),d("div",ds,"保存中…")):_("",!0),t[11]||(t[11]=n("div",{class:"section-title"},"商品列表筛选",-1)),t[12]||(t[12]=n("p",{class:"hint listing-filter-hint"},"与「推送到 Python 队列」一并下发,供 Python 区分处理场景。",-1)),n("div",fs,[m(i,{modelValue:D.value,"onUpdate:modelValue":t[2]||(t[2]=a=>D.value=a),class:"listing-filter-select",teleported:"",placeholder:"选择筛选类型"},{default:E(()=>[(c(!0),d(O,null,H(Et(Qt),a=>(c(),Be(r,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),n("div",vs,[n("button",{type:"button",class:"btn-run",disabled:z.value,onClick:dt},f(z.value?"匹配中…":"匹配店铺"),9,ps),n("button",{type:"button",class:"btn-run btn-queue",disabled:G.value||!p.value.length,onClick:pt},f(G.value?"推送中…":"推送到 Python 队列"),9,hs)]),t[13]||(t[13]=n("p",{class:"loading-msg"},[M("在搜索结果中禁止显示、详情页面已删除会把匹配店铺合并为一个任务入队,避免同时打开多个紫鸟窗口;其它筛选仍按店铺逐条入队。Python 每处理完一店可 POST "),n("code",null,"/api/product-risk-resolve/tasks/{taskId}/result"),M("(可多次,每次可只含已完成的店铺);全部完成后任务结束。前端轮询任务状态。 ")],-1)),y.value?(c(),d("div",ys,[t[6]||(t[6]=n("div",{class:"section-title queue-debug-title"},"推送结果",-1)),n("div",ks,f(y.value),1),L.value?(c(),d("pre",gs,f(L.value),1)):_("",!0)])):_("",!0)]),n("section",ms,[t[22]||(t[22]=n("div",{class:"panel-header"},"匹配与任务",-1)),n("div",ws,[n("div",_s,[n("div",bs,[t[14]||(t[14]=n("span",{class:"summary-label"},"备选店铺数",-1)),n("strong",null,f(A.value.candidateCount),1)]),n("div",Ss,[t[15]||(t[15]=n("span",{class:"summary-label"},"已结束任务",-1)),n("strong",null,f(A.value.processedTaskCount),1)]),n("div",Cs,[t[16]||(t[16]=n("span",{class:"summary-label"},"成功任务",-1)),n("strong",null,f(A.value.successTaskCount),1)]),n("div",Is,[t[17]||(t[17]=n("span",{class:"summary-label"},"失败任务",-1)),n("strong",null,f(A.value.failedTaskCount),1)])]),t[21]||(t[21]=n("div",{class:"subsection-title"},"匹配结果",-1)),p.value.length?(c(),Be(o,{key:1,data:p.value,"row-key":j,"highlight-current-row":!1,class:"result-table match-table"},{default:E(()=>[m(l,{prop:"shopName",label:"店铺名","min-width":"100"}),m(l,{label:"匹配",width:"72",align:"center"},{default:E(({row:a})=>[n("span",{class:Z(a.matched?"ok":"fail")},f(a.matched?"是":"否"),3)]),_:1}),m(l,{prop:"shopId",label:"店铺ID","min-width":"120","show-overflow-tooltip":""}),m(l,{prop:"platform",label:"平台",width:"88","show-overflow-tooltip":""}),m(l,{prop:"companyName",label:"公司","min-width":"100","show-overflow-tooltip":""}),m(l,{label:"状态",width:"100","show-overflow-tooltip":""},{default:E(({row:a})=>[M(f(ft(a.matchStatus)),1)]),_:1}),m(l,{label:"说明","min-width":"140","show-overflow-tooltip":""},{default:E(({row:a})=>[M(f(vt(a)),1)]),_:1}),m(l,{label:"操作",width:"72",align:"center"},{default:E(({row:a})=>[n("button",{type:"button",class:"link-danger",onClick:w=>tt(a)},"删除",8,Es)]),_:1})]),_:1},8,["data"])):(c(),d("div",Ts,"完成「匹配店铺」后,在此展示紫鸟索引匹配结果,供核对后再推送队列。")),n("div",Ps,[t[20]||(t[20]=n("div",{class:"result-list-header"},[n("span",null,"处理记录")],-1)),nt.value?(c(),d(O,{key:1},[ue.value.length?(c(),d("div",Rs,[t[18]||(t[18]=n("div",{class:"result-subsection-title"},"当前任务",-1)),n("ul",Ds,[(c(!0),d(O,null,H(ue.value,a=>(c(),d("li",{key:`cur-${a.resultId}-${a.taskId}`,class:"task-item split-result-item"},[n("div",$s,[n("span",{class:"id",title:a.shopName||""},f(a.shopName||"-"),9,Fs),n("div",Ms,"任务 ID:"+f(a.taskId??"-"),1),a.platform?(c(),d("div",Os,"平台:"+f(a.platform),1)):_("",!0),a.error?(c(),d("div",Us,"错误:"+f(a.error),1)):_("",!0)]),n("div",Ls,[n("span",{class:Z(["status",Ue(a)])},f(Oe(a)),3),Le(a)?(c(),d("button",{key:0,type:"button",class:"download",onClick:w=>qe(a)}," 下载 ",8,qs)):_("",!0),n("button",{type:"button",class:"btn-delete",onClick:w=>Ce(a)},"删除",8,As)])]))),128))])])):_("",!0),ie.value.length?(c(),d("div",Bs,[t[19]||(t[19]=n("div",{class:"result-subsection-title"},"历史记录",-1)),n("ul",xs,[(c(!0),d(O,null,H(ie.value,a=>(c(),d("li",{key:`his-${a.resultId}-${a.taskId}`,class:"task-item split-result-item"},[n("div",js,[n("span",{class:"id",title:a.shopName||""},f(a.shopName||"-"),9,Vs),n("div",Ks,"任务 ID:"+f(a.taskId??"-"),1),a.outputFilename?(c(),d("div",Js,"文件:"+f(a.outputFilename),1)):_("",!0),a.error?(c(),d("div",Hs,"错误:"+f(a.error),1)):_("",!0)]),n("div",Qs,[n("span",{class:Z(["status",Ue(a)])},f(Oe(a)),3),Le(a)?(c(),d("button",{key:0,type:"button",class:"download",onClick:w=>qe(a)}," 下载 ",8,zs)):_("",!0),n("button",{type:"button",class:"btn-delete",onClick:w=>Ce(a)},"删除",8,Gs)])]))),128))])])):_("",!0)],64)):(c(),d("div",Ns,"暂无处理记录。推送队列并等待 Python 回传后,将在此显示下载链接。"))])])])])])}}}),Xs=Kt(Ws,[["__scopeId","data-v-bde90137"]]);Jt(Xs).use(Ht).mount("#app"); diff --git a/new_web_source/assets/pywebview-CcblbV5J.js b/new_web_source/assets/pywebview-CcblbV5J.js new file mode 100644 index 0000000..4f33fc3 --- /dev/null +++ b/new_web_source/assets/pywebview-CcblbV5J.js @@ -0,0 +1,55 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))a(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&a(r)}).observe(document,{childList:!0,subtree:!0});function n(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function a(o){if(o.ep)return;o.ep=!0;const s=n(o);fetch(o.href,s)}})();function jh(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const cn={},Xr=[],Dt=()=>{},Ew=()=>!1,Cd=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Uh=e=>e.startsWith("onUpdate:"),Pn=Object.assign,qh=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Kx=Object.prototype.hasOwnProperty,Nt=(e,t)=>Kx.call(e,t),ye=Array.isArray,Jr=e=>Ui(e)==="[object Map]",kd=e=>Ui(e)==="[object Set]",As=e=>Ui(e)==="[object Date]",Ve=e=>typeof e=="function",Le=e=>typeof e=="string",Ja=e=>typeof e=="symbol",ot=e=>e!==null&&typeof e=="object",mr=e=>(ot(e)||Ve(e))&&Ve(e.then)&&Ve(e.catch),xw=Object.prototype.toString,Ui=e=>xw.call(e),Wx=e=>Ui(e).slice(8,-1),mi=e=>Ui(e)==="[object Object]",Ed=e=>Le(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ei=jh(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),xd=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},jx=/-\w/g,Fn=xd(e=>e.replace(jx,t=>t.slice(1).toUpperCase())),Ux=/\B([A-Z])/g,cs=xd(e=>e.replace(Ux,"-$1").toLowerCase()),qi=xd(e=>e.charAt(0).toUpperCase()+e.slice(1)),ti=xd(e=>e?`on${qi(e)}`:""),Co=(e,t)=>!Object.is(e,t),ac=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:a,value:n})},Yh=e=>{const t=parseFloat(e);return isNaN(t)?e:t},qx=e=>{const t=Le(e)?Number(e):NaN;return isNaN(t)?e:t};let pg;const Td=()=>pg||(pg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ke(e){if(ye(e)){const t={};for(let n=0;n{if(n){const a=n.split(Gx);a.length>1&&(t[a[0].trim()]=a[1].trim())}}),t}function T(e){let t="";if(Le(e))t=e;else if(ye(e))for(let n=0;ngr(n,t))}const Rw=e=>!!(e&&e.__v_isRef===!0),Se=e=>Le(e)?e:e==null?"":ye(e)||ot(e)&&(e.toString===xw||!Ve(e.toString))?Rw(e)?Se(e.value):JSON.stringify(e,Nw,2):String(e),Nw=(e,t)=>Rw(t)?Nw(e,t.value):Jr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[a,o],s)=>(n[xf(a,s)+" =>"]=o,n),{})}:kd(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>xf(n))}:Ja(t)?xf(t):ot(t)&&!ye(t)&&!mi(t)?String(t):t,xf=(e,t="")=>{var n;return Ja(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let Yn;class Iw{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=Yn,!t&&Yn&&(this.index=(Yn.scopes||(Yn.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&&(Yn=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,a;for(n=0,a=this.effects.length;n0)return;if(ai){let t=ai;for(ai=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;ni;){let t=ni;for(ni=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(a){e||(e=a)}t=n}}if(e)throw e}function Dw(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Bw(e){let t,n=e.depsTail,a=n;for(;a;){const o=a.prevDep;a.version===-1?(a===n&&(n=o),Jh(a),nT(a)):t=a,a.dep.activeLink=a.prevActiveLink,a.prevActiveLink=void 0,a=o}e.deps=t,e.depsTail=n}function yp(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Fw(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Fw(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===gi)||(e.globalVersion=gi,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!yp(e))))return;e.flags|=2;const t=e.dep,n=hn,a=qa;hn=e,qa=!0;try{Dw(e);const o=e.fn(e._value);(t.version===0||Co(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{hn=n,qa=a,Bw(e),e.flags&=-3}}function Jh(e,t=!1){const{dep:n,prevSub:a,nextSub:o}=e;if(a&&(a.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=a,e.nextSub=void 0),n.subs===e&&(n.subs=a,!a&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)Jh(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function nT(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let qa=!0;const Vw=[];function ns(){Vw.push(qa),qa=!1}function as(){const e=Vw.pop();qa=e===void 0?!0:e}function hg(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=hn;hn=void 0;try{t()}finally{hn=n}}}let gi=0;class aT{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 Zh{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(!hn||!qa||hn===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==hn)n=this.activeLink=new aT(hn,this),hn.deps?(n.prevDep=hn.depsTail,hn.depsTail.nextDep=n,hn.depsTail=n):hn.deps=hn.depsTail=n,zw(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const a=n.nextDep;a.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=a),n.prevDep=hn.depsTail,n.nextDep=void 0,hn.depsTail.nextDep=n,hn.depsTail=n,hn.deps===n&&(hn.deps=a)}return n}trigger(t){this.version++,gi++,this.notify(t)}notify(t){Gh();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Xh()}}}function zw(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let a=t.deps;a;a=a.nextDep)zw(a)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Dc=new WeakMap,cr=Symbol(""),wp=Symbol(""),bi=Symbol("");function Xn(e,t,n){if(qa&&hn){let a=Dc.get(e);a||Dc.set(e,a=new Map);let o=a.get(n);o||(a.set(n,o=new Zh),o.map=a,o.key=n),o.track()}}function Uo(e,t,n,a,o,s){const r=Dc.get(e);if(!r){gi++;return}const l=u=>{u&&u.trigger()};if(Gh(),t==="clear")r.forEach(l);else{const u=ye(e),c=u&&Ed(n);if(u&&n==="length"){const d=Number(a);r.forEach((f,v)=>{(v==="length"||v===bi||!Ja(v)&&v>=d)&&l(f)})}else switch((n!==void 0||r.has(void 0))&&l(r.get(n)),c&&l(r.get(bi)),t){case"add":u?c&&l(r.get("length")):(l(r.get(cr)),Jr(e)&&l(r.get(wp)));break;case"delete":u||(l(r.get(cr)),Jr(e)&&l(r.get(wp)));break;case"set":Jr(e)&&l(r.get(cr));break}}Xh()}function oT(e,t){const n=Dc.get(e);return n&&n.get(t)}function Lr(e){const t=qt(e);return t===e?t:(Xn(t,"iterate",bi),Oa(e)?t:t.map(Za))}function $d(e){return Xn(e=qt(e),"iterate",bi),e}function wo(e,t){return os(e)?il(dr(e)?Za(t):t):Za(t)}const sT={__proto__:null,[Symbol.iterator](){return $f(this,Symbol.iterator,e=>wo(this,e))},concat(...e){return Lr(this).concat(...e.map(t=>ye(t)?Lr(t):t))},entries(){return $f(this,"entries",e=>(e[1]=wo(this,e[1]),e))},every(e,t){return Ho(this,"every",e,t,void 0,arguments)},filter(e,t){return Ho(this,"filter",e,t,n=>n.map(a=>wo(this,a)),arguments)},find(e,t){return Ho(this,"find",e,t,n=>wo(this,n),arguments)},findIndex(e,t){return Ho(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ho(this,"findLast",e,t,n=>wo(this,n),arguments)},findLastIndex(e,t){return Ho(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ho(this,"forEach",e,t,void 0,arguments)},includes(...e){return Of(this,"includes",e)},indexOf(...e){return Of(this,"indexOf",e)},join(e){return Lr(this).join(e)},lastIndexOf(...e){return Of(this,"lastIndexOf",e)},map(e,t){return Ho(this,"map",e,t,void 0,arguments)},pop(){return Fl(this,"pop")},push(...e){return Fl(this,"push",e)},reduce(e,...t){return vg(this,"reduce",e,t)},reduceRight(e,...t){return vg(this,"reduceRight",e,t)},shift(){return Fl(this,"shift")},some(e,t){return Ho(this,"some",e,t,void 0,arguments)},splice(...e){return Fl(this,"splice",e)},toReversed(){return Lr(this).toReversed()},toSorted(e){return Lr(this).toSorted(e)},toSpliced(...e){return Lr(this).toSpliced(...e)},unshift(...e){return Fl(this,"unshift",e)},values(){return $f(this,"values",e=>wo(this,e))}};function $f(e,t,n){const a=$d(e),o=a[t]();return a!==e&&!Oa(e)&&(o._next=o.next,o.next=()=>{const s=o._next();return s.done||(s.value=n(s.value)),s}),o}const rT=Array.prototype;function Ho(e,t,n,a,o,s){const r=$d(e),l=r!==e&&!Oa(e),u=r[t];if(u!==rT[t]){const f=u.apply(e,s);return l?Za(f):f}let c=n;r!==e&&(l?c=function(f,v){return n.call(this,wo(e,f),v,e)}:n.length>2&&(c=function(f,v){return n.call(this,f,v,e)}));const d=u.call(r,c,a);return l&&o?o(d):d}function vg(e,t,n,a){const o=$d(e),s=o!==e&&!Oa(e);let r=n,l=!1;o!==e&&(s?(l=a.length===0,r=function(c,d,f){return l&&(l=!1,c=wo(e,c)),n.call(this,c,wo(e,d),f,e)}):n.length>3&&(r=function(c,d,f){return n.call(this,c,d,f,e)}));const u=o[t](r,...a);return l?wo(e,u):u}function Of(e,t,n){const a=qt(e);Xn(a,"iterate",bi);const o=a[t](...n);return(o===-1||o===!1)&&Od(n[0])?(n[0]=qt(n[0]),a[t](...n)):o}function Fl(e,t,n=[]){ns(),Gh();const a=qt(e)[t].apply(e,n);return Xh(),as(),a}const lT=jh("__proto__,__v_isRef,__isVue"),Hw=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ja));function iT(e){Ja(e)||(e=String(e));const t=qt(this);return Xn(t,"has",e),t.hasOwnProperty(e)}class Kw{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,a){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw")return a===(o?s?bT:qw:s?Uw:jw).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(a)?t:void 0;const r=ye(t);if(!o){let u;if(r&&(u=sT[n]))return u;if(n==="hasOwnProperty")return iT}const l=Reflect.get(t,n,Jt(t)?t:a);if((Ja(n)?Hw.has(n):lT(n))||(o||Xn(t,"get",n),s))return l;if(Jt(l)){const u=r&&Ed(n)?l:l.value;return o&&ot(u)?br(u):u}return ot(l)?o?br(l):At(l):l}}class Ww extends Kw{constructor(t=!1){super(!1,t)}set(t,n,a,o){let s=t[n];const r=ye(t)&&Ed(n);if(!this._isShallow){const c=os(s);if(!Oa(a)&&!os(a)&&(s=qt(s),a=qt(a)),!r&&Jt(s)&&!Jt(a))return c||(s.value=a),!0}const l=r?Number(n)e,Pu=e=>Reflect.getPrototypeOf(e);function pT(e,t,n){return function(...a){const o=this.__v_raw,s=qt(o),r=Jr(s),l=e==="entries"||e===Symbol.iterator&&r,u=e==="keys"&&r,c=o[e](...a),d=n?Sp:t?il:Za;return!t&&Xn(s,"iterate",u?wp:cr),Pn(Object.create(c),{next(){const{value:f,done:v}=c.next();return v?{value:f,done:v}:{value:l?[d(f[0]),d(f[1])]:d(f),done:v}}})}}function Mu(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function hT(e,t){const n={get(o){const s=this.__v_raw,r=qt(s),l=qt(o);e||(Co(o,l)&&Xn(r,"get",o),Xn(r,"get",l));const{has:u}=Pu(r),c=t?Sp:e?il:Za;if(u.call(r,o))return c(s.get(o));if(u.call(r,l))return c(s.get(l));s!==r&&s.get(o)},get size(){const o=this.__v_raw;return!e&&Xn(qt(o),"iterate",cr),o.size},has(o){const s=this.__v_raw,r=qt(s),l=qt(o);return e||(Co(o,l)&&Xn(r,"has",o),Xn(r,"has",l)),o===l?s.has(o):s.has(o)||s.has(l)},forEach(o,s){const r=this,l=r.__v_raw,u=qt(l),c=t?Sp:e?il:Za;return!e&&Xn(u,"iterate",cr),l.forEach((d,f)=>o.call(s,c(d),c(f),r))}};return Pn(n,e?{add:Mu("add"),set:Mu("set"),delete:Mu("delete"),clear:Mu("clear")}:{add(o){const s=qt(this),r=Pu(s),l=qt(o),u=!t&&!Oa(o)&&!os(o)?l:o;return r.has.call(s,u)||Co(o,u)&&r.has.call(s,o)||Co(l,u)&&r.has.call(s,l)||(s.add(u),Uo(s,"add",u,u)),this},set(o,s){!t&&!Oa(s)&&!os(s)&&(s=qt(s));const r=qt(this),{has:l,get:u}=Pu(r);let c=l.call(r,o);c||(o=qt(o),c=l.call(r,o));const d=u.call(r,o);return r.set(o,s),c?Co(s,d)&&Uo(r,"set",o,s):Uo(r,"add",o,s),this},delete(o){const s=qt(this),{has:r,get:l}=Pu(s);let u=r.call(s,o);u||(o=qt(o),u=r.call(s,o)),l&&l.call(s,o);const c=s.delete(o);return u&&Uo(s,"delete",o,void 0),c},clear(){const o=qt(this),s=o.size!==0,r=o.clear();return s&&Uo(o,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=pT(o,e,t)}),n}function Qh(e,t){const n=hT(e,t);return(a,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?a:Reflect.get(Nt(n,o)&&o in a?n:a,o,s)}const vT={get:Qh(!1,!1)},mT={get:Qh(!1,!0)},gT={get:Qh(!0,!1)};const jw=new WeakMap,Uw=new WeakMap,qw=new WeakMap,bT=new WeakMap;function yT(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function wT(e){return e.__v_skip||!Object.isExtensible(e)?0:yT(Wx(e))}function At(e){return os(e)?e:tv(e,!1,cT,vT,jw)}function ev(e){return tv(e,!1,fT,mT,Uw)}function br(e){return tv(e,!0,dT,gT,qw)}function tv(e,t,n,a,o){if(!ot(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=wT(e);if(s===0)return e;const r=o.get(e);if(r)return r;const l=new Proxy(e,s===2?a:n);return o.set(e,l),l}function dr(e){return os(e)?dr(e.__v_raw):!!(e&&e.__v_isReactive)}function os(e){return!!(e&&e.__v_isReadonly)}function Oa(e){return!!(e&&e.__v_isShallow)}function Od(e){return e?!!e.__v_raw:!1}function qt(e){const t=e&&e.__v_raw;return t?qt(t):e}function xo(e){return!Nt(e,"__v_skip")&&Object.isExtensible(e)&&Tw(e,"__v_skip",!0),e}const Za=e=>ot(e)?At(e):e,il=e=>ot(e)?br(e):e;function Jt(e){return e?e.__v_isRef===!0:!1}function M(e){return Yw(e,!1)}function Xt(e){return Yw(e,!0)}function Yw(e,t){return Jt(e)?e:new ST(e,t)}class ST{constructor(t,n){this.dep=new Zh,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:qt(t),this._value=n?t:Za(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,a=this.__v_isShallow||Oa(t)||os(t);t=a?t:qt(t),Co(t,n)&&(this._rawValue=t,this._value=a?t:Za(t),this.dep.trigger())}}function oc(e){e.dep&&e.dep.trigger()}function i(e){return Jt(e)?e.value:e}function mg(e){return Ve(e)?e():i(e)}const CT={get:(e,t,n)=>t==="__v_raw"?e:i(Reflect.get(e,t,n)),set:(e,t,n,a)=>{const o=e[t];return Jt(o)&&!Jt(n)?(o.value=n,!0):Reflect.set(e,t,n,a)}};function Gw(e){return dr(e)?e:new Proxy(e,CT)}function Mn(e){const t=ye(e)?new Array(e.length):{};for(const n in e)t[n]=Xw(e,n);return t}class kT{constructor(t,n,a){this._object=t,this._key=n,this._defaultValue=a,this.__v_isRef=!0,this._value=void 0,this._raw=qt(t);let o=!0,s=t;if(!ye(t)||!Ed(String(n)))do o=!Od(s)||Oa(s);while(o&&(s=s.__v_raw));this._shallow=o}get value(){let t=this._object[this._key];return this._shallow&&(t=i(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Jt(this._raw[this._key])){const n=this._object[this._key];if(Jt(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return oT(this._raw,this._key)}}class ET{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 Vt(e,t,n){return Jt(e)?e:Ve(e)?new ET(e):ot(e)&&arguments.length>1?Xw(e,t,n):M(e)}function Xw(e,t,n){return new kT(e,t,n)}class xT{constructor(t,n,a){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Zh(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=gi-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=a}notify(){if(this.flags|=16,!(this.flags&8)&&hn!==this)return Lw(this,!0),!0}get value(){const t=this.dep.track();return Fw(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function TT(e,t,n=!1){let a,o;return Ve(e)?a=e:(a=e.get,o=e.set),new xT(a,o,n)}const _u={},Bc=new WeakMap;let Js;function $T(e,t=!1,n=Js){if(n){let a=Bc.get(n);a||Bc.set(n,a=[]),a.push(e)}}function OT(e,t,n=cn){const{immediate:a,deep:o,once:s,scheduler:r,augmentJob:l,call:u}=n,c=S=>o?S:Oa(S)||o===!1||o===0?qo(S,1):qo(S);let d,f,v,g,p=!1,h=!1;if(Jt(e)?(f=()=>e.value,p=Oa(e)):dr(e)?(f=()=>c(e),p=!0):ye(e)?(h=!0,p=e.some(S=>dr(S)||Oa(S)),f=()=>e.map(S=>{if(Jt(S))return S.value;if(dr(S))return c(S);if(Ve(S))return u?u(S,2):S()})):Ve(e)?t?f=u?()=>u(e,2):e:f=()=>{if(v){ns();try{v()}finally{as()}}const S=Js;Js=d;try{return u?u(e,3,[g]):e(g)}finally{Js=S}}:f=Dt,t&&o){const S=f,C=o===!0?1/0:o;f=()=>qo(S(),C)}const m=Pw(),b=()=>{d.stop(),m&&m.active&&qh(m.effects,d)};if(s&&t){const S=t;t=(...C)=>{S(...C),b()}}let k=h?new Array(e.length).fill(_u):_u;const y=S=>{if(!(!(d.flags&1)||!d.dirty&&!S))if(t){const C=d.run();if(o||p||(h?C.some((E,$)=>Co(E,k[$])):Co(C,k))){v&&v();const E=Js;Js=d;try{const $=[C,k===_u?void 0:h&&k[0]===_u?[]:k,g];k=C,u?u(t,3,$):t(...$)}finally{Js=E}}}else d.run()};return l&&l(y),d=new _w(f),d.scheduler=r?()=>r(y,!1):y,g=S=>$T(S,!1,d),v=d.onStop=()=>{const S=Bc.get(d);if(S){if(u)u(S,4);else for(const C of S)C();Bc.delete(d)}},t?a?y(!0):k=d.run():r?r(y.bind(null,!0),!0):d.run(),b.pause=d.pause.bind(d),b.resume=d.resume.bind(d),b.stop=b,b}function qo(e,t=1/0,n){if(t<=0||!ot(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Jt(e))qo(e.value,t,n);else if(ye(e))for(let a=0;a{qo(a,t,n)});else if(mi(e)){for(const a in e)qo(e[a],t,n);for(const a of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,a)&&qo(e[a],t,n)}return e}function Yi(e,t,n,a){try{return a?e(...a):e()}catch(o){Rd(o,t,n)}}function Qa(e,t,n,a){if(Ve(e)){const o=Yi(e,t,n,a);return o&&mr(o)&&o.catch(s=>{Rd(s,t,n)}),o}if(ye(e)){const o=[];for(let s=0;s>>1,o=la[a],s=yi(o);s=yi(n)?la.push(e):la.splice(NT(t),0,e),e.flags|=1,Zw()}}function Zw(){Fc||(Fc=Jw.then(e1))}function IT(e){ye(e)?Zr.push(...e):xs&&e.id===-1?xs.splice(Wr+1,0,e):e.flags&1||(Zr.push(e),e.flags|=1),Zw()}function gg(e,t,n=bo+1){for(;nyi(n)-yi(a));if(Zr.length=0,xs){xs.push(...t);return}for(xs=t,Wr=0;Wre.id==null?e.flags&2?-1:1/0:e.id;function e1(e){try{for(bo=0;bo{a._d&&Kc(-1);const s=Vc(t);let r;try{r=e(...o)}finally{Vc(s),a._d&&Kc(1)}return r};return a._n=!0,a._c=!0,a._d=!0,a}function ut(e,t){if(Kn===null)return e;const n=_d(Kn),a=e.dirs||(e.dirs=[]);for(let o=0;o1)return n&&Ve(t)?t.call(a&&a.proxy):t}}const PT=Symbol.for("v-scx"),MT=()=>_e(PT);function wa(e,t){return av(e,null,t)}function le(e,t,n){return av(e,t,n)}function av(e,t,n=cn){const{immediate:a,deep:o,flush:s,once:r}=n,l=Pn({},n),u=t&&a||!t&&s!=="post";let c;if(Ci){if(s==="sync"){const g=MT();c=g.__watcherHandles||(g.__watcherHandles=[])}else if(!u){const g=()=>{};return g.stop=Dt,g.resume=Dt,g.pause=Dt,g}}const d=Jn;l.call=(g,p,h)=>Qa(g,d,p,h);let f=!1;s==="post"?l.scheduler=g=>{qn(g,d&&d.suspense)}:s!=="sync"&&(f=!0,l.scheduler=(g,p)=>{p?g():nv(g)}),l.augmentJob=g=>{t&&(g.flags|=4),f&&(g.flags|=2,d&&(g.id=d.uid,g.i=d))};const v=OT(e,t,l);return Ci&&(c?c.push(v):u&&v()),v}function _T(e,t,n){const a=this.proxy,o=Le(e)?e.includes(".")?n1(a,e):()=>a[e]:e.bind(a,a);let s;Ve(t)?s=t:(s=t.handler,n=t);const r=Xi(this),l=av(o,s.bind(a),n);return r(),l}function n1(e,t){const n=t.split(".");return()=>{let a=e;for(let o=0;oe.__isTeleport,oi=e=>e&&(e.disabled||e.disabled===""),bg=e=>e&&(e.defer||e.defer===""),yg=e=>typeof SVGElement<"u"&&e instanceof SVGElement,wg=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Cp=(e,t)=>{const n=e&&e.to;return Le(n)?t?t(n):null:n},s1={name:"Teleport",__isTeleport:!0,process(e,t,n,a,o,s,r,l,u,c){const{mc:d,pc:f,pbc:v,o:{insert:g,querySelector:p,createText:h,createComment:m}}=c,b=oi(t.props);let{shapeFlag:k,children:y,dynamicChildren:S}=t;if(e==null){const C=t.el=h(""),E=t.anchor=h("");g(C,n,a),g(E,n,a);const $=(N,R)=>{k&16&&d(y,N,R,o,s,r,l,u)},O=()=>{const N=t.target=Cp(t.props,p),R=kp(N,t,h,g);N&&(r!=="svg"&&yg(N)?r="svg":r!=="mathml"&&wg(N)&&(r="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(N),b||($(N,R),sc(t,!1)))};b&&($(n,E),sc(t,!0)),bg(t.props)?(t.el.__isMounted=!1,qn(()=>{O(),delete t.el.__isMounted},s)):O()}else{if(bg(t.props)&&e.el.__isMounted===!1){qn(()=>{s1.process(e,t,n,a,o,s,r,l,u,c)},s);return}t.el=e.el,t.targetStart=e.targetStart;const C=t.anchor=e.anchor,E=t.target=e.target,$=t.targetAnchor=e.targetAnchor,O=oi(e.props),N=O?n:E,R=O?C:$;if(r==="svg"||yg(E)?r="svg":(r==="mathml"||wg(E))&&(r="mathml"),S?(v(e.dynamicChildren,S,N,o,s,r,l),fv(e,t,!0)):u||f(e,t,N,R,o,s,r,l,!1),b)O?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Au(t,n,C,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const A=t.target=Cp(t.props,p);A&&Au(t,A,null,c,0)}else O&&Au(t,E,$,c,1);sc(t,b)}},remove(e,t,n,{um:a,o:{remove:o}},s){const{shapeFlag:r,children:l,anchor:u,targetStart:c,targetAnchor:d,target:f,props:v}=e;if(f&&(o(c),o(d)),s&&o(u),r&16){const g=s||!oi(v);for(let p=0;p{e.isMounted=!0}),Bt(()=>{e.isUnmounting=!0}),e}const Pa=[Function,Array],l1={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Pa,onEnter:Pa,onAfterEnter:Pa,onEnterCancelled:Pa,onBeforeLeave:Pa,onLeave:Pa,onAfterLeave:Pa,onLeaveCancelled:Pa,onBeforeAppear:Pa,onAppear:Pa,onAfterAppear:Pa,onAppearCancelled:Pa},i1=e=>{const t=e.subTree;return t.component?i1(t.component):t},DT={name:"BaseTransition",props:l1,setup(e,{slots:t}){const n=ft(),a=r1();return()=>{const o=t.default&&ov(t.default(),!0);if(!o||!o.length)return;const s=u1(o),r=qt(e),{mode:l}=r;if(a.isLeaving)return Rf(s);const u=Sg(s);if(!u)return Rf(s);let c=wi(u,r,a,n,f=>c=f);u.type!==gn&&yr(u,c);let d=n.subTree&&Sg(n.subTree);if(d&&d.type!==gn&&!Qs(d,u)&&i1(n).type!==gn){let f=wi(d,r,a,n);if(yr(d,f),l==="out-in"&&u.type!==gn)return a.isLeaving=!0,f.afterLeave=()=>{a.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,d=void 0},Rf(s);l==="in-out"&&u.type!==gn?f.delayLeave=(v,g,p)=>{const h=c1(a,d);h[String(d.key)]=d,v[yo]=()=>{g(),v[yo]=void 0,delete c.delayedLeave,d=void 0},c.delayedLeave=()=>{p(),delete c.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return s}}};function u1(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==gn){t=n;break}}return t}const BT=DT;function c1(e,t){const{leavingVNodes:n}=e;let a=n.get(t.type);return a||(a=Object.create(null),n.set(t.type,a)),a}function wi(e,t,n,a,o){const{appear:s,mode:r,persisted:l=!1,onBeforeEnter:u,onEnter:c,onAfterEnter:d,onEnterCancelled:f,onBeforeLeave:v,onLeave:g,onAfterLeave:p,onLeaveCancelled:h,onBeforeAppear:m,onAppear:b,onAfterAppear:k,onAppearCancelled:y}=t,S=String(e.key),C=c1(n,e),E=(N,R)=>{N&&Qa(N,a,9,R)},$=(N,R)=>{const A=R[1];E(N,R),ye(N)?N.every(_=>_.length<=1)&&A():N.length<=1&&A()},O={mode:r,persisted:l,beforeEnter(N){let R=u;if(!n.isMounted)if(s)R=m||u;else return;N[yo]&&N[yo](!0);const A=C[S];A&&Qs(e,A)&&A.el[yo]&&A.el[yo](),E(R,[N])},enter(N){if(C[S]===e)return;let R=c,A=d,_=f;if(!n.isMounted)if(s)R=b||c,A=k||d,_=y||f;else return;let V=!1;N[Vl]=U=>{V||(V=!0,U?E(_,[N]):E(A,[N]),O.delayedLeave&&O.delayedLeave(),N[Vl]=void 0)};const H=N[Vl].bind(null,!1);R?$(R,[N,H]):H()},leave(N,R){const A=String(e.key);if(N[Vl]&&N[Vl](!0),n.isUnmounting)return R();E(v,[N]);let _=!1;N[yo]=H=>{_||(_=!0,R(),H?E(h,[N]):E(p,[N]),N[yo]=void 0,C[A]===e&&delete C[A])};const V=N[yo].bind(null,!1);C[A]=e,g?$(g,[N,V]):V()},clone(N){const R=wi(N,t,n,a,o);return o&&o(R),R}};return O}function Rf(e){if(Nd(e))return e=Io(e),e.children=null,e}function Sg(e){if(!Nd(e))return o1(e.type)&&e.children?u1(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&Ve(n.default))return n.default()}}function yr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,yr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ov(e,t=!1,n){let a=[],o=0;for(let s=0;s1)for(let s=0;ssi(h,t&&(ye(t)?t[m]:t),n,a,o));return}if(Qr(a)&&!o){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&si(e,t,n,a.component.subTree);return}const s=a.shapeFlag&4?_d(a.component):a.el,r=o?null:s,{i:l,r:u}=e,c=t&&t.r,d=l.refs===cn?l.refs={}:l.refs,f=l.setupState,v=qt(f),g=f===cn?Ew:h=>Cg(d,h)?!1:Nt(v,h),p=(h,m)=>!(m&&Cg(d,m));if(c!=null&&c!==u){if(kg(t),Le(c))d[c]=null,g(c)&&(f[c]=null);else if(Jt(c)){const h=t;p(c,h.k)&&(c.value=null),h.k&&(d[h.k]=null)}}if(Ve(u))Yi(u,l,12,[r,d]);else{const h=Le(u),m=Jt(u);if(h||m){const b=()=>{if(e.f){const k=h?g(u)?f[u]:d[u]:p()||!e.k?u.value:d[e.k];if(o)ye(k)&&qh(k,s);else if(ye(k))k.includes(s)||k.push(s);else if(h)d[u]=[s],g(u)&&(f[u]=d[u]);else{const y=[s];p(u,e.k)&&(u.value=y),e.k&&(d[e.k]=y)}}else h?(d[u]=r,g(u)&&(f[u]=r)):m&&(p(u,e.k)&&(u.value=r),e.k&&(d[e.k]=r))};if(r){const k=()=>{b(),zc.delete(e)};k.id=-1,zc.set(e,k),qn(k,n)}else kg(e),b()}}}function kg(e){const t=zc.get(e);t&&(t.flags|=8,zc.delete(e))}Td().requestIdleCallback;Td().cancelIdleCallback;const Qr=e=>!!e.type.__asyncLoader,Nd=e=>e.type.__isKeepAlive;function Gi(e,t){f1(e,"a",t)}function sv(e,t){f1(e,"da",t)}function f1(e,t,n=Jn){const a=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Id(t,a,n),n){let o=n.parent;for(;o&&o.parent;)Nd(o.parent.vnode)&&FT(a,t,n,o),o=o.parent}}function FT(e,t,n,a){const o=Id(t,e,a,!0);$l(()=>{qh(a[t],o)},n)}function Id(e,t,n=Jn,a=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...r)=>{ns();const l=Xi(n),u=Qa(t,n,e,r);return l(),as(),u});return a?o.unshift(s):o.push(s),s}}const ds=e=>(t,n=Jn)=>{(!Ci||e==="sp")&&Id(e,(...a)=>t(...a),n)},Pd=ds("bm"),ht=ds("m"),rv=ds("bu"),ro=ds("u"),Bt=ds("bum"),$l=ds("um"),VT=ds("sp"),zT=ds("rtg"),HT=ds("rtc");function KT(e,t=Jn){Id("ec",e,t)}const lv="components",WT="directives";function It(e,t){return uv(lv,e,!0,t)||e}const p1=Symbol.for("v-ndc");function it(e){return Le(e)?uv(lv,e,!1)||e:e||p1}function iv(e){return uv(WT,e)}function uv(e,t,n=!0,a=!1){const o=Kn||Jn;if(o){const s=o.type;if(e===lv){const l=T$(s,!1);if(l&&(l===t||l===Fn(t)||l===qi(Fn(t))))return s}const r=Eg(o[e]||s[e],t)||Eg(o.appContext[e],t);return!r&&a?s:r}}function Eg(e,t){return e&&(e[t]||e[Fn(t)]||e[qi(Fn(t))])}function gt(e,t,n,a){let o;const s=n,r=ye(e);if(r||Le(e)){const l=r&&dr(e);let u=!1,c=!1;l&&(u=!Oa(e),c=os(e),e=$d(e)),o=new Array(e.length);for(let d=0,f=e.length;dt(l,u,void 0,s));else{const l=Object.keys(e);o=new Array(l.length);for(let u=0,c=l.length;u{const s=a.fn(...o);return s&&(s.key=a.key),s}:a.fn)}return e}function ee(e,t,n={},a,o){if(Kn.ce||Kn.parent&&Qr(Kn.parent)&&Kn.parent.ce){const c=Object.keys(n).length>0;return t!=="default"&&(n.name=t),x(),oe(Fe,null,[Y("slot",n,a&&a())],c?-2:64)}let s=e[t];s&&s._c&&(s._d=!1),x();const r=s&&h1(s(n)),l=n.key||r&&r.key,u=oe(Fe,{key:(l&&!Ja(l)?l:`_${t}`)+(!r&&a?"_fb":"")},r||(a?a():[]),r&&e._===1?64:-2);return u.scopeId&&(u.slotScopeIds=[u.scopeId+"-s"]),s&&s._c&&(s._d=!0),u}function h1(e){return e.some(t=>Ut(t)?!(t.type===gn||t.type===Fe&&!h1(t.children)):!0)?e:null}function jT(e,t){const n={};for(const a in e)n[ti(a)]=e[a];return n}const Ep=e=>e?_1(e)?_d(e):Ep(e.parent):null,ri=Pn(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=>Ep(e.parent),$root:e=>Ep(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>g1(e),$forceUpdate:e=>e.f||(e.f=()=>{nv(e.update)}),$nextTick:e=>e.n||(e.n=Re.bind(e.proxy)),$watch:e=>_T.bind(e)}),Nf=(e,t)=>e!==cn&&!e.__isScriptSetup&&Nt(e,t),UT={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:a,data:o,props:s,accessCache:r,type:l,appContext:u}=e;if(t[0]!=="$"){const v=r[t];if(v!==void 0)switch(v){case 1:return a[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(Nf(a,t))return r[t]=1,a[t];if(o!==cn&&Nt(o,t))return r[t]=2,o[t];if(Nt(s,t))return r[t]=3,s[t];if(n!==cn&&Nt(n,t))return r[t]=4,n[t];xp&&(r[t]=0)}}const c=ri[t];let d,f;if(c)return t==="$attrs"&&Xn(e.attrs,"get",""),c(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(n!==cn&&Nt(n,t))return r[t]=4,n[t];if(f=u.config.globalProperties,Nt(f,t))return f[t]},set({_:e},t,n){const{data:a,setupState:o,ctx:s}=e;return Nf(o,t)?(o[t]=n,!0):a!==cn&&Nt(a,t)?(a[t]=n,!0):Nt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:a,appContext:o,props:s,type:r}},l){let u;return!!(n[l]||e!==cn&&l[0]!=="$"&&Nt(e,l)||Nf(t,l)||Nt(s,l)||Nt(a,l)||Nt(ri,l)||Nt(o.config.globalProperties,l)||(u=r.__cssModules)&&u[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Nt(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function vn(){return v1().slots}function fs(){return v1().attrs}function v1(e){const t=ft();return t.setupContext||(t.setupContext=L1(t))}function xg(e){return ye(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let xp=!0;function qT(e){const t=g1(e),n=e.proxy,a=e.ctx;xp=!1,t.beforeCreate&&Tg(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:r,watch:l,provide:u,inject:c,created:d,beforeMount:f,mounted:v,beforeUpdate:g,updated:p,activated:h,deactivated:m,beforeDestroy:b,beforeUnmount:k,destroyed:y,unmounted:S,render:C,renderTracked:E,renderTriggered:$,errorCaptured:O,serverPrefetch:N,expose:R,inheritAttrs:A,components:_,directives:V,filters:H}=t;if(c&&YT(c,a,null),r)for(const P in r){const I=r[P];Ve(I)&&(a[P]=I.bind(n))}if(o){const P=o.call(n,n);ot(P)&&(e.data=At(P))}if(xp=!0,s)for(const P in s){const I=s[P],L=Ve(I)?I.bind(n,n):Ve(I.get)?I.get.bind(n,n):Dt,D=!Ve(I)&&Ve(I.set)?I.set.bind(n):Dt,F=w({get:L,set:D});Object.defineProperty(a,P,{enumerable:!0,configurable:!0,get:()=>F.value,set:q=>F.value=q})}if(l)for(const P in l)m1(l[P],a,n,P);if(u){const P=Ve(u)?u.call(n):u;Reflect.ownKeys(P).forEach(I=>{St(I,P[I])})}d&&Tg(d,e,"c");function W(P,I){ye(I)?I.forEach(L=>P(L.bind(n))):I&&P(I.bind(n))}if(W(Pd,f),W(ht,v),W(rv,g),W(ro,p),W(Gi,h),W(sv,m),W(KT,O),W(HT,E),W(zT,$),W(Bt,k),W($l,S),W(VT,N),ye(R))if(R.length){const P=e.exposed||(e.exposed={});R.forEach(I=>{Object.defineProperty(P,I,{get:()=>n[I],set:L=>n[I]=L,enumerable:!0})})}else e.exposed||(e.exposed={});C&&e.render===Dt&&(e.render=C),A!=null&&(e.inheritAttrs=A),_&&(e.components=_),V&&(e.directives=V),N&&d1(e)}function YT(e,t,n=Dt){ye(e)&&(e=Tp(e));for(const a in e){const o=e[a];let s;ot(o)?"default"in o?s=_e(o.from||a,o.default,!0):s=_e(o.from||a):s=_e(o),Jt(s)?Object.defineProperty(t,a,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[a]=s}}function Tg(e,t,n){Qa(ye(e)?e.map(a=>a.bind(t.proxy)):e.bind(t.proxy),t,n)}function m1(e,t,n,a){let o=a.includes(".")?n1(n,a):()=>n[a];if(Le(e)){const s=t[e];Ve(s)&&le(o,s)}else if(Ve(e))le(o,e.bind(n));else if(ot(e))if(ye(e))e.forEach(s=>m1(s,t,n,a));else{const s=Ve(e.handler)?e.handler.bind(n):t[e.handler];Ve(s)&&le(o,s,e)}}function g1(e){const t=e.type,{mixins:n,extends:a}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,l=s.get(t);let u;return l?u=l:!o.length&&!n&&!a?u=t:(u={},o.length&&o.forEach(c=>Hc(u,c,r,!0)),Hc(u,t,r)),ot(t)&&s.set(t,u),u}function Hc(e,t,n,a=!1){const{mixins:o,extends:s}=t;s&&Hc(e,s,n,!0),o&&o.forEach(r=>Hc(e,r,n,!0));for(const r in t)if(!(a&&r==="expose")){const l=GT[r]||n&&n[r];e[r]=l?l(e[r],t[r]):t[r]}return e}const GT={data:$g,props:Og,emits:Og,methods:Xl,computed:Xl,beforeCreate:ra,created:ra,beforeMount:ra,mounted:ra,beforeUpdate:ra,updated:ra,beforeDestroy:ra,beforeUnmount:ra,destroyed:ra,unmounted:ra,activated:ra,deactivated:ra,errorCaptured:ra,serverPrefetch:ra,components:Xl,directives:Xl,watch:JT,provide:$g,inject:XT};function $g(e,t){return t?e?function(){return Pn(Ve(e)?e.call(this,this):e,Ve(t)?t.call(this,this):t)}:t:e}function XT(e,t){return Xl(Tp(e),Tp(t))}function Tp(e){if(ye(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Fn(t)}Modifiers`]||e[`${cs(t)}Modifiers`];function t$(e,t,...n){if(e.isUnmounted)return;const a=e.vnode.props||cn;let o=n;const s=t.startsWith("update:"),r=s&&e$(a,t.slice(7));r&&(r.trim&&(o=n.map(d=>Le(d)?d.trim():d)),r.number&&(o=n.map(Yh)));let l,u=a[l=ti(t)]||a[l=ti(Fn(t))];!u&&s&&(u=a[l=ti(cs(t))]),u&&Qa(u,e,6,o);const c=a[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Qa(c,e,6,o)}}const n$=new WeakMap;function y1(e,t,n=!1){const a=n?n$:t.emitsCache,o=a.get(e);if(o!==void 0)return o;const s=e.emits;let r={},l=!1;if(!Ve(e)){const u=c=>{const d=y1(c,t,!0);d&&(l=!0,Pn(r,d))};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!s&&!l?(ot(e)&&a.set(e,null),null):(ye(s)?s.forEach(u=>r[u]=null):Pn(r,s),ot(e)&&a.set(e,r),r)}function Md(e,t){return!e||!Cd(t)?!1:(t=t.slice(2).replace(/Once$/,""),Nt(e,t[0].toLowerCase()+t.slice(1))||Nt(e,cs(t))||Nt(e,t))}function Rg(e){const{type:t,vnode:n,proxy:a,withProxy:o,propsOptions:[s],slots:r,attrs:l,emit:u,render:c,renderCache:d,props:f,data:v,setupState:g,ctx:p,inheritAttrs:h}=e,m=Vc(e);let b,k;try{if(n.shapeFlag&4){const S=o||a,C=S;b=So(c.call(C,S,d,f,g,v,p)),k=l}else{const S=t;b=So(S.length>1?S(f,{attrs:l,slots:r,emit:u}):S(f,null)),k=t.props?l:a$(l)}}catch(S){li.length=0,Rd(S,e,1),b=Y(gn)}let y=b;if(k&&h!==!1){const S=Object.keys(k),{shapeFlag:C}=y;S.length&&C&7&&(s&&S.some(Uh)&&(k=o$(k,s)),y=Io(y,k,!1,!0))}return n.dirs&&(y=Io(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&yr(y,n.transition),b=y,Vc(m),b}const a$=e=>{let t;for(const n in e)(n==="class"||n==="style"||Cd(n))&&((t||(t={}))[n]=e[n]);return t},o$=(e,t)=>{const n={};for(const a in e)(!Uh(a)||!(a.slice(9)in t))&&(n[a]=e[a]);return n};function s$(e,t,n){const{props:a,children:o,component:s}=e,{props:r,children:l,patchFlag:u}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&u>=0){if(u&1024)return!0;if(u&16)return a?Ng(a,r,c):!!r;if(u&8){const d=t.dynamicProps;for(let f=0;fObject.create(S1),k1=e=>Object.getPrototypeOf(e)===S1;function l$(e,t,n,a=!1){const o={},s=C1();e.propsDefaults=Object.create(null),E1(e,t,o,s);for(const r in e.propsOptions[0])r in o||(o[r]=void 0);n?e.props=a?o:ev(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function i$(e,t,n,a){const{props:o,attrs:s,vnode:{patchFlag:r}}=e,l=qt(o),[u]=e.propsOptions;let c=!1;if((a||r>0)&&!(r&16)){if(r&8){const d=e.vnode.dynamicProps;for(let f=0;f{u=!0;const[v,g]=x1(f,t,!0);Pn(r,v),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!s&&!u)return ot(e)&&a.set(e,Xr),Xr;if(ye(s))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",dv=e=>ye(e)?e.map(So):[So(e)],c$=(e,t,n)=>{if(t._n)return t;const a=J((...o)=>dv(t(...o)),n);return a._c=!1,a},T1=(e,t,n)=>{const a=e._ctx;for(const o in e){if(cv(o))continue;const s=e[o];if(Ve(s))t[o]=c$(o,s,a);else if(s!=null){const r=dv(s);t[o]=()=>r}}},$1=(e,t)=>{const n=dv(t);e.slots.default=()=>n},O1=(e,t,n)=>{for(const a in t)(n||!cv(a))&&(e[a]=t[a])},d$=(e,t,n)=>{const a=e.slots=C1();if(e.vnode.shapeFlag&32){const o=t._;o?(O1(a,t,n),n&&Tw(a,"_",o,!0)):T1(t,a)}else t&&$1(e,t)},f$=(e,t,n)=>{const{vnode:a,slots:o}=e;let s=!0,r=cn;if(a.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:O1(o,t,n):(s=!t.$stable,T1(t,o)),r=t}else t&&($1(e,t),r={default:1});if(s)for(const l in o)!cv(l)&&r[l]==null&&delete o[l]},qn=g$;function p$(e){return h$(e)}function h$(e,t){const n=Td();n.__VUE__=!0;const{insert:a,remove:o,patchProp:s,createElement:r,createText:l,createComment:u,setText:c,setElementText:d,parentNode:f,nextSibling:v,setScopeId:g=Dt,insertStaticContent:p}=e,h=(K,Z,re,ce=null,ve=null,ke=null,Ne=void 0,Ie=null,$e=!!Z.dynamicChildren)=>{if(K===Z)return;K&&!Qs(K,Z)&&(ce=ue(K),q(K,ve,ke,!0),K=null),Z.patchFlag===-2&&($e=!1,Z.dynamicChildren=null);const{type:pe,ref:Ee,shapeFlag:me}=Z;switch(pe){case Ol:m(K,Z,re,ce);break;case gn:b(K,Z,re,ce);break;case rc:K==null&&k(Z,re,ce,Ne);break;case Fe:_(K,Z,re,ce,ve,ke,Ne,Ie,$e);break;default:me&1?C(K,Z,re,ce,ve,ke,Ne,Ie,$e):me&6?V(K,Z,re,ce,ve,ke,Ne,Ie,$e):(me&64||me&128)&&pe.process(K,Z,re,ce,ve,ke,Ne,Ie,$e,ae)}Ee!=null&&ve?si(Ee,K&&K.ref,ke,Z||K,!Z):Ee==null&&K&&K.ref!=null&&si(K.ref,null,ke,K,!0)},m=(K,Z,re,ce)=>{if(K==null)a(Z.el=l(Z.children),re,ce);else{const ve=Z.el=K.el;Z.children!==K.children&&c(ve,Z.children)}},b=(K,Z,re,ce)=>{K==null?a(Z.el=u(Z.children||""),re,ce):Z.el=K.el},k=(K,Z,re,ce)=>{[K.el,K.anchor]=p(K.children,Z,re,ce,K.el,K.anchor)},y=({el:K,anchor:Z},re,ce)=>{let ve;for(;K&&K!==Z;)ve=v(K),a(K,re,ce),K=ve;a(Z,re,ce)},S=({el:K,anchor:Z})=>{let re;for(;K&&K!==Z;)re=v(K),o(K),K=re;o(Z)},C=(K,Z,re,ce,ve,ke,Ne,Ie,$e)=>{if(Z.type==="svg"?Ne="svg":Z.type==="math"&&(Ne="mathml"),K==null)E(Z,re,ce,ve,ke,Ne,Ie,$e);else{const pe=K.el&&K.el._isVueCE?K.el:null;try{pe&&pe._beginPatch(),N(K,Z,ve,ke,Ne,Ie,$e)}finally{pe&&pe._endPatch()}}},E=(K,Z,re,ce,ve,ke,Ne,Ie)=>{let $e,pe;const{props:Ee,shapeFlag:me,transition:Me,dirs:We}=K;if($e=K.el=r(K.type,ke,Ee&&Ee.is,Ee),me&8?d($e,K.children):me&16&&O(K.children,$e,null,ce,ve,If(K,ke),Ne,Ie),We&&Us(K,null,ce,"created"),$($e,K,K.scopeId,Ne,ce),Ee){for(const Pe in Ee)Pe!=="value"&&!ei(Pe)&&s($e,Pe,null,Ee[Pe],ke,ce);"value"in Ee&&s($e,"value",null,Ee.value,ke),(pe=Ee.onVnodeBeforeMount)&&mo(pe,ce,K)}We&&Us(K,null,ce,"beforeMount");const Ze=v$(ve,Me);Ze&&Me.beforeEnter($e),a($e,Z,re),((pe=Ee&&Ee.onVnodeMounted)||Ze||We)&&qn(()=>{pe&&mo(pe,ce,K),Ze&&Me.enter($e),We&&Us(K,null,ce,"mounted")},ve)},$=(K,Z,re,ce,ve)=>{if(re&&g(K,re),ce)for(let ke=0;ke{for(let pe=$e;pe{const Ie=Z.el=K.el;let{patchFlag:$e,dynamicChildren:pe,dirs:Ee}=Z;$e|=K.patchFlag&16;const me=K.props||cn,Me=Z.props||cn;let We;if(re&&qs(re,!1),(We=Me.onVnodeBeforeUpdate)&&mo(We,re,Z,K),Ee&&Us(Z,K,re,"beforeUpdate"),re&&qs(re,!0),(me.innerHTML&&Me.innerHTML==null||me.textContent&&Me.textContent==null)&&d(Ie,""),pe?R(K.dynamicChildren,pe,Ie,re,ce,If(Z,ve),ke):Ne||I(K,Z,Ie,null,re,ce,If(Z,ve),ke,!1),$e>0){if($e&16)A(Ie,me,Me,re,ve);else if($e&2&&me.class!==Me.class&&s(Ie,"class",null,Me.class,ve),$e&4&&s(Ie,"style",me.style,Me.style,ve),$e&8){const Ze=Z.dynamicProps;for(let Pe=0;Pe{We&&mo(We,re,Z,K),Ee&&Us(Z,K,re,"updated")},ce)},R=(K,Z,re,ce,ve,ke,Ne)=>{for(let Ie=0;Ie{if(Z!==re){if(Z!==cn)for(const ke in Z)!ei(ke)&&!(ke in re)&&s(K,ke,Z[ke],null,ve,ce);for(const ke in re){if(ei(ke))continue;const Ne=re[ke],Ie=Z[ke];Ne!==Ie&&ke!=="value"&&s(K,ke,Ie,Ne,ve,ce)}"value"in re&&s(K,"value",Z.value,re.value,ve)}},_=(K,Z,re,ce,ve,ke,Ne,Ie,$e)=>{const pe=Z.el=K?K.el:l(""),Ee=Z.anchor=K?K.anchor:l("");let{patchFlag:me,dynamicChildren:Me,slotScopeIds:We}=Z;We&&(Ie=Ie?Ie.concat(We):We),K==null?(a(pe,re,ce),a(Ee,re,ce),O(Z.children||[],re,Ee,ve,ke,Ne,Ie,$e)):me>0&&me&64&&Me&&K.dynamicChildren&&K.dynamicChildren.length===Me.length?(R(K.dynamicChildren,Me,re,ve,ke,Ne,Ie),(Z.key!=null||ve&&Z===ve.subTree)&&fv(K,Z,!0)):I(K,Z,re,Ee,ve,ke,Ne,Ie,$e)},V=(K,Z,re,ce,ve,ke,Ne,Ie,$e)=>{Z.slotScopeIds=Ie,K==null?Z.shapeFlag&512?ve.ctx.activate(Z,re,ce,Ne,$e):H(Z,re,ce,ve,ke,Ne,$e):U(K,Z,$e)},H=(K,Z,re,ce,ve,ke,Ne)=>{const Ie=K.component=C$(K,ce,ve);if(Nd(K)&&(Ie.ctx.renderer=ae),k$(Ie,!1,Ne),Ie.asyncDep){if(ve&&ve.registerDep(Ie,W,Ne),!K.el){const $e=Ie.subTree=Y(gn);b(null,$e,Z,re),K.placeholder=$e.el}}else W(Ie,K,Z,re,ve,ke,Ne)},U=(K,Z,re)=>{const ce=Z.component=K.component;if(s$(K,Z,re))if(ce.asyncDep&&!ce.asyncResolved){P(ce,Z,re);return}else ce.next=Z,ce.update();else Z.el=K.el,ce.vnode=Z},W=(K,Z,re,ce,ve,ke,Ne)=>{const Ie=()=>{if(K.isMounted){let{next:me,bu:Me,u:We,parent:Ze,vnode:Pe}=K;{const lt=R1(K);if(lt){me&&(me.el=Pe.el,P(K,me,Ne)),lt.asyncDep.then(()=>{qn(()=>{K.isUnmounted||pe()},ve)});return}}let Ae=me,je;qs(K,!1),me?(me.el=Pe.el,P(K,me,Ne)):me=Pe,Me&&ac(Me),(je=me.props&&me.props.onVnodeBeforeUpdate)&&mo(je,Ze,me,Pe),qs(K,!0);const Rt=Rg(K),Ue=K.subTree;K.subTree=Rt,h(Ue,Rt,f(Ue.el),ue(Ue),K,ve,ke),me.el=Rt.el,Ae===null&&r$(K,Rt.el),We&&qn(We,ve),(je=me.props&&me.props.onVnodeUpdated)&&qn(()=>mo(je,Ze,me,Pe),ve)}else{let me;const{el:Me,props:We}=Z,{bm:Ze,m:Pe,parent:Ae,root:je,type:Rt}=K,Ue=Qr(Z);qs(K,!1),Ze&&ac(Ze),!Ue&&(me=We&&We.onVnodeBeforeMount)&&mo(me,Ae,Z),qs(K,!0);{je.ce&&je.ce._hasShadowRoot()&&je.ce._injectChildStyle(Rt,K.parent?K.parent.type:void 0);const lt=K.subTree=Rg(K);h(null,lt,re,ce,K,ve,ke),Z.el=lt.el}if(Pe&&qn(Pe,ve),!Ue&&(me=We&&We.onVnodeMounted)){const lt=Z;qn(()=>mo(me,Ae,lt),ve)}(Z.shapeFlag&256||Ae&&Qr(Ae.vnode)&&Ae.vnode.shapeFlag&256)&&K.a&&qn(K.a,ve),K.isMounted=!0,Z=re=ce=null}};K.scope.on();const $e=K.effect=new _w(Ie);K.scope.off();const pe=K.update=$e.run.bind($e),Ee=K.job=$e.runIfDirty.bind($e);Ee.i=K,Ee.id=K.uid,$e.scheduler=()=>nv(Ee),qs(K,!0),pe()},P=(K,Z,re)=>{Z.component=K;const ce=K.vnode.props;K.vnode=Z,K.next=null,i$(K,Z.props,ce,re),f$(K,Z.children,re),ns(),gg(K),as()},I=(K,Z,re,ce,ve,ke,Ne,Ie,$e=!1)=>{const pe=K&&K.children,Ee=K?K.shapeFlag:0,me=Z.children,{patchFlag:Me,shapeFlag:We}=Z;if(Me>0){if(Me&128){D(pe,me,re,ce,ve,ke,Ne,Ie,$e);return}else if(Me&256){L(pe,me,re,ce,ve,ke,Ne,Ie,$e);return}}We&8?(Ee&16&&he(pe,ve,ke),me!==pe&&d(re,me)):Ee&16?We&16?D(pe,me,re,ce,ve,ke,Ne,Ie,$e):he(pe,ve,ke,!0):(Ee&8&&d(re,""),We&16&&O(me,re,ce,ve,ke,Ne,Ie,$e))},L=(K,Z,re,ce,ve,ke,Ne,Ie,$e)=>{K=K||Xr,Z=Z||Xr;const pe=K.length,Ee=Z.length,me=Math.min(pe,Ee);let Me;for(Me=0;MeEe?he(K,ve,ke,!0,!1,me):O(Z,re,ce,ve,ke,Ne,Ie,$e,me)},D=(K,Z,re,ce,ve,ke,Ne,Ie,$e)=>{let pe=0;const Ee=Z.length;let me=K.length-1,Me=Ee-1;for(;pe<=me&&pe<=Me;){const We=K[pe],Ze=Z[pe]=$e?Wo(Z[pe]):So(Z[pe]);if(Qs(We,Ze))h(We,Ze,re,null,ve,ke,Ne,Ie,$e);else break;pe++}for(;pe<=me&&pe<=Me;){const We=K[me],Ze=Z[Me]=$e?Wo(Z[Me]):So(Z[Me]);if(Qs(We,Ze))h(We,Ze,re,null,ve,ke,Ne,Ie,$e);else break;me--,Me--}if(pe>me){if(pe<=Me){const We=Me+1,Ze=WeMe)for(;pe<=me;)q(K[pe],ve,ke,!0),pe++;else{const We=pe,Ze=pe,Pe=new Map;for(pe=Ze;pe<=Me;pe++){const be=Z[pe]=$e?Wo(Z[pe]):So(Z[pe]);be.key!=null&&Pe.set(be.key,pe)}let Ae,je=0;const Rt=Me-Ze+1;let Ue=!1,lt=0;const mt=new Array(Rt);for(pe=0;pe=Rt){q(be,ve,ke,!0);continue}let ze;if(be.key!=null)ze=Pe.get(be.key);else for(Ae=Ze;Ae<=Me;Ae++)if(mt[Ae-Ze]===0&&Qs(be,Z[Ae])){ze=Ae;break}ze===void 0?q(be,ve,ke,!0):(mt[ze-Ze]=pe+1,ze>=lt?lt=ze:Ue=!0,h(be,Z[ze],re,null,ve,ke,Ne,Ie,$e),je++)}const kt=Ue?m$(mt):Xr;for(Ae=kt.length-1,pe=Rt-1;pe>=0;pe--){const be=Ze+pe,ze=Z[be],de=Z[be+1],Ge=be+1{const{el:ke,type:Ne,transition:Ie,children:$e,shapeFlag:pe}=K;if(pe&6){F(K.component.subTree,Z,re,ce);return}if(pe&128){K.suspense.move(Z,re,ce);return}if(pe&64){Ne.move(K,Z,re,ae);return}if(Ne===Fe){a(ke,Z,re);for(let me=0;me<$e.length;me++)F($e[me],Z,re,ce);a(K.anchor,Z,re);return}if(Ne===rc){y(K,Z,re);return}if(ce!==2&&pe&1&&Ie)if(ce===0)Ie.beforeEnter(ke),a(ke,Z,re),qn(()=>Ie.enter(ke),ve);else{const{leave:me,delayLeave:Me,afterLeave:We}=Ie,Ze=()=>{K.ctx.isUnmounted?o(ke):a(ke,Z,re)},Pe=()=>{ke._isLeaving&&ke[yo](!0),me(ke,()=>{Ze(),We&&We()})};Me?Me(ke,Ze,Pe):Pe()}else a(ke,Z,re)},q=(K,Z,re,ce=!1,ve=!1)=>{const{type:ke,props:Ne,ref:Ie,children:$e,dynamicChildren:pe,shapeFlag:Ee,patchFlag:me,dirs:Me,cacheIndex:We}=K;if(me===-2&&(ve=!1),Ie!=null&&(ns(),si(Ie,null,re,K,!0),as()),We!=null&&(Z.renderCache[We]=void 0),Ee&256){Z.ctx.deactivate(K);return}const Ze=Ee&1&&Me,Pe=!Qr(K);let Ae;if(Pe&&(Ae=Ne&&Ne.onVnodeBeforeUnmount)&&mo(Ae,Z,K),Ee&6)Q(K.component,re,ce);else{if(Ee&128){K.suspense.unmount(re,ce);return}Ze&&Us(K,null,Z,"beforeUnmount"),Ee&64?K.type.remove(K,Z,re,ae,ce):pe&&!pe.hasOnce&&(ke!==Fe||me>0&&me&64)?he(pe,Z,re,!1,!0):(ke===Fe&&me&384||!ve&&Ee&16)&&he($e,Z,re),ce&&j(K)}(Pe&&(Ae=Ne&&Ne.onVnodeUnmounted)||Ze)&&qn(()=>{Ae&&mo(Ae,Z,K),Ze&&Us(K,null,Z,"unmounted")},re)},j=K=>{const{type:Z,el:re,anchor:ce,transition:ve}=K;if(Z===Fe){X(re,ce);return}if(Z===rc){S(K);return}const ke=()=>{o(re),ve&&!ve.persisted&&ve.afterLeave&&ve.afterLeave()};if(K.shapeFlag&1&&ve&&!ve.persisted){const{leave:Ne,delayLeave:Ie}=ve,$e=()=>Ne(re,ke);Ie?Ie(K.el,ke,$e):$e()}else ke()},X=(K,Z)=>{let re;for(;K!==Z;)re=v(K),o(K),K=re;o(Z)},Q=(K,Z,re)=>{const{bum:ce,scope:ve,job:ke,subTree:Ne,um:Ie,m:$e,a:pe}=K;Pg($e),Pg(pe),ce&&ac(ce),ve.stop(),ke&&(ke.flags|=8,q(Ne,K,Z,re)),Ie&&qn(Ie,Z),qn(()=>{K.isUnmounted=!0},Z)},he=(K,Z,re,ce=!1,ve=!1,ke=0)=>{for(let Ne=ke;Ne{if(K.shapeFlag&6)return ue(K.component.subTree);if(K.shapeFlag&128)return K.suspense.next();const Z=v(K.anchor||K.el),re=Z&&Z[a1];return re?v(re):Z};let ge=!1;const ie=(K,Z,re)=>{let ce;K==null?Z._vnode&&(q(Z._vnode,null,null,!0),ce=Z._vnode.component):h(Z._vnode||null,K,Z,null,null,null,re),Z._vnode=K,ge||(ge=!0,gg(ce),Qw(),ge=!1)},ae={p:h,um:q,m:F,r:j,mt:H,mc:O,pc:I,pbc:R,n:ue,o:e};return{render:ie,hydrate:void 0,createApp:QT(ie)}}function If({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 qs({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function v$(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function fv(e,t,n=!1){const a=e.children,o=t.children;if(ye(a)&&ye(o))for(let s=0;s>1,e[n[l]]0&&(t[a]=n[s-1]),n[s]=a)}}for(s=n.length,r=n[s-1];s-- >0;)n[s]=r,r=t[r];return n}function R1(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:R1(t)}function Pg(e){if(e)for(let t=0;te.__isSuspense;function g$(e,t){t&&t.pendingBranch?ye(e)?t.effects.push(...e):t.effects.push(e):IT(e)}const Fe=Symbol.for("v-fgt"),Ol=Symbol.for("v-txt"),gn=Symbol.for("v-cmt"),rc=Symbol.for("v-stc"),li=[];let xa=null;function x(e=!1){li.push(xa=e?null:[])}function b$(){li.pop(),xa=li[li.length-1]||null}let Si=1;function Kc(e,t=!1){Si+=e,e<0&&xa&&t&&(xa.hasOnce=!0)}function P1(e){return e.dynamicChildren=Si>0?xa||Xr:null,b$(),Si>0&&xa&&xa.push(e),e}function B(e,t,n,a,o,s){return P1(z(e,t,n,a,o,s,!0))}function oe(e,t,n,a,o){return P1(Y(e,t,n,a,o,!0))}function Ut(e){return e?e.__v_isVNode===!0:!1}function Qs(e,t){return e.type===t.type&&e.key===t.key}const M1=({key:e})=>e??null,lc=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Le(e)||Jt(e)||Ve(e)?{i:Kn,r:e,k:t,f:!!n}:e:null);function z(e,t=null,n=null,a=0,o=null,s=e===Fe?0:1,r=!1,l=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&M1(t),ref:t&&lc(t),scopeId:t1,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:s,patchFlag:a,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Kn};return l?(pv(u,n),s&128&&e.normalize(u)):n&&(u.shapeFlag|=Le(n)?8:16),Si>0&&!r&&xa&&(u.patchFlag>0||s&6)&&u.patchFlag!==32&&xa.push(u),u}const Y=y$;function y$(e,t=null,n=null,a=0,o=null,s=!1){if((!e||e===p1)&&(e=gn),Ut(e)){const l=Io(e,t,!0);return n&&pv(l,n),Si>0&&!s&&xa&&(l.shapeFlag&6?xa[xa.indexOf(e)]=l:xa.push(l)),l.patchFlag=-2,l}if($$(e)&&(e=e.__vccOpts),t){t=Zo(t);let{class:l,style:u}=t;l&&!Le(l)&&(t.class=T(l)),ot(u)&&(Od(u)&&!ye(u)&&(u=Pn({},u)),t.style=Ke(u))}const r=Le(e)?1:I1(e)?128:o1(e)?64:ot(e)?4:Ve(e)?2:0;return z(e,t,n,a,o,r,s,!0)}function Zo(e){return e?Od(e)||k1(e)?Pn({},e):e:null}function Io(e,t,n=!1,a=!1){const{props:o,ref:s,patchFlag:r,children:l,transition:u}=e,c=t?dt(o||{},t):o,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&M1(c),ref:t&&t.ref?n&&s?ye(s)?s.concat(lc(t)):[s,lc(t)]:lc(t):s,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!==Fe?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:u,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Io(e.ssContent),ssFallback:e.ssFallback&&Io(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return u&&a&&yr(d,u.clone(d)),d}function wt(e=" ",t=0){return Y(Ol,null,e,t)}function ute(e,t){const n=Y(rc,null,e);return n.staticCount=t,n}function te(e="",t=!1){return t?(x(),oe(gn,null,e)):Y(gn,null,e)}function So(e){return e==null||typeof e=="boolean"?Y(gn):ye(e)?Y(Fe,null,e.slice()):Ut(e)?Wo(e):Y(Ol,null,String(e))}function Wo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Io(e)}function pv(e,t){let n=0;const{shapeFlag:a}=e;if(t==null)t=null;else if(ye(t))n=16;else if(typeof t=="object")if(a&65){const o=t.default;o&&(o._c&&(o._d=!1),pv(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!k1(t)?t._ctx=Kn:o===3&&Kn&&(Kn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Ve(t)?(t={default:t,_ctx:Kn},n=32):(t=String(t),a&64?(n=16,t=[wt(t)]):n=8);e.children=t,e.shapeFlag|=n}function dt(...e){const t={};for(let n=0;nJn||Kn;let Wc,Op;{const e=Td(),t=(n,a)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(a),s=>{o.length>1?o.forEach(r=>r(s)):o[0](s)}};Wc=t("__VUE_INSTANCE_SETTERS__",n=>Jn=n),Op=t("__VUE_SSR_SETTERS__",n=>Ci=n)}const Xi=e=>{const t=Jn;return Wc(e),e.scope.on(),()=>{e.scope.off(),Wc(t)}},Mg=()=>{Jn&&Jn.scope.off(),Wc(null)};function _1(e){return e.vnode.shapeFlag&4}let Ci=!1;function k$(e,t=!1,n=!1){t&&Op(t);const{props:a,children:o}=e.vnode,s=_1(e);l$(e,a,s,t),d$(e,o,n||t);const r=s?E$(e,t):void 0;return t&&Op(!1),r}function E$(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,UT);const{setup:a}=n;if(a){ns();const o=e.setupContext=a.length>1?L1(e):null,s=Xi(e),r=Yi(a,e,0,[e.props,o]),l=mr(r);if(as(),s(),(l||e.sp)&&!Qr(e)&&d1(e),l){if(r.then(Mg,Mg),t)return r.then(u=>{_g(e,u)}).catch(u=>{Rd(u,e,0)});e.asyncDep=r}else _g(e,r)}else A1(e)}function _g(e,t,n){Ve(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ot(t)&&(e.setupState=Gw(t)),A1(e)}function A1(e,t,n){const a=e.type;e.render||(e.render=a.render||Dt);{const o=Xi(e);ns();try{qT(e)}finally{as(),o()}}}const x$={get(e,t){return Xn(e,"get",""),e[t]}};function L1(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,x$),slots:e.slots,emit:e.emit,expose:t}}function _d(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Gw(xo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ri)return ri[n](e)},has(t,n){return n in t||n in ri}})):e.proxy}function T$(e,t=!0){return Ve(e)?e.displayName||e.name:e.name||t&&e.__name}function $$(e){return Ve(e)&&"__vccOpts"in e}const w=(e,t)=>TT(e,t,Ci);function Ye(e,t,n){try{Kc(-1);const a=arguments.length;return a===2?ot(t)&&!ye(t)?Ut(t)?Y(e,null,[t]):Y(e,t):Y(e,null,t):(a>3?n=Array.prototype.slice.call(arguments,2):a===3&&Ut(n)&&(n=[n]),Y(e,t,n))}finally{Kc(1)}}const O$="3.5.30",R$=Dt;let Rp;const Ag=typeof window<"u"&&window.trustedTypes;if(Ag)try{Rp=Ag.createPolicy("vue",{createHTML:e=>e})}catch{}const D1=Rp?e=>Rp.createHTML(e):e=>e,N$="http://www.w3.org/2000/svg",I$="http://www.w3.org/1998/Math/MathML",Ko=typeof document<"u"?document:null,Lg=Ko&&Ko.createElement("template"),P$={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,a)=>{const o=t==="svg"?Ko.createElementNS(N$,e):t==="mathml"?Ko.createElementNS(I$,e):n?Ko.createElement(e,{is:n}):Ko.createElement(e);return e==="select"&&a&&a.multiple!=null&&o.setAttribute("multiple",a.multiple),o},createText:e=>Ko.createTextNode(e),createComment:e=>Ko.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ko.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,a,o,s){const r=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Lg.innerHTML=D1(a==="svg"?`${e}`:a==="mathml"?`${e}`:e);const l=Lg.content;if(a==="svg"||a==="mathml"){const u=l.firstChild;for(;u.firstChild;)l.appendChild(u.firstChild);l.removeChild(u)}t.insertBefore(l,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ys="transition",zl="animation",ul=Symbol("_vtc"),B1={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},F1=Pn({},l1,B1),M$=e=>(e.displayName="Transition",e.props=F1,e),Vn=M$((e,{slots:t})=>Ye(BT,V1(e),t)),Ys=(e,t=[])=>{ye(e)?e.forEach(n=>n(...t)):e&&e(...t)},Dg=e=>e?ye(e)?e.some(t=>t.length>1):e.length>1:!1;function V1(e){const t={};for(const _ in e)_ in B1||(t[_]=e[_]);if(e.css===!1)return t;const{name:n="v",type:a,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:r=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:u=s,appearActiveClass:c=r,appearToClass:d=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:v=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,p=_$(o),h=p&&p[0],m=p&&p[1],{onBeforeEnter:b,onEnter:k,onEnterCancelled:y,onLeave:S,onLeaveCancelled:C,onBeforeAppear:E=b,onAppear:$=k,onAppearCancelled:O=y}=t,N=(_,V,H,U)=>{_._enterCancelled=U,Ss(_,V?d:l),Ss(_,V?c:r),H&&H()},R=(_,V)=>{_._isLeaving=!1,Ss(_,f),Ss(_,g),Ss(_,v),V&&V()},A=_=>(V,H)=>{const U=_?$:k,W=()=>N(V,_,H);Ys(U,[V,W]),Bg(()=>{Ss(V,_?u:s),go(V,_?d:l),Dg(U)||Fg(V,a,h,W)})};return Pn(t,{onBeforeEnter(_){Ys(b,[_]),go(_,s),go(_,r)},onBeforeAppear(_){Ys(E,[_]),go(_,u),go(_,c)},onEnter:A(!1),onAppear:A(!0),onLeave(_,V){_._isLeaving=!0;const H=()=>R(_,V);go(_,f),_._enterCancelled?(go(_,v),Np(_)):(Np(_),go(_,v)),Bg(()=>{_._isLeaving&&(Ss(_,f),go(_,g),Dg(S)||Fg(_,a,m,H))}),Ys(S,[_,H])},onEnterCancelled(_){N(_,!1,void 0,!0),Ys(y,[_])},onAppearCancelled(_){N(_,!0,void 0,!0),Ys(O,[_])},onLeaveCancelled(_){R(_),Ys(C,[_])}})}function _$(e){if(e==null)return null;if(ot(e))return[Pf(e.enter),Pf(e.leave)];{const t=Pf(e);return[t,t]}}function Pf(e){return qx(e)}function go(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[ul]||(e[ul]=new Set)).add(t)}function Ss(e,t){t.split(/\s+/).forEach(a=>a&&e.classList.remove(a));const n=e[ul];n&&(n.delete(t),n.size||(e[ul]=void 0))}function Bg(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let A$=0;function Fg(e,t,n,a){const o=e._endId=++A$,s=()=>{o===e._endId&&a()};if(n!=null)return setTimeout(s,n);const{type:r,timeout:l,propCount:u}=z1(e,t);if(!r)return a();const c=r+"end";let d=0;const f=()=>{e.removeEventListener(c,v),s()},v=g=>{g.target===e&&++d>=u&&f()};setTimeout(()=>{d(n[p]||"").split(", "),o=a(`${ys}Delay`),s=a(`${ys}Duration`),r=Vg(o,s),l=a(`${zl}Delay`),u=a(`${zl}Duration`),c=Vg(l,u);let d=null,f=0,v=0;t===ys?r>0&&(d=ys,f=r,v=s.length):t===zl?c>0&&(d=zl,f=c,v=u.length):(f=Math.max(r,c),d=f>0?r>c?ys:zl:null,v=d?d===ys?s.length:u.length:0);const g=d===ys&&/\b(?:transform|all)(?:,|$)/.test(a(`${ys}Property`).toString());return{type:d,timeout:f,propCount:v,hasTransform:g}}function Vg(e,t){for(;e.lengthzg(n)+zg(e[a])))}function zg(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Np(e){return(e?e.ownerDocument:document).body.offsetHeight}function L$(e,t,n){const a=e[ul];a&&(t=(t?[t,...a]:[...a]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const jc=Symbol("_vod"),H1=Symbol("_vsh"),Pt={name:"show",beforeMount(e,{value:t},{transition:n}){e[jc]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Hl(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:a}){!t!=!n&&(a?t?(a.beforeEnter(e),Hl(e,!0),a.enter(e)):a.leave(e,()=>{Hl(e,!1)}):Hl(e,t))},beforeUnmount(e,{value:t}){Hl(e,t)}};function Hl(e,t){e.style.display=t?e[jc]:"none",e[H1]=!t}const D$=Symbol(""),B$=/(?:^|;)\s*display\s*:/;function F$(e,t,n){const a=e.style,o=Le(n);let s=!1;if(n&&!o){if(t)if(Le(t))for(const r of t.split(";")){const l=r.slice(0,r.indexOf(":")).trim();n[l]==null&&ic(a,l,"")}else for(const r in t)n[r]==null&&ic(a,r,"");for(const r in n)r==="display"&&(s=!0),ic(a,r,n[r])}else if(o){if(t!==n){const r=a[D$];r&&(n+=";"+r),a.cssText=n,s=B$.test(n)}}else t&&e.removeAttribute("style");jc in e&&(e[jc]=s?a.display:"",e[H1]&&(a.display="none"))}const Hg=/\s*!important$/;function ic(e,t,n){if(ye(n))n.forEach(a=>ic(e,t,a));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const a=V$(e,t);Hg.test(n)?e.setProperty(cs(a),n.replace(Hg,""),"important"):e[a]=n}}const Kg=["Webkit","Moz","ms"],Mf={};function V$(e,t){const n=Mf[t];if(n)return n;let a=Fn(t);if(a!=="filter"&&a in e)return Mf[t]=a;a=qi(a);for(let o=0;o_f||(W$.then(()=>_f=0),_f=Date.now());function U$(e,t){const n=a=>{if(!a._vts)a._vts=Date.now();else if(a._vts<=n.attached)return;Qa(q$(a,n.value),t,5,[a])};return n.value=e,n.attached=j$(),n}function q$(e,t){if(ye(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(a=>o=>!o._stopped&&a&&a(o))}else return t}const Gg=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Y$=(e,t,n,a,o,s)=>{const r=o==="svg";t==="class"?L$(e,a,r):t==="style"?F$(e,n,a):Cd(t)?Uh(t)||H$(e,t,n,a,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):G$(e,t,a,r))?(Ug(e,t,a),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&jg(e,t,a,r,s,t!=="value")):e._isVueCE&&(X$(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Le(a)))?Ug(e,Fn(t),a,s,t):(t==="true-value"?e._trueValue=a:t==="false-value"&&(e._falseValue=a),jg(e,t,a,r))};function G$(e,t,n,a){if(a)return!!(t==="innerHTML"||t==="textContent"||t in e&&Gg(t)&&Ve(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 o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Gg(t)&&Le(n)?!1:t in e}function X$(e,t){const n=e._def.props;if(!n)return!1;const a=Fn(t);return Array.isArray(n)?n.some(o=>Fn(o)===a):Object.keys(n).some(o=>Fn(o)===a)}const K1=new WeakMap,W1=new WeakMap,Uc=Symbol("_moveCb"),Xg=Symbol("_enterCb"),J$=e=>(delete e.props.mode,e),Z$=J$({name:"TransitionGroup",props:Pn({},F1,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=ft(),a=r1();let o,s;return ro(()=>{if(!o.length)return;const r=e.moveClass||`${e.name||"v"}-move`;if(!nO(o[0].el,n.vnode.el,r)){o=[];return}o.forEach(Q$),o.forEach(eO);const l=o.filter(tO);Np(n.vnode.el),l.forEach(u=>{const c=u.el,d=c.style;go(c,r),d.transform=d.webkitTransform=d.transitionDuration="";const f=c[Uc]=v=>{v&&v.target!==c||(!v||v.propertyName.endsWith("transform"))&&(c.removeEventListener("transitionend",f),c[Uc]=null,Ss(c,r))};c.addEventListener("transitionend",f)}),o=[]}),()=>{const r=qt(e),l=V1(r);let u=r.tag||Fe;if(o=[],s)for(let c=0;c{l.split(/\s+/).forEach(u=>u&&a.classList.remove(u))}),n.split(/\s+/).forEach(l=>l&&a.classList.add(l)),a.style.display="none";const s=t.nodeType===1?t:t.parentNode;s.appendChild(a);const{hasTransform:r}=z1(a);return s.removeChild(a),r}const cl=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ye(t)?n=>ac(t,n):t};function aO(e){e.target.composing=!0}function Jg(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Qo=Symbol("_assign");function Zg(e,t,n){return t&&(e=e.trim()),n&&(e=Yh(e)),e}const hv={created(e,{modifiers:{lazy:t,trim:n,number:a}},o){e[Qo]=cl(o);const s=a||o.props&&o.props.type==="number";Ts(e,t?"change":"input",r=>{r.target.composing||e[Qo](Zg(e.value,n,s))}),(n||s)&&Ts(e,"change",()=>{e.value=Zg(e.value,n,s)}),t||(Ts(e,"compositionstart",aO),Ts(e,"compositionend",Jg),Ts(e,"change",Jg))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:a,trim:o,number:s}},r){if(e[Qo]=cl(r),e.composing)return;const l=(s||e.type==="number")&&!/^0\d/.test(e.value)?Yh(e.value):e.value,u=t??"";l!==u&&(document.activeElement===e&&e.type!=="range"&&(a&&t===n||o&&e.value.trim()===u)||(e.value=u))}},q1={deep:!0,created(e,t,n){e[Qo]=cl(n),Ts(e,"change",()=>{const a=e._modelValue,o=Y1(e),s=e.checked,r=e[Qo];if(ye(a)){const l=Ow(a,o),u=l!==-1;if(s&&!u)r(a.concat(o));else if(!s&&u){const c=[...a];c.splice(l,1),r(c)}}else if(kd(a)){const l=new Set(a);s?l.add(o):l.delete(o),r(l)}else r(G1(e,s))})},mounted:Qg,beforeUpdate(e,t,n){e[Qo]=cl(n),Qg(e,t,n)}};function Qg(e,{value:t,oldValue:n},a){e._modelValue=t;let o;if(ye(t))o=Ow(t,a.props.value)>-1;else if(kd(t))o=t.has(a.props.value);else{if(t===n)return;o=gr(t,G1(e,!0))}e.checked!==o&&(e.checked=o)}const vv={created(e,{value:t},n){e.checked=gr(t,n.props.value),e[Qo]=cl(n),Ts(e,"change",()=>{e[Qo](Y1(e))})},beforeUpdate(e,{value:t,oldValue:n},a){e[Qo]=cl(a),t!==n&&(e.checked=gr(t,a.props.value))}};function Y1(e){return"_value"in e?e._value:e.value}function G1(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const oO=["ctrl","shift","alt","meta"],sO={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)=>oO.some(n=>e[`${n}Key`]&&!t.includes(n))},Xe=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),a=t.join(".");return n[a]||(n[a]=((o,...s)=>{for(let r=0;r{const n=e._withKeys||(e._withKeys={}),a=t.join(".");return n[a]||(n[a]=(o=>{if(!("key"in o))return;const s=cs(o.key);if(t.some(r=>r===s||rO[r]===s))return e(o)}))},lO=Pn({patchProp:Y$},P$);let eb;function X1(){return eb||(eb=p$(lO))}const Ls=((...e)=>{X1().render(...e)}),iO=((...e)=>{const t=X1().createApp(...e),{mount:n}=t;return t.mount=a=>{const o=cO(a);if(!o)return;const s=t._component;!Ve(s)&&!s.render&&!s.template&&(s.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const r=n(o,!1,uO(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),r},t});function uO(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function cO(e){return Le(e)?document.querySelector(e):e}const we={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},dO=["year","years","month","months","date","dates","week","datetime","datetimerange","daterange","monthrange","yearrange"],Af=["sun","mon","tue","wed","thu","fri","sat"],at="update:modelValue",yt="change",Sn="input",tb=Symbol("INSTALLED_KEY"),lo=["","default","small","large"],nb=["left","center","right"],Ad=11,J1=2;var Z1=typeof global=="object"&&global&&global.Object===Object&&global,fO=typeof self=="object"&&self&&self.Object===Object&&self,io=Z1||fO||Function("return this")(),Fa=io.Symbol,Q1=Object.prototype,pO=Q1.hasOwnProperty,hO=Q1.toString,Kl=Fa?Fa.toStringTag:void 0;function vO(e){var t=pO.call(e,Kl),n=e[Kl];try{e[Kl]=void 0;var a=!0}catch{}var o=hO.call(e);return a&&(t?e[Kl]=n:delete e[Kl]),o}var mO=Object.prototype,gO=mO.toString;function bO(e){return gO.call(e)}var yO="[object Null]",wO="[object Undefined]",ab=Fa?Fa.toStringTag:void 0;function Or(e){return e==null?e===void 0?wO:yO:ab&&ab in Object(e)?vO(e):bO(e)}function Po(e){return e!=null&&typeof e=="object"}var SO="[object Symbol]";function Ld(e){return typeof e=="symbol"||Po(e)&&Or(e)==SO}function mv(e,t){for(var n=-1,a=e==null?0:e.length,o=Array(a);++n0){if(++t>=GO)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function QO(e){return function(){return e}}var qc=(function(){try{var e=Nr(Object,"defineProperty");return e({},"",{}),e}catch{}})(),eR=qc?function(e,t){return qc(e,"toString",{configurable:!0,enumerable:!1,value:QO(t),writable:!0})}:gv,nS=ZO(eR);function tR(e,t){for(var n=-1,a=e==null?0:e.length;++n-1}var rR=9007199254740991,lR=/^(?:0|[1-9]\d*)$/;function Dd(e,t){var n=typeof e;return t=t??rR,!!t&&(n=="number"||n!="symbol"&&lR.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=cR}function Nl(e){return e!=null&&Sv(e.length)&&!bv(e)}function dR(e,t,n){if(!da(n))return!1;var a=typeof t;return(a=="number"?Nl(n)&&Dd(t,n.length):a=="string"&&t in n)?Ji(n[t],e):!1}function fR(e){return sS(function(t,n){var a=-1,o=n.length,s=o>1?n[o-1]:void 0,r=o>2?n[2]:void 0;for(s=e.length>3&&typeof s=="function"?(o--,s):void 0,r&&dR(n[0],n[1],r)&&(s=o<3?void 0:s,o=1),t=Object(t);++a-1}function CN(e,t){var n=this.__data__,a=Bd(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this}function ps(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(l)?t>1?eu(l,t-1,n,a,o):Tv(o,l):a||(o[o.length]=l)}return o}function Yc(e){var t=e==null?0:e.length;return t?eu(e,1):[]}function dS(e){return nS(oS(e,void 0,Yc),e+"")}var $v=cS(Object.getPrototypeOf,Object),DN="[object Object]",BN=Function.prototype,FN=Object.prototype,fS=BN.toString,VN=FN.hasOwnProperty,zN=fS.call(Object);function Ov(e){if(!Po(e)||Or(e)!=DN)return!1;var t=$v(e);if(t===null)return!0;var n=VN.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&fS.call(n)==zN}function HN(e,t,n){var a=-1,o=e.length;t<0&&(t=-t>o?0:o+t),n=n>o?o:n,n<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var s=Array(o);++a=t?e:t)),e}function ar(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=ii(n),n=n===n?n:0),t!==void 0&&(t=ii(t),t=t===t?t:0),KN(ii(e),t,n)}function WN(){this.__data__=new ps,this.size=0}function jN(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function UN(e){return this.__data__.get(e)}function qN(e){return this.__data__.has(e)}var YN=200;function GN(e,t){var n=this.__data__;if(n instanceof ps){var a=n.__data__;if(!Ti||a.lengthl))return!1;var c=s.get(e),d=s.get(t);if(c&&d)return c==t&&d==e;var f=-1,v=!0,g=n&kP?new $i:void 0;for(s.set(e,t),s.set(t,e);++f=t||$<0||f&&O>=s}function b(){var E=Ff();if(m(E))return k(E);l=setTimeout(b,h(E))}function k(E){return l=void 0,v&&a?g(E):(a=o=void 0,r)}function y(){l!==void 0&&clearTimeout(l),c=0,a=u=o=l=void 0}function S(){return l===void 0?r:k(Ff())}function C(){var E=Ff(),$=m(E);if(a=arguments,o=this,u=E,$){if(l===void 0)return p(u);if(f)return clearTimeout(l),l=setTimeout(b,t),g(u)}return l===void 0&&(l=setTimeout(b,t)),r}return C.cancel=y,C.flush=S,C}function Ap(e,t,n){(n!==void 0&&!Ji(e[t],n)||n===void 0&&!(t in e))&&yv(e,t,n)}function IS(e){return Po(e)&&Nl(e)}function Lp(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function fM(e){return Rl(e,Qi(e))}function pM(e,t,n,a,o,s,r){var l=Lp(e,n),u=Lp(t,n),c=r.get(u);if(c){Ap(e,n,c);return}var d=s?s(l,u,n+"",e,t,r):void 0,f=d===void 0;if(f){var v=ca(u),g=!v&&Ei(u),p=!v&&!g&&Ev(u);d=u,v||g||p?ca(l)?d=l:IS(l)?d=tS(l):g?(f=!1,d=hS(u,!0)):p?(f=!1,d=yS(u,!0)):d=[]:Ov(u)||ki(u)?(d=l,ki(l)?d=fM(l):(!da(l)||bv(l))&&(d=wS(u))):f=!1}f&&(r.set(u,d),o(d,u,a,s,r),r.delete(u)),Ap(e,n,d)}function PS(e,t,n,a,o){e!==t&&NS(t,function(s,r){if(o||(o=new Ya),da(s))pM(e,t,r,n,PS,a,o);else{var l=a?a(Lp(e,r),s,r+"",e,t,o):void 0;l===void 0&&(l=s),Ap(e,r,l)}},Qi)}function hM(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function MS(e,t,n){var a=e==null?0:e.length;if(!a)return-1;var o=a-1;return aS(e,RS(t),o,!0)}function vM(e,t){var n=-1,a=Nl(e)?Array(e.length):[];return iM(e,function(o,s,r){a[++n]=t(o,s,r)}),a}function mM(e,t){var n=ca(e)?mv:vM;return n(e,RS(t))}function _S(e,t){return eu(mM(e,t),1)}var gM=1/0;function bM(e){var t=e==null?0:e.length;return t?eu(e,gM):[]}function fl(e){for(var t=-1,n=e==null?0:e.length,a={};++t1),s}),Rl(e,bS(e),n),a&&(n=ci(n,xM|TM|$M,EM));for(var o=t.length;o--;)kM(n,t[o]);return n});function LS(e,t,n,a){if(!da(e))return e;t=Il(t,e);for(var o=-1,s=t.length,r=s-1,l=e;l!=null&&++o=_M){var c=MM(e);if(c)return Iv(c);r=!1,o=ES,u=new $i}else u=l;e:for(;++ae===void 0,Ht=e=>typeof e=="boolean",He=e=>typeof e=="number",ia=e=>!e&&e!==0||ye(e)&&e.length===0||ot(e)&&!Object.keys(e).length,ha=e=>typeof Element>"u"?!1:e instanceof Element,va=e=>bn(e),LM=e=>Le(e)?!Number.isNaN(Number(e)):!1,nu=e=>e===window,Oi=e=>Object.keys(e),DS=e=>Object.entries(e),Ms=(e,t,n)=>({get value(){return wn(e,t,n)},set value(a){NM(e,t,a)}}),BS="__epPropKey",G=e=>e,DM=e=>ot(e)&&!!e[BS],uo=(e,t)=>{if(!ot(e)||DM(e))return e;const{values:n,required:a,default:o,type:s,validator:r}=e,l={type:s,required:!!a,validator:n||r?u=>{let c=!1,d=[];if(n&&(d=Array.from(n),Nt(e,"default")&&d.push(o),c||=d.includes(u)),r&&(c||=r(u)),!c&&d.length>0){const f=[...new Set(d)].map(v=>JSON.stringify(v)).join(", ");R$(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${f}], got value ${JSON.stringify(u)}.`)}return c}:void 0,[BS]:!0};return Nt(e,"default")&&(l.default=o),l},Ce=e=>fl(Object.entries(e).map(([t,n])=>[t,uo(n,t)])),au=Ce({to:{type:G([String,Object]),required:!0},disabled:Boolean}),BM=Ce({zIndex:{type:G([Number,String]),default:100},target:{type:String,default:""},offset:{type:Number,default:0},position:{type:String,values:["top","bottom"],default:"top"},teleported:Boolean,appendTo:{type:au.to.type,default:"body"}}),FM={scroll:({scrollTop:e,fixed:t})=>He(e)&&Ht(t),[yt]:e=>Ht(e)};var FS=class extends Error{constructor(e){super(e),this.name="ElementPlusError"}};function nn(e,t){throw new FS(`[${e}] ${t}`)}function pt(e,t){{const n=Le(e)?new FS(`[${e}] ${t}`):e;console.warn(n)}}const VM=["class","style"],zM=/^on[A-Z]/,Wd=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,a=w(()=>(n?.value||[]).concat(VM)),o=ft();return o?w(()=>fl(Object.entries(o.proxy?.$attrs).filter(([s])=>!a.value.includes(s)&&!(t&&zM.test(s))))):(pt("use-attrs","getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function"),w(()=>({})))};function VS(e,t){var n;const a=Xt();return wa(()=>{a.value=e()},{...t,flush:(n=void 0)!=null?n:"sync"}),br(a)}function Ir(e){return Pw()?(Mw(e),!0):!1}function Wn(e){return typeof e=="function"?e():i(e)}function HM(e){if(!Jt(e))return At(e);const t=new Proxy({},{get(n,a,o){return i(Reflect.get(e.value,a,o))},set(n,a,o){return Jt(e.value[a])&&!Jt(o)?e.value[a].value=o:e.value[a]=o,!0},deleteProperty(n,a){return Reflect.deleteProperty(e.value,a)},has(n,a){return Reflect.has(e.value,a)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return At(t)}function KM(e){return HM(w(e))}const Mt=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const WM=e=>typeof e<"u",zS=e=>e!=null,jM=Object.prototype.toString,UM=e=>jM.call(e)==="[object Object]",HS=(e,t,n)=>Math.min(n,Math.max(t,e)),Ga=()=>{},Xc=qM();function qM(){var e,t;return Mt&&((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 KS(e,t){function n(...a){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,a),{fn:t,thisArg:this,args:a})).then(o).catch(s)})}return n}function YM(e,t={}){let n,a,o=Ga;const s=l=>{clearTimeout(l),o(),o=Ga};return l=>{const u=Wn(e),c=Wn(t.maxWait);return n&&s(n),u<=0||c!==void 0&&c<=0?(a&&(s(a),a=null),Promise.resolve(l())):new Promise((d,f)=>{o=t.rejectOnCancel?f:d,c&&!a&&(a=setTimeout(()=>{n&&s(n),a=null,d(l())},c)),n=setTimeout(()=>{a&&s(a),a=null,d(l())},u)})}}function GM(...e){let t=0,n,a=!0,o=Ga,s,r,l,u,c;!Jt(e[0])&&typeof e[0]=="object"?{delay:r,trailing:l=!0,leading:u=!0,rejectOnCancel:c=!1}=e[0]:[r,l=!0,u=!0,c=!1]=e;const d=()=>{n&&(clearTimeout(n),n=void 0,o(),o=Ga)};return v=>{const g=Wn(r),p=Date.now()-t,h=()=>s=v();return d(),g<=0?(t=Date.now(),h()):(p>g&&(u||!a)?(t=Date.now(),h()):l&&(s=new Promise((m,b)=>{o=c?b:m,n=setTimeout(()=>{t=Date.now(),a=!0,m(h()),d()},Math.max(0,g-p))})),!u&&!n&&(n=setTimeout(()=>a=!0,g)),a=!1,s)}}function XM(e){return ft()}function ou(e,t=200,n={}){return KS(YM(t,n),e)}function JM(e,t=200,n={}){const a=M(e.value),o=ou(()=>{a.value=e.value},t,n);return le(e,()=>o()),a}function WS(e,t=200,n=!1,a=!0,o=!1){return KS(GM(t,n,a,o),e)}function Pv(e,t=!0,n){XM()?ht(e,n):t?e():Re(e)}function pl(e,t,n={}){const{immediate:a=!0}=n,o=M(!1);let s=null;function r(){s&&(clearTimeout(s),s=null)}function l(){o.value=!1,r()}function u(...c){r(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...c)},Wn(t))}return a&&(o.value=!0,Mt&&u()),Ir(l),{isPending:br(o),start:u,stop:l}}const co=Mt?window:void 0,ZM=Mt?window.document:void 0;function xn(e){var t;const n=Wn(e);return(t=n?.$el)!=null?t:n}function Ft(...e){let t,n,a,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,a,o]=e,t=co):[t,n,a,o]=e,!t)return Ga;Array.isArray(n)||(n=[n]),Array.isArray(a)||(a=[a]);const s=[],r=()=>{s.forEach(d=>d()),s.length=0},l=(d,f,v,g)=>(d.addEventListener(f,v,g),()=>d.removeEventListener(f,v,g)),u=le(()=>[xn(t),Wn(o)],([d,f])=>{if(r(),!d)return;const v=UM(f)?{...f}:f;s.push(...n.flatMap(g=>a.map(p=>l(d,g,p,v))))},{immediate:!0,flush:"post"}),c=()=>{u(),r()};return Ir(c),c}let Pb=!1;function Mv(e,t,n={}){const{window:a=co,ignore:o=[],capture:s=!0,detectIframe:r=!1}=n;if(!a)return Ga;Xc&&!Pb&&(Pb=!0,Array.from(a.document.body.children).forEach(h=>h.addEventListener("click",Ga)),a.document.documentElement.addEventListener("click",Ga));let l=!0;const u=h=>Wn(o).some(m=>{if(typeof m=="string")return Array.from(a.document.querySelectorAll(m)).some(b=>b===h.target||h.composedPath().includes(b));{const b=xn(m);return b&&(h.target===b||h.composedPath().includes(b))}});function c(h){const m=Wn(h);return m&&m.$.subTree.shapeFlag===16}function d(h,m){const b=Wn(h),k=b.$.subTree&&b.$.subTree.children;return k==null||!Array.isArray(k)?!1:k.some(y=>y.el===m.target||m.composedPath().includes(y.el))}const f=h=>{const m=xn(e);if(h.target!=null&&!(!(m instanceof Element)&&c(e)&&d(e,h))&&!(!m||m===h.target||h.composedPath().includes(m))){if(h.detail===0&&(l=!u(h)),!l){l=!0;return}t(h)}};let v=!1;const g=[Ft(a,"click",h=>{v||(v=!0,setTimeout(()=>{v=!1},0),f(h))},{passive:!0,capture:s}),Ft(a,"pointerdown",h=>{const m=xn(e);l=!u(h)&&!!(m&&!h.composedPath().includes(m))},{passive:!0}),r&&Ft(a,"blur",h=>{setTimeout(()=>{var m;const b=xn(e);((m=a.document.activeElement)==null?void 0:m.tagName)==="IFRAME"&&!b?.contains(a.document.activeElement)&&t(h)},0)})].filter(Boolean);return()=>g.forEach(h=>h())}function QM(){const e=M(!1),t=ft();return t&&ht(()=>{e.value=!0},t),e}function jd(e){const t=QM();return w(()=>(t.value,!!e()))}function su(e,t,n={}){const{window:a=co,...o}=n;let s;const r=jd(()=>a&&"MutationObserver"in a),l=()=>{s&&(s.disconnect(),s=void 0)},u=w(()=>{const v=Wn(e),g=(Array.isArray(v)?v:[v]).map(xn).filter(zS);return new Set(g)}),c=le(()=>u.value,v=>{l(),r.value&&v.size&&(s=new MutationObserver(t),v.forEach(g=>s.observe(g,o)))},{immediate:!0,flush:"post"}),d=()=>s?.takeRecords(),f=()=>{c(),l()};return Ir(f),{isSupported:r,stop:f,takeRecords:d}}function e_(e={}){var t;const{window:n=co,deep:a=!0,triggerOnRemoval:o=!1}=e,s=(t=e.document)!=null?t:n?.document,r=()=>{var c;let d=s?.activeElement;if(a)for(;d?.shadowRoot;)d=(c=d?.shadowRoot)==null?void 0:c.activeElement;return d},l=M(),u=()=>{l.value=r()};return n&&(Ft(n,"blur",c=>{c.relatedTarget===null&&u()},!0),Ft(n,"focus",u,!0)),o&&su(s,c=>{c.filter(d=>d.removedNodes.length).map(d=>Array.from(d.removedNodes)).flat().forEach(d=>{d===l.value&&u()})},{childList:!0,subtree:!0}),u(),l}function t_(e,t={}){const{window:n=co}=t,a=jd(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=M(!1),r=c=>{s.value=c.matches},l=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",r):o.removeListener(r))},u=wa(()=>{a.value&&(l(),o=n.matchMedia(Wn(e)),"addEventListener"in o?o.addEventListener("change",r):o.addListener(r),s.value=o.matches)});return Ir(()=>{u(),l(),o=void 0}),s}function n_(e){return JSON.parse(JSON.stringify(e))}function a_(e,t,n={}){const{window:a=co,initialValue:o,observe:s=!1}=n,r=M(o),l=w(()=>{var c;return xn(t)||((c=a?.document)==null?void 0:c.documentElement)});function u(){var c;const d=Wn(e),f=Wn(l);if(f&&a&&d){const v=(c=a.getComputedStyle(f).getPropertyValue(d))==null?void 0:c.trim();r.value=v||o}}return s&&su(l,u,{attributeFilter:["style","class"],window:a}),le([l,()=>Wn(e)],(c,d)=>{d[0]&&d[1]&&d[0].style.removeProperty(d[1]),u()},{immediate:!0}),le(r,c=>{var d;const f=Wn(e);(d=l.value)!=null&&d.style&&f&&(c==null?l.value.style.removeProperty(f):l.value.style.setProperty(f,c))}),r}function o_(e={}){const{document:t=ZM}=e;if(!t)return M("visible");const n=M(t.visibilityState);return Ft(t,"visibilitychange",()=>{n.value=t.visibilityState}),n}function en(e,t,n={}){const{window:a=co,...o}=n;let s;const r=jd(()=>a&&"ResizeObserver"in a),l=()=>{s&&(s.disconnect(),s=void 0)},u=w(()=>{const f=Wn(e);return Array.isArray(f)?f.map(v=>xn(v)):[xn(f)]}),c=le(u,f=>{if(l(),r.value&&a){s=new ResizeObserver(t);for(const v of f)v&&s.observe(v,o)}},{immediate:!0,flush:"post"}),d=()=>{l(),c()};return Ir(d),{isSupported:r,stop:d}}function Mb(e,t={}){const{reset:n=!0,windowResize:a=!0,windowScroll:o=!0,immediate:s=!0,updateTiming:r="sync"}=t,l=M(0),u=M(0),c=M(0),d=M(0),f=M(0),v=M(0),g=M(0),p=M(0);function h(){const b=xn(e);if(!b){n&&(l.value=0,u.value=0,c.value=0,d.value=0,f.value=0,v.value=0,g.value=0,p.value=0);return}const k=b.getBoundingClientRect();l.value=k.height,u.value=k.bottom,c.value=k.left,d.value=k.right,f.value=k.top,v.value=k.width,g.value=k.x,p.value=k.y}function m(){r==="sync"?h():r==="next-frame"&&requestAnimationFrame(()=>h())}return en(e,m),le(()=>xn(e),b=>!b&&m()),su(e,m,{attributeFilter:["style","class"]}),o&&Ft("scroll",m,{capture:!0,passive:!0}),a&&Ft("resize",m,{passive:!0}),Pv(()=>{s&&m()}),{height:l,bottom:u,left:c,right:d,top:f,width:v,x:g,y:p,update:m}}function Dp(e,t={width:0,height:0},n={}){const{window:a=co,box:o="content-box"}=n,s=w(()=>{var f,v;return(v=(f=xn(e))==null?void 0:f.namespaceURI)==null?void 0:v.includes("svg")}),r=M(t.width),l=M(t.height),{stop:u}=en(e,([f])=>{const v=o==="border-box"?f.borderBoxSize:o==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(a&&s.value){const g=xn(e);if(g){const p=g.getBoundingClientRect();r.value=p.width,l.value=p.height}}else if(v){const g=Array.isArray(v)?v:[v];r.value=g.reduce((p,{inlineSize:h})=>p+h,0),l.value=g.reduce((p,{blockSize:h})=>p+h,0)}else r.value=f.contentRect.width,l.value=f.contentRect.height},n);Pv(()=>{const f=xn(e);f&&(r.value="offsetWidth"in f?f.offsetWidth:t.width,l.value="offsetHeight"in f?f.offsetHeight:t.height)});const c=le(()=>xn(e),f=>{r.value=f?t.width:0,l.value=f?t.height:0});function d(){u(),c()}return{width:r,height:l,stop:d}}function s_(e,t,n={}){const{root:a,rootMargin:o="0px",threshold:s=0,window:r=co,immediate:l=!0}=n,u=jd(()=>r&&"IntersectionObserver"in r),c=w(()=>{const p=Wn(e);return(Array.isArray(p)?p:[p]).map(xn).filter(zS)});let d=Ga;const f=M(l),v=u.value?le(()=>[c.value,xn(a),f.value],([p,h])=>{if(d(),!f.value||!p.length)return;const m=new IntersectionObserver(t,{root:xn(h),rootMargin:o,threshold:s});p.forEach(b=>b&&m.observe(b)),d=()=>{m.disconnect(),d=Ga}},{immediate:l,flush:"post"}):Ga,g=()=>{d(),v(),f.value=!1};return Ir(g),{isSupported:u,isActive:f,pause(){d(),f.value=!1},resume(){f.value=!0},stop:g}}function jS(e,t,n,a={}){var o,s,r;const{clone:l=!1,passive:u=!1,eventName:c,deep:d=!1,defaultValue:f,shouldEmit:v}=a,g=ft(),p=n||g?.emit||((o=g?.$emit)==null?void 0:o.bind(g))||((r=(s=g?.proxy)==null?void 0:s.$emit)==null?void 0:r.bind(g?.proxy));let h=c;t||(t="modelValue"),h=h||`update:${t.toString()}`;const m=y=>l?typeof l=="function"?l(y):n_(y):y,b=()=>WM(e[t])?m(e[t]):f,k=y=>{v?v(y)&&p(h,y):p(h,y)};if(u){const y=b(),S=M(y);let C=!1;return le(()=>e[t],E=>{C||(C=!0,S.value=m(E),Re(()=>C=!1))}),le(S,E=>{!C&&(E!==e[t]||d)&&k(E)},{deep:d}),S}else return w({get(){return b()},set(y){k(y)}})}function r_(e={}){const{window:t=co}=e;if(!t)return M(!1);const n=M(t.document.hasFocus());return Ft(t,"blur",()=>{n.value=!1}),Ft(t,"focus",()=>{n.value=!0}),n}function _v(e={}){const{window:t=co,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:a=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0,type:r="inner"}=e,l=M(n),u=M(a),c=()=>{t&&(r==="outer"?(l.value=t.outerWidth,u.value=t.outerHeight):s?(l.value=t.innerWidth,u.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,u.value=t.document.documentElement.clientHeight))};if(c(),Pv(c),Ft("resize",c,{passive:!0}),o){const d=t_("(orientation: portrait)");le(d,()=>c())}return{width:l,height:u}}function Av(){const e=Xt(),t=M(0),n=w(()=>({minWidth:`${Math.max(t.value,Ad)}px`}));return en(e,()=>{t.value=e.value?.getBoundingClientRect().width??0}),{calculatorRef:e,calculatorWidth:t,inputStyle:n}}const To=({from:e,replacement:t,scope:n,version:a,ref:o,type:s="API"},r)=>{le(()=>i(r),l=>{l&&pt(n,`[${s}] ${e} is about to be deprecated in version ${a}, please use ${t} instead. +For more detail, please visit: ${o} +`)},{immediate:!0})},l_='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',US=e=>typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot,_b=e=>typeof Element>"u"?!1:e instanceof Element,i_=e=>getComputedStyle(e).position==="fixed"?!1:e.offsetParent!==null,Ab=e=>Array.from(e.querySelectorAll(l_)).filter(t=>Ri(t)&&i_(t)),Ri=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||e.getAttribute("aria-disabled")==="true")return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},uc=function(e,t,...n){let a;t.includes("mouse")||t.includes("click")?a="MouseEvents":t.includes("key")?a="KeyboardEvent":a="HTMLEvents";const o=document.createEvent(a);return o.initEvent(t,...n),e.dispatchEvent(o),e},qS=e=>!e.getAttribute("aria-owns"),YS=(e,t,n)=>{const{parentNode:a}=e;if(!a)return null;const o=a.querySelectorAll(n);return o[Array.prototype.indexOf.call(o,e)+t]||null},ru=(e,t)=>{if(!e||!e.focus)return;let n=!1;_b(e)&&!Ri(e)&&!e.getAttribute("tabindex")&&(e.setAttribute("tabindex","-1"),n=!0),e.focus(t),_b(e)&&n&&e.removeAttribute("tabindex")},cc=e=>{e&&(ru(e),!qS(e)&&e.click())},Ud=()=>Mt&&/firefox/i.test(window.navigator.userAgent),GS=()=>Mt&&/android/i.test(window.navigator.userAgent),Lv=(e="")=>e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),$s=e=>qi(e),u_="utils/dom/style",XS=(e="")=>e.split(" ").filter(t=>!!t.trim()),$o=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},La=(e,t)=>{!e||!t.trim()||e.classList.add(...XS(t))},ta=(e,t)=>{!e||!t.trim()||e.classList.remove(...XS(t))},Yo=(e,t)=>{if(!Mt||!e||!t||US(e))return"";let n=Fn(t);n==="float"&&(n="cssFloat");try{const a=e.style[n];if(a)return a;const o=document.defaultView?.getComputedStyle(e,"");return o?o[n]:""}catch{return e.style[n]}},JS=(e,t,n)=>{if(!(!e||!t))if(ot(t))DS(t).forEach(([a,o])=>JS(e,a,o));else{const a=Fn(t);e.style[a]=n}};function ln(e,t="px"){if(!e&&e!==0)return"";if(He(e)||LM(e))return`${e}${t}`;if(Le(e))return e;pt(u_,"binding value must be a string or number")}const ZS=(e,t,n,a)=>{const o={offsetX:0,offsetY:0},s=M(!1),r=(v,g)=>{if(e.value){const{offsetX:p,offsetY:h}=o,m=e.value.getBoundingClientRect(),b=m.left,k=m.top,y=m.width,S=m.height,C=document.documentElement.clientWidth,E=document.documentElement.clientHeight,$=-b+p,O=-k+h,N=C-b-y+p,R=E-k-(S{const g=v.clientX,p=v.clientY,{offsetX:h,offsetY:m}=o,b=y=>{s.value||(s.value=!0),r(h+y.clientX-g,m+y.clientY-p)},k=()=>{s.value=!1,document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",k)};document.addEventListener("mousemove",b),document.addEventListener("mouseup",k)},u=()=>{t.value&&e.value&&(t.value.addEventListener("mousedown",l),window.addEventListener("resize",f))},c=()=>{t.value&&e.value&&(t.value.removeEventListener("mousedown",l),window.removeEventListener("resize",f))},d=()=>{o.offsetX=0,o.offsetY=0,e.value&&(e.value.style.transform="")},f=()=>{const{offsetX:v,offsetY:g}=o;r(v,g)};return ht(()=>{wa(()=>{n.value?u():c()})}),Bt(()=>{c()}),{isDragging:s,resetPosition:d,updatePosition:f}};var c_={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value",alphaDescription:"alpha {alpha}, current color is {color}",hueLabel:"pick hue value",hueDescription:"hue {hue}, current color is {color}",svLabel:"pick saturation and brightness value",svDescription:"saturation {saturation}, brightness {brightness}, current color is {color}",predefineDescription:"select {value} as the color"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum",selectAllLabel:"Select all rows",selectRowLabel:"Select this row",expandRowLabel:"Expand this row",collapseRowLabel:"Collapse this row",sortLabel:"Sort by {column}",filterLabel:"Filter by {column}"},tag:{close:"Close this tag"},tour:{next:"Next",previous:"Previous",finish:"Finish",close:"Close this dialog"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const d_=e=>(t,n)=>f_(t,n,i(e)),f_=(e,t,n)=>wn(n,e,e).replace(/\{(\w+)\}/g,(a,o)=>`${t?.[o]??`{${o}}`}`),p_=e=>({lang:w(()=>i(e).name),locale:Jt(e)?e:M(e),t:d_(e)}),QS=Symbol("localeContextKey"),Ct=e=>{const t=e||_e(QS,M());return p_(w(()=>t.value||c_))},di="el",h_="is-",Gs=(e,t,n,a,o)=>{let s=`${e}-${t}`;return n&&(s+=`-${n}`),a&&(s+=`__${a}`),o&&(s+=`--${o}`),s},eC=Symbol("namespaceContextKey"),Dv=e=>{const t=e||(ft()?_e(eC,M(di)):M(di));return w(()=>i(t)||di)},fe=(e,t)=>{const n=Dv(t);return{namespace:n,b:(h="")=>Gs(n.value,e,h,"",""),e:h=>h?Gs(n.value,e,"",h,""):"",m:h=>h?Gs(n.value,e,"","",h):"",be:(h,m)=>h&&m?Gs(n.value,e,h,m,""):"",em:(h,m)=>h&&m?Gs(n.value,e,"",h,m):"",bm:(h,m)=>h&&m?Gs(n.value,e,h,"",m):"",bem:(h,m,b)=>h&&m&&b?Gs(n.value,e,h,m,b):"",is:(h,...m)=>{const b=m.length>=1?m[0]:!0;return h&&b?`${h_}${h}`:""},cssVar:h=>{const m={};for(const b in h)h[b]&&(m[`--${n.value}-${b}`]=h[b]);return m},cssVarName:h=>`--${n.value}-${h}`,cssVarBlock:h=>{const m={};for(const b in h)h[b]&&(m[`--${n.value}-${e}-${b}`]=h[b]);return m},cssVarBlockName:h=>`--${n.value}-${e}-${h}`}};function v_(e,t,n,a){const o=n-t;return e/=a/2,e<1?o/2*e*e*e+t:o/2*((e-=2)*e*e+2)+t}const eo=e=>Mt?window.requestAnimationFrame(e):setTimeout(e,16),rs=e=>Mt?window.cancelAnimationFrame(e):clearTimeout(e),m_=(e,t)=>{if(!Mt)return!1;const n={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],a=Yo(e,n);return["scroll","auto","overlay"].some(o=>a.includes(o))},Bv=(e,t)=>{if(!Mt)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(m_(n,t))return n;US(n)?n=n.host:n=n.parentNode}return n};let Du;const tC=e=>{if(!Mt)return 0;if(Du!==void 0)return Du;const t=document.createElement("div");t.className=`${e}-scrollbar__wrap`,t.style.visibility="hidden",t.style.width="100px",t.style.position="absolute",t.style.top="-9999px",document.body.appendChild(t);const n=t.offsetWidth;t.style.overflow="scroll";const a=document.createElement("div");a.style.width="100%",t.appendChild(a);const o=a.offsetWidth;return t.parentNode?.removeChild(t),Du=n-o,Du};function Fv(e,t){if(!Mt)return;if(!t){e.scrollTop=0;return}const n=[];let a=t.offsetParent;for(;a!==null&&e!==a&&e.contains(a);)n.push(a),a=a.offsetParent;const o=t.offsetTop+n.reduce((u,c)=>u+c.offsetTop,0),s=o+t.offsetHeight,r=e.scrollTop,l=r+e.clientHeight;ol&&(e.scrollTop=s-e.clientHeight)}function g_(e,t,n,a,o){const s=Date.now();let r;const l=()=>{const u=Date.now()-s,c=v_(u>a?a:u,t,n,a);nu(e)?e.scrollTo(window.pageXOffset,c):e.scrollTop=c,u{r&&rs(r)}}const Lb=(e,t)=>nu(t)?e.ownerDocument.documentElement:t,Db=e=>nu(e)?window.scrollY:e.scrollTop,qd=(e,t={})=>{Jt(e)||nn("[useLockscreen]","You need to pass a ref param to this function");const n=t.ns||fe("popup"),a=w(()=>n.bm("parent","hidden"));let o=0,s=!1,r="0",l=!1;const u=()=>{l||(l=!0,setTimeout(()=>{typeof document>"u"||s&&document&&(document.body.style.width=r,ta(document.body,a.value))},200))};le(e,c=>{if(!c){u();return}l=!1,s=!$o(document.body,a.value),s&&(r=document.body.style.width,La(document.body,a.value)),o=tC(n.namespace.value);const d=document.documentElement.clientHeight0&&(d||f==="scroll")&&s&&(document.body.style.width=`calc(100% - ${o}px)`)}),Mw(()=>u())},Rn=(e,t,{checkForDefaultPrevented:n=!0}={})=>o=>{const s=e?.(o);if(n===!1||!s)return t?.(o)},Bb=e=>t=>t.pointerType==="mouse"?e(t):void 0,jt=e=>{if(e.code&&e.code!=="Unidentified")return e.code;const t=nC(e);return t?Object.values(we).includes(t)?t:t===" "?we.space:"":""},nC=e=>{let t=e.key&&e.key!=="Unidentified"?e.key:"";if(!t&&e.type==="keyup"&&GS()){const n=e.target;t=n.value.charAt(n.selectionStart-1)}return t},b_=uo({type:G(Boolean),default:null}),y_=uo({type:G(Function)}),w_=e=>{const t=`update:${e}`,n=`onUpdate:${e}`,a=[t],o={[e]:b_,[n]:y_};return{useModelToggle:({indicator:r,toggleReason:l,shouldHideWhenRouteChanges:u,shouldProceed:c,onShow:d,onHide:f})=>{const v=ft(),{emit:g}=v,p=v.props,h=w(()=>Ve(p[n])),m=w(()=>p[e]===null),b=$=>{r.value!==!0&&(r.value=!0,l&&(l.value=$),Ve(d)&&d($))},k=$=>{r.value!==!1&&(r.value=!1,l&&(l.value=$),Ve(f)&&f($))},y=$=>{if(p.disabled===!0||Ve(c)&&!c())return;const O=h.value&&Mt;O&&g(t,!0),(m.value||!O)&&b($)},S=$=>{if(p.disabled===!0||!Mt)return;const O=h.value&&Mt;O&&g(t,!1),(m.value||!O)&&k($)},C=$=>{Ht($)&&(p.disabled&&$?h.value&&g(t,!1):r.value!==$&&($?b():k()))},E=()=>{r.value?S():y()};return le(()=>p[e],C),u&&v.appContext.config.globalProperties.$route!==void 0&&le(()=>({...v.proxy.$route}),()=>{u.value&&r.value&&S()}),ht(()=>{C(p[e])}),{hide:S,show:y,toggle:E,hasUpdateHandler:h}},useModelToggleProps:o,useModelToggleEmits:a}},aC=e=>{const t=ft();return w(()=>t?.proxy?.$props?.[e])};var ma="top",Va="bottom",za="right",ga="left",Vv="auto",lu=[ma,Va,za,ga],hl="start",Ni="end",S_="clippingParents",oC="viewport",Wl="popper",C_="reference",Fb=lu.reduce(function(e,t){return e.concat([t+"-"+hl,t+"-"+Ni])},[]),Do=[].concat(lu,[Vv]).reduce(function(e,t){return e.concat([t,t+"-"+hl,t+"-"+Ni])},[]),k_="beforeRead",E_="read",x_="afterRead",T_="beforeMain",$_="main",O_="afterMain",R_="beforeWrite",N_="write",I_="afterWrite",P_=[k_,E_,x_,T_,$_,O_,R_,N_,I_];function _o(e){return e?(e.nodeName||"").toLowerCase():null}function Na(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Sr(e){var t=Na(e).Element;return e instanceof t||e instanceof Element}function Ba(e){var t=Na(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function zv(e){if(typeof ShadowRoot>"u")return!1;var t=Na(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function M_(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var a=t.styles[n]||{},o=t.attributes[n]||{},s=t.elements[n];!Ba(s)||!_o(s)||(Object.assign(s.style,a),Object.keys(o).forEach(function(r){var l=o[r];l===!1?s.removeAttribute(r):s.setAttribute(r,l===!0?"":l)}))})}function __(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(a){var o=t.elements[a],s=t.attributes[a]||{},r=Object.keys(t.styles.hasOwnProperty(a)?t.styles[a]:n[a]),l=r.reduce(function(u,c){return u[c]="",u},{});!Ba(o)||!_o(o)||(Object.assign(o.style,l),Object.keys(s).forEach(function(u){o.removeAttribute(u)}))})}}var sC={name:"applyStyles",enabled:!0,phase:"write",fn:M_,effect:__,requires:["computeStyles"]};function Oo(e){return e.split("-")[0]}var fr=Math.max,Jc=Math.min,vl=Math.round;function Bp(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function rC(){return!/^((?!chrome|android).)*safari/i.test(Bp())}function ml(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var a=e.getBoundingClientRect(),o=1,s=1;t&&Ba(e)&&(o=e.offsetWidth>0&&vl(a.width)/e.offsetWidth||1,s=e.offsetHeight>0&&vl(a.height)/e.offsetHeight||1);var r=Sr(e)?Na(e):window,l=r.visualViewport,u=!rC()&&n,c=(a.left+(u&&l?l.offsetLeft:0))/o,d=(a.top+(u&&l?l.offsetTop:0))/s,f=a.width/o,v=a.height/s;return{width:f,height:v,top:d,right:c+f,bottom:d+v,left:c,x:c,y:d}}function Hv(e){var t=ml(e),n=e.offsetWidth,a=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-a)<=1&&(a=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:a}}function lC(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&zv(n)){var a=t;do{if(a&&e.isSameNode(a))return!0;a=a.parentNode||a.host}while(a)}return!1}function ls(e){return Na(e).getComputedStyle(e)}function A_(e){return["table","td","th"].indexOf(_o(e))>=0}function Ks(e){return((Sr(e)?e.ownerDocument:e.document)||window.document).documentElement}function Yd(e){return _o(e)==="html"?e:e.assignedSlot||e.parentNode||(zv(e)?e.host:null)||Ks(e)}function Vb(e){return!Ba(e)||ls(e).position==="fixed"?null:e.offsetParent}function L_(e){var t=/firefox/i.test(Bp()),n=/Trident/i.test(Bp());if(n&&Ba(e)){var a=ls(e);if(a.position==="fixed")return null}var o=Yd(e);for(zv(o)&&(o=o.host);Ba(o)&&["html","body"].indexOf(_o(o))<0;){var s=ls(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}function iu(e){for(var t=Na(e),n=Vb(e);n&&A_(n)&&ls(n).position==="static";)n=Vb(n);return n&&(_o(n)==="html"||_o(n)==="body"&&ls(n).position==="static")?t:n||L_(e)||t}function Kv(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function fi(e,t,n){return fr(e,Jc(t,n))}function D_(e,t,n){var a=fi(e,t,n);return a>n?n:a}function iC(){return{top:0,right:0,bottom:0,left:0}}function uC(e){return Object.assign({},iC(),e)}function cC(e,t){return t.reduce(function(n,a){return n[a]=e,n},{})}var B_=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,uC(typeof e!="number"?e:cC(e,lu))};function F_(e){var t,n=e.state,a=e.name,o=e.options,s=n.elements.arrow,r=n.modifiersData.popperOffsets,l=Oo(n.placement),u=Kv(l),c=[ga,za].indexOf(l)>=0,d=c?"height":"width";if(!(!s||!r)){var f=B_(o.padding,n),v=Hv(s),g=u==="y"?ma:ga,p=u==="y"?Va:za,h=n.rects.reference[d]+n.rects.reference[u]-r[u]-n.rects.popper[d],m=r[u]-n.rects.reference[u],b=iu(s),k=b?u==="y"?b.clientHeight||0:b.clientWidth||0:0,y=h/2-m/2,S=f[g],C=k-v[d]-f[p],E=k/2-v[d]/2+y,$=fi(S,E,C),O=u;n.modifiersData[a]=(t={},t[O]=$,t.centerOffset=$-E,t)}}function V_(e){var t=e.state,n=e.options,a=n.element,o=a===void 0?"[data-popper-arrow]":a;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||lC(t.elements.popper,o)&&(t.elements.arrow=o))}var z_={name:"arrow",enabled:!0,phase:"main",fn:F_,effect:V_,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function gl(e){return e.split("-")[1]}var H_={top:"auto",right:"auto",bottom:"auto",left:"auto"};function K_(e,t){var n=e.x,a=e.y,o=t.devicePixelRatio||1;return{x:vl(n*o)/o||0,y:vl(a*o)/o||0}}function zb(e){var t,n=e.popper,a=e.popperRect,o=e.placement,s=e.variation,r=e.offsets,l=e.position,u=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,f=e.isFixed,v=r.x,g=v===void 0?0:v,p=r.y,h=p===void 0?0:p,m=typeof d=="function"?d({x:g,y:h}):{x:g,y:h};g=m.x,h=m.y;var b=r.hasOwnProperty("x"),k=r.hasOwnProperty("y"),y=ga,S=ma,C=window;if(c){var E=iu(n),$="clientHeight",O="clientWidth";if(E===Na(n)&&(E=Ks(n),ls(E).position!=="static"&&l==="absolute"&&($="scrollHeight",O="scrollWidth")),E=E,o===ma||(o===ga||o===za)&&s===Ni){S=Va;var N=f&&E===C&&C.visualViewport?C.visualViewport.height:E[$];h-=N-a.height,h*=u?1:-1}if(o===ga||(o===ma||o===Va)&&s===Ni){y=za;var R=f&&E===C&&C.visualViewport?C.visualViewport.width:E[O];g-=R-a.width,g*=u?1:-1}}var A=Object.assign({position:l},c&&H_),_=d===!0?K_({x:g,y:h},Na(n)):{x:g,y:h};if(g=_.x,h=_.y,u){var V;return Object.assign({},A,(V={},V[S]=k?"0":"",V[y]=b?"0":"",V.transform=(C.devicePixelRatio||1)<=1?"translate("+g+"px, "+h+"px)":"translate3d("+g+"px, "+h+"px, 0)",V))}return Object.assign({},A,(t={},t[S]=k?h+"px":"",t[y]=b?g+"px":"",t.transform="",t))}function W_(e){var t=e.state,n=e.options,a=n.gpuAcceleration,o=a===void 0?!0:a,s=n.adaptive,r=s===void 0?!0:s,l=n.roundOffsets,u=l===void 0?!0:l,c={placement:Oo(t.placement),variation:gl(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,zb(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:u})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,zb(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var dC={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:W_,data:{}},Bu={passive:!0};function j_(e){var t=e.state,n=e.instance,a=e.options,o=a.scroll,s=o===void 0?!0:o,r=a.resize,l=r===void 0?!0:r,u=Na(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&c.forEach(function(d){d.addEventListener("scroll",n.update,Bu)}),l&&u.addEventListener("resize",n.update,Bu),function(){s&&c.forEach(function(d){d.removeEventListener("scroll",n.update,Bu)}),l&&u.removeEventListener("resize",n.update,Bu)}}var fC={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:j_,data:{}},U_={left:"right",right:"left",bottom:"top",top:"bottom"};function dc(e){return e.replace(/left|right|bottom|top/g,function(t){return U_[t]})}var q_={start:"end",end:"start"};function Hb(e){return e.replace(/start|end/g,function(t){return q_[t]})}function Wv(e){var t=Na(e),n=t.pageXOffset,a=t.pageYOffset;return{scrollLeft:n,scrollTop:a}}function jv(e){return ml(Ks(e)).left+Wv(e).scrollLeft}function Y_(e,t){var n=Na(e),a=Ks(e),o=n.visualViewport,s=a.clientWidth,r=a.clientHeight,l=0,u=0;if(o){s=o.width,r=o.height;var c=rC();(c||!c&&t==="fixed")&&(l=o.offsetLeft,u=o.offsetTop)}return{width:s,height:r,x:l+jv(e),y:u}}function G_(e){var t,n=Ks(e),a=Wv(e),o=(t=e.ownerDocument)==null?void 0:t.body,s=fr(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),r=fr(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),l=-a.scrollLeft+jv(e),u=-a.scrollTop;return ls(o||n).direction==="rtl"&&(l+=fr(n.clientWidth,o?o.clientWidth:0)-s),{width:s,height:r,x:l,y:u}}function Uv(e){var t=ls(e),n=t.overflow,a=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+a)}function pC(e){return["html","body","#document"].indexOf(_o(e))>=0?e.ownerDocument.body:Ba(e)&&Uv(e)?e:pC(Yd(e))}function pi(e,t){var n;t===void 0&&(t=[]);var a=pC(e),o=a===((n=e.ownerDocument)==null?void 0:n.body),s=Na(a),r=o?[s].concat(s.visualViewport||[],Uv(a)?a:[]):a,l=t.concat(r);return o?l:l.concat(pi(Yd(r)))}function Fp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function X_(e,t){var n=ml(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Kb(e,t,n){return t===oC?Fp(Y_(e,n)):Sr(t)?X_(t,n):Fp(G_(Ks(e)))}function J_(e){var t=pi(Yd(e)),n=["absolute","fixed"].indexOf(ls(e).position)>=0,a=n&&Ba(e)?iu(e):e;return Sr(a)?t.filter(function(o){return Sr(o)&&lC(o,a)&&_o(o)!=="body"}):[]}function Z_(e,t,n,a){var o=t==="clippingParents"?J_(e):[].concat(t),s=[].concat(o,[n]),r=s[0],l=s.reduce(function(u,c){var d=Kb(e,c,a);return u.top=fr(d.top,u.top),u.right=Jc(d.right,u.right),u.bottom=Jc(d.bottom,u.bottom),u.left=fr(d.left,u.left),u},Kb(e,r,a));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function hC(e){var t=e.reference,n=e.element,a=e.placement,o=a?Oo(a):null,s=a?gl(a):null,r=t.x+t.width/2-n.width/2,l=t.y+t.height/2-n.height/2,u;switch(o){case ma:u={x:r,y:t.y-n.height};break;case Va:u={x:r,y:t.y+t.height};break;case za:u={x:t.x+t.width,y:l};break;case ga:u={x:t.x-n.width,y:l};break;default:u={x:t.x,y:t.y}}var c=o?Kv(o):null;if(c!=null){var d=c==="y"?"height":"width";switch(s){case hl:u[c]=u[c]-(t[d]/2-n[d]/2);break;case Ni:u[c]=u[c]+(t[d]/2-n[d]/2);break}}return u}function Ii(e,t){t===void 0&&(t={});var n=t,a=n.placement,o=a===void 0?e.placement:a,s=n.strategy,r=s===void 0?e.strategy:s,l=n.boundary,u=l===void 0?S_:l,c=n.rootBoundary,d=c===void 0?oC:c,f=n.elementContext,v=f===void 0?Wl:f,g=n.altBoundary,p=g===void 0?!1:g,h=n.padding,m=h===void 0?0:h,b=uC(typeof m!="number"?m:cC(m,lu)),k=v===Wl?C_:Wl,y=e.rects.popper,S=e.elements[p?k:v],C=Z_(Sr(S)?S:S.contextElement||Ks(e.elements.popper),u,d,r),E=ml(e.elements.reference),$=hC({reference:E,element:y,placement:o}),O=Fp(Object.assign({},y,$)),N=v===Wl?O:E,R={top:C.top-N.top+b.top,bottom:N.bottom-C.bottom+b.bottom,left:C.left-N.left+b.left,right:N.right-C.right+b.right},A=e.modifiersData.offset;if(v===Wl&&A){var _=A[o];Object.keys(R).forEach(function(V){var H=[za,Va].indexOf(V)>=0?1:-1,U=[ma,Va].indexOf(V)>=0?"y":"x";R[V]+=_[U]*H})}return R}function Q_(e,t){t===void 0&&(t={});var n=t,a=n.placement,o=n.boundary,s=n.rootBoundary,r=n.padding,l=n.flipVariations,u=n.allowedAutoPlacements,c=u===void 0?Do:u,d=gl(a),f=d?l?Fb:Fb.filter(function(p){return gl(p)===d}):lu,v=f.filter(function(p){return c.indexOf(p)>=0});v.length===0&&(v=f);var g=v.reduce(function(p,h){return p[h]=Ii(e,{placement:h,boundary:o,rootBoundary:s,padding:r})[Oo(h)],p},{});return Object.keys(g).sort(function(p,h){return g[p]-g[h]})}function eA(e){if(Oo(e)===Vv)return[];var t=dc(e);return[Hb(e),t,Hb(t)]}function tA(e){var t=e.state,n=e.options,a=e.name;if(!t.modifiersData[a]._skip){for(var o=n.mainAxis,s=o===void 0?!0:o,r=n.altAxis,l=r===void 0?!0:r,u=n.fallbackPlacements,c=n.padding,d=n.boundary,f=n.rootBoundary,v=n.altBoundary,g=n.flipVariations,p=g===void 0?!0:g,h=n.allowedAutoPlacements,m=t.options.placement,b=Oo(m),k=b===m,y=u||(k||!p?[dc(m)]:eA(m)),S=[m].concat(y).reduce(function(X,Q){return X.concat(Oo(Q)===Vv?Q_(t,{placement:Q,boundary:d,rootBoundary:f,padding:c,flipVariations:p,allowedAutoPlacements:h}):Q)},[]),C=t.rects.reference,E=t.rects.popper,$=new Map,O=!0,N=S[0],R=0;R=0,U=H?"width":"height",W=Ii(t,{placement:A,boundary:d,rootBoundary:f,altBoundary:v,padding:c}),P=H?V?za:ga:V?Va:ma;C[U]>E[U]&&(P=dc(P));var I=dc(P),L=[];if(s&&L.push(W[_]<=0),l&&L.push(W[P]<=0,W[I]<=0),L.every(function(X){return X})){N=A,O=!1;break}$.set(A,L)}if(O)for(var D=p?3:1,F=function(X){var Q=S.find(function(he){var ue=$.get(he);if(ue)return ue.slice(0,X).every(function(ge){return ge})});if(Q)return N=Q,"break"},q=D;q>0;q--){var j=F(q);if(j==="break")break}t.placement!==N&&(t.modifiersData[a]._skip=!0,t.placement=N,t.reset=!0)}}var nA={name:"flip",enabled:!0,phase:"main",fn:tA,requiresIfExists:["offset"],data:{_skip:!1}};function Wb(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function jb(e){return[ma,za,Va,ga].some(function(t){return e[t]>=0})}function aA(e){var t=e.state,n=e.name,a=t.rects.reference,o=t.rects.popper,s=t.modifiersData.preventOverflow,r=Ii(t,{elementContext:"reference"}),l=Ii(t,{altBoundary:!0}),u=Wb(r,a),c=Wb(l,o,s),d=jb(u),f=jb(c);t.modifiersData[n]={referenceClippingOffsets:u,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":f})}var oA={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:aA};function sA(e,t,n){var a=Oo(e),o=[ga,ma].indexOf(a)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,r=s[0],l=s[1];return r=r||0,l=(l||0)*o,[ga,za].indexOf(a)>=0?{x:l,y:r}:{x:r,y:l}}function rA(e){var t=e.state,n=e.options,a=e.name,o=n.offset,s=o===void 0?[0,0]:o,r=Do.reduce(function(d,f){return d[f]=sA(f,t.rects,s),d},{}),l=r[t.placement],u=l.x,c=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=u,t.modifiersData.popperOffsets.y+=c),t.modifiersData[a]=r}var lA={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:rA};function iA(e){var t=e.state,n=e.name;t.modifiersData[n]=hC({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}var vC={name:"popperOffsets",enabled:!0,phase:"read",fn:iA,data:{}};function uA(e){return e==="x"?"y":"x"}function cA(e){var t=e.state,n=e.options,a=e.name,o=n.mainAxis,s=o===void 0?!0:o,r=n.altAxis,l=r===void 0?!1:r,u=n.boundary,c=n.rootBoundary,d=n.altBoundary,f=n.padding,v=n.tether,g=v===void 0?!0:v,p=n.tetherOffset,h=p===void 0?0:p,m=Ii(t,{boundary:u,rootBoundary:c,padding:f,altBoundary:d}),b=Oo(t.placement),k=gl(t.placement),y=!k,S=Kv(b),C=uA(S),E=t.modifiersData.popperOffsets,$=t.rects.reference,O=t.rects.popper,N=typeof h=="function"?h(Object.assign({},t.rects,{placement:t.placement})):h,R=typeof N=="number"?{mainAxis:N,altAxis:N}:Object.assign({mainAxis:0,altAxis:0},N),A=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,_={x:0,y:0};if(E){if(s){var V,H=S==="y"?ma:ga,U=S==="y"?Va:za,W=S==="y"?"height":"width",P=E[S],I=P+m[H],L=P-m[U],D=g?-O[W]/2:0,F=k===hl?$[W]:O[W],q=k===hl?-O[W]:-$[W],j=t.elements.arrow,X=g&&j?Hv(j):{width:0,height:0},Q=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:iC(),he=Q[H],ue=Q[U],ge=fi(0,$[W],X[W]),ie=y?$[W]/2-D-ge-he-R.mainAxis:F-ge-he-R.mainAxis,ae=y?-$[W]/2+D+ge+ue+R.mainAxis:q+ge+ue+R.mainAxis,ne=t.elements.arrow&&iu(t.elements.arrow),K=ne?S==="y"?ne.clientTop||0:ne.clientLeft||0:0,Z=(V=A?.[S])!=null?V:0,re=P+ie-Z-K,ce=P+ae-Z,ve=fi(g?Jc(I,re):I,P,g?fr(L,ce):L);E[S]=ve,_[S]=ve-P}if(l){var ke,Ne=S==="x"?ma:ga,Ie=S==="x"?Va:za,$e=E[C],pe=C==="y"?"height":"width",Ee=$e+m[Ne],me=$e-m[Ie],Me=[ma,ga].indexOf(b)!==-1,We=(ke=A?.[C])!=null?ke:0,Ze=Me?Ee:$e-$[pe]-O[pe]-We+R.altAxis,Pe=Me?$e+$[pe]+O[pe]-We-R.altAxis:me,Ae=g&&Me?D_(Ze,$e,Pe):fi(g?Ze:Ee,$e,g?Pe:me);E[C]=Ae,_[C]=Ae-$e}t.modifiersData[a]=_}}var dA={name:"preventOverflow",enabled:!0,phase:"main",fn:cA,requiresIfExists:["offset"]};function fA(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function pA(e){return e===Na(e)||!Ba(e)?Wv(e):fA(e)}function hA(e){var t=e.getBoundingClientRect(),n=vl(t.width)/e.offsetWidth||1,a=vl(t.height)/e.offsetHeight||1;return n!==1||a!==1}function vA(e,t,n){n===void 0&&(n=!1);var a=Ba(t),o=Ba(t)&&hA(t),s=Ks(t),r=ml(e,o,n),l={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(a||!a&&!n)&&((_o(t)!=="body"||Uv(s))&&(l=pA(t)),Ba(t)?(u=ml(t,!0),u.x+=t.clientLeft,u.y+=t.clientTop):s&&(u.x=jv(s))),{x:r.left+l.scrollLeft-u.x,y:r.top+l.scrollTop-u.y,width:r.width,height:r.height}}function mA(e){var t=new Map,n=new Set,a=[];e.forEach(function(s){t.set(s.name,s)});function o(s){n.add(s.name);var r=[].concat(s.requires||[],s.requiresIfExists||[]);r.forEach(function(l){if(!n.has(l)){var u=t.get(l);u&&o(u)}}),a.push(s)}return e.forEach(function(s){n.has(s.name)||o(s)}),a}function gA(e){var t=mA(e);return P_.reduce(function(n,a){return n.concat(t.filter(function(o){return o.phase===a}))},[])}function bA(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function yA(e){var t=e.reduce(function(n,a){var o=n[a.name];return n[a.name]=o?Object.assign({},o,a,{options:Object.assign({},o.options,a.options),data:Object.assign({},o.data,a.data)}):a,n},{});return Object.keys(t).map(function(n){return t[n]})}var Ub={placement:"bottom",modifiers:[],strategy:"absolute"};function qb(){for(var e=arguments.length,t=new Array(e),n=0;n{const a={name:"updateState",enabled:!0,phase:"write",fn:({state:u})=>{const c=EA(u);Object.assign(r.value,c)},requires:["computeStyles"]},o=w(()=>{const{onFirstUpdate:u,placement:c,strategy:d,modifiers:f}=i(n);return{onFirstUpdate:u,placement:c||"bottom",strategy:d||"absolute",modifiers:[...f||[],a,{name:"applyStyles",enabled:!1}]}}),s=Xt(),r=M({styles:{popper:{position:i(o).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),l=()=>{s.value&&(s.value.destroy(),s.value=void 0)};return le(o,u=>{const c=i(s);c&&c.setOptions(u)},{deep:!0}),le([e,t],([u,c])=>{l(),!(!u||!c)&&(s.value=CA(u,c,i(o)))}),Bt(()=>{l()}),{state:w(()=>({...i(s)?.state||{}})),styles:w(()=>i(r).styles),attributes:w(()=>i(r).attributes),update:()=>i(s)?.update(),forceUpdate:()=>i(s)?.forceUpdate(),instanceRef:w(()=>i(s))}};function EA(e){const t=Object.keys(e.elements);return{styles:fl(t.map(n=>[n,e.styles[n]||{}])),attributes:fl(t.map(n=>[n,e.attributes[n]]))}}const Yv=e=>{if(!e)return{onClick:Dt,onMousedown:Dt,onMouseup:Dt};let t=!1,n=!1;return{onClick:r=>{t&&n&&e(r),t=n=!1},onMousedown:r=>{t=r.target===r.currentTarget},onMouseup:r=>{n=r.target===r.currentTarget}}},xA=(e,t=0)=>{if(t===0)return e;const n=M(ot(t)&&!!t.initVal);let a=null;const o=r=>{if(Tt(r)){n.value=e.value;return}a&&clearTimeout(a),a=setTimeout(()=>{n.value=e.value},r)},s=r=>{r==="leading"?He(t)?o(t):o(t.leading):ot(t)?o(t.trailing):n.value=!1};return ht(()=>s("leading")),le(()=>e.value,r=>{s(r?"leading":"trailing")}),n};function Yb(){let e;const t=(a,o)=>{n(),e=window.setTimeout(a,o)},n=()=>window.clearTimeout(e);return Ir(()=>n()),{registerTimeout:t,cancelTimeout:n}}const Vp={prefix:Math.floor(Math.random()*1e4),current:0},TA=Symbol("elIdInjection"),Gv=()=>ft()?_e(TA,Vp):Vp,zn=e=>{const t=Gv();!Mt&&t===Vp&&pt("IdInjection",`Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed +usage: app.provide(ID_INJECTION_KEY, { + prefix: number, + current: number, +})`);const n=Dv();return VS(()=>i(e)||`${n.value}-id-${t.prefix}-${t.current++}`)};let jr=[];const Gb=e=>{jt(e)===we.esc&&jr.forEach(t=>t(e))},$A=e=>{ht(()=>{jr.length===0&&document.addEventListener("keydown",Gb),Mt&&jr.push(e)}),Bt(()=>{jr=jr.filter(t=>t!==e),jr.length===0&&Mt&&document.removeEventListener("keydown",Gb)})},mC=()=>{const e=Dv(),t=Gv(),n=w(()=>`${e.value}-popper-container-${t.prefix}`);return{id:n,selector:w(()=>`#${n.value}`)}},OA=e=>{const t=document.createElement("div");return t.id=e,document.body.appendChild(t),t},RA=()=>{const{id:e,selector:t}=mC();return Pd(()=>{Mt&&(document.body.querySelector(t.value)||OA(e.value))}),{id:e,selector:t}},NA=Ce({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),IA=({showAfter:e,hideAfter:t,autoClose:n,open:a,close:o})=>{const{registerTimeout:s}=Yb(),{registerTimeout:r,cancelTimeout:l}=Yb();return{onOpen:(d,f=i(e))=>{s(()=>{a(d);const v=i(n);He(v)&&v>0&&r(()=>{o(d)},v)},f)},onClose:(d,f=i(t))=>{l(),s(()=>{o(d)},f)}}},gC=Symbol("elForwardRef"),PA=e=>{St(gC,{setForwardRef:(n=>{e.value=n})})},MA=e=>({mounted(t){e(t)},updated(t){e(t)},unmounted(){e(null)}}),Xb={current:0},Jb=M(0),bC=2e3,Zb=Symbol("elZIndexContextKey"),yC=Symbol("zIndexContextKey"),uu=e=>{const t=ft()?_e(Zb,Xb):Xb,n=e||(ft()?_e(yC,void 0):void 0),a=w(()=>{const r=i(n);return He(r)?r:bC}),o=w(()=>a.value+Jb.value),s=()=>(t.current++,Jb.value=t.current,o.value);return!Mt&&!_e(Zb)&&pt("ZIndexInjection",`Looks like you are using server rendering, you must provide a z-index provider to ensure the hydration process to be succeed +usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`),{initialZIndex:a,currentZIndex:o,nextZIndex:s}},bl=Math.min,pr=Math.max,Zc=Math.round,Fu=Math.floor,Ro=e=>({x:e,y:e}),_A={left:"right",right:"left",bottom:"top",top:"bottom"};function zp(e,t,n){return pr(e,bl(t,n))}function cu(e,t){return typeof e=="function"?e(t):e}function Cr(e){return e.split("-")[0]}function du(e){return e.split("-")[1]}function wC(e){return e==="x"?"y":"x"}function Xv(e){return e==="y"?"height":"width"}function Ns(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function Jv(e){return wC(Ns(e))}function AA(e,t,n){n===void 0&&(n=!1);const a=du(e),o=Jv(e),s=Xv(o);let r=o==="x"?a===(n?"end":"start")?"right":"left":a==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(r=Qc(r)),[r,Qc(r)]}function LA(e){const t=Qc(e);return[Hp(e),t,Hp(t)]}function Hp(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Qb=["left","right"],ey=["right","left"],DA=["top","bottom"],BA=["bottom","top"];function FA(e,t,n){switch(e){case"top":case"bottom":return n?t?ey:Qb:t?Qb:ey;case"left":case"right":return t?DA:BA;default:return[]}}function VA(e,t,n,a){const o=du(e);let s=FA(Cr(e),n==="start",a);return o&&(s=s.map(r=>r+"-"+o),t&&(s=s.concat(s.map(Hp)))),s}function Qc(e){const t=Cr(e);return _A[t]+e.slice(t.length)}function zA(e){return{top:0,right:0,bottom:0,left:0,...e}}function SC(e){return typeof e!="number"?zA(e):{top:e,right:e,bottom:e,left:e}}function ed(e){const{x:t,y:n,width:a,height:o}=e;return{width:a,height:o,top:n,left:t,right:t+a,bottom:n+o,x:t,y:n}}function ty(e,t,n){let{reference:a,floating:o}=e;const s=Ns(t),r=Jv(t),l=Xv(r),u=Cr(t),c=s==="y",d=a.x+a.width/2-o.width/2,f=a.y+a.height/2-o.height/2,v=a[l]/2-o[l]/2;let g;switch(u){case"top":g={x:d,y:a.y-o.height};break;case"bottom":g={x:d,y:a.y+a.height};break;case"right":g={x:a.x+a.width,y:f};break;case"left":g={x:a.x-o.width,y:f};break;default:g={x:a.x,y:a.y}}switch(du(t)){case"start":g[r]-=v*(n&&c?-1:1);break;case"end":g[r]+=v*(n&&c?-1:1);break}return g}async function CC(e,t){var n;t===void 0&&(t={});const{x:a,y:o,platform:s,rects:r,elements:l,strategy:u}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:v=!1,padding:g=0}=cu(t,e),p=SC(g),m=l[v?f==="floating"?"reference":"floating":f],b=ed(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(m)))==null||n?m:m.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:u})),k=f==="floating"?{x:a,y:o,width:r.floating.width,height:r.floating.height}:r.reference,y=await(s.getOffsetParent==null?void 0:s.getOffsetParent(l.floating)),S=await(s.isElement==null?void 0:s.isElement(y))?await(s.getScale==null?void 0:s.getScale(y))||{x:1,y:1}:{x:1,y:1},C=ed(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:k,offsetParent:y,strategy:u}):k);return{top:(b.top-C.top+p.top)/S.y,bottom:(C.bottom-b.bottom+p.bottom)/S.y,left:(b.left-C.left+p.left)/S.x,right:(C.right-b.right+p.right)/S.x}}const HA=50,KA=async(e,t,n)=>{const{placement:a="bottom",strategy:o="absolute",middleware:s=[],platform:r}=n,l=r.detectOverflow?r:{...r,detectOverflow:CC},u=await(r.isRTL==null?void 0:r.isRTL(t));let c=await r.getElementRects({reference:e,floating:t,strategy:o}),{x:d,y:f}=ty(c,a,u),v=a,g=0;const p={};for(let h=0;h({name:"arrow",options:e,async fn(t){const{x:n,y:a,placement:o,rects:s,platform:r,elements:l,middlewareData:u}=t,{element:c,padding:d=0}=cu(e,t)||{};if(c==null)return{};const f=SC(d),v={x:n,y:a},g=Jv(o),p=Xv(g),h=await r.getDimensions(c),m=g==="y",b=m?"top":"left",k=m?"bottom":"right",y=m?"clientHeight":"clientWidth",S=s.reference[p]+s.reference[g]-v[g]-s.floating[p],C=v[g]-s.reference[g],E=await(r.getOffsetParent==null?void 0:r.getOffsetParent(c));let $=E?E[y]:0;(!$||!await(r.isElement==null?void 0:r.isElement(E)))&&($=l.floating[y]||s.floating[p]);const O=S/2-C/2,N=$/2-h[p]/2-1,R=bl(f[b],N),A=bl(f[k],N),_=R,V=$-h[p]-A,H=$/2-h[p]/2+O,U=zp(_,H,V),W=!u.arrow&&du(o)!=null&&H!==U&&s.reference[p]/2-(H<_?R:A)-h[p]/2<0,P=W?H<_?H-_:H-V:0;return{[g]:v[g]+P,data:{[g]:U,centerOffset:H-U-P,...W&&{alignmentOffset:P}},reset:W}}}),jA=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,a;const{placement:o,middlewareData:s,rects:r,initialPlacement:l,platform:u,elements:c}=t,{mainAxis:d=!0,crossAxis:f=!0,fallbackPlacements:v,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:h=!0,...m}=cu(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const b=Cr(o),k=Ns(l),y=Cr(l)===l,S=await(u.isRTL==null?void 0:u.isRTL(c.floating)),C=v||(y||!h?[Qc(l)]:LA(l)),E=p!=="none";!v&&E&&C.push(...VA(l,h,p,S));const $=[l,...C],O=await u.detectOverflow(t,m),N=[];let R=((a=s.flip)==null?void 0:a.overflows)||[];if(d&&N.push(O[b]),f){const H=AA(o,r,S);N.push(O[H[0]],O[H[1]])}if(R=[...R,{placement:o,overflows:N}],!N.every(H=>H<=0)){var A,_;const H=(((A=s.flip)==null?void 0:A.index)||0)+1,U=$[H];if(U&&(!(f==="alignment"?k!==Ns(U):!1)||R.every(I=>Ns(I.placement)===k?I.overflows[0]>0:!0)))return{data:{index:H,overflows:R},reset:{placement:U}};let W=(_=R.filter(P=>P.overflows[0]<=0).sort((P,I)=>P.overflows[1]-I.overflows[1])[0])==null?void 0:_.placement;if(!W)switch(g){case"bestFit":{var V;const P=(V=R.filter(I=>{if(E){const L=Ns(I.placement);return L===k||L==="y"}return!0}).map(I=>[I.placement,I.overflows.filter(L=>L>0).reduce((L,D)=>L+D,0)]).sort((I,L)=>I[1]-L[1])[0])==null?void 0:V[0];P&&(W=P);break}case"initialPlacement":W=l;break}if(o!==W)return{reset:{placement:W}}}return{}}}},UA=new Set(["left","top"]);async function qA(e,t){const{placement:n,platform:a,elements:o}=e,s=await(a.isRTL==null?void 0:a.isRTL(o.floating)),r=Cr(n),l=du(n),u=Ns(n)==="y",c=UA.has(r)?-1:1,d=s&&u?-1:1,f=cu(t,e);let{mainAxis:v,crossAxis:g,alignmentAxis:p}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return l&&typeof p=="number"&&(g=l==="end"?p*-1:p),u?{x:g*d,y:v*c}:{x:v*c,y:g*d}}const YA=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,a;const{x:o,y:s,placement:r,middlewareData:l}=t,u=await qA(t,e);return r===((n=l.offset)==null?void 0:n.placement)&&(a=l.arrow)!=null&&a.alignmentOffset?{}:{x:o+u.x,y:s+u.y,data:{...u,placement:r}}}}},GA=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:a,placement:o,platform:s}=t,{mainAxis:r=!0,crossAxis:l=!1,limiter:u={fn:b=>{let{x:k,y}=b;return{x:k,y}}},...c}=cu(e,t),d={x:n,y:a},f=await s.detectOverflow(t,c),v=Ns(Cr(o)),g=wC(v);let p=d[g],h=d[v];if(r){const b=g==="y"?"top":"left",k=g==="y"?"bottom":"right",y=p+f[b],S=p-f[k];p=zp(y,p,S)}if(l){const b=v==="y"?"top":"left",k=v==="y"?"bottom":"right",y=h+f[b],S=h-f[k];h=zp(y,h,S)}const m=u.fn({...t,[g]:p,[v]:h});return{...m,data:{x:m.x-n,y:m.y-a,enabled:{[g]:r,[v]:l}}}}}};function Gd(){return typeof window<"u"}function Ml(e){return kC(e)?(e.nodeName||"").toLowerCase():"#document"}function Ra(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Bo(e){var t;return(t=(kC(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function kC(e){return Gd()?e instanceof Node||e instanceof Ra(e).Node:!1}function to(e){return Gd()?e instanceof Element||e instanceof Ra(e).Element:!1}function vs(e){return Gd()?e instanceof HTMLElement||e instanceof Ra(e).HTMLElement:!1}function ny(e){return!Gd()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Ra(e).ShadowRoot}function fu(e){const{overflow:t,overflowX:n,overflowY:a,display:o}=no(e);return/auto|scroll|overlay|hidden|clip/.test(t+a+n)&&o!=="inline"&&o!=="contents"}function XA(e){return/^(table|td|th)$/.test(Ml(e))}function Xd(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const JA=/transform|translate|scale|rotate|perspective|filter/,ZA=/paint|layout|strict|content/,Xs=e=>!!e&&e!=="none";let zf;function Zv(e){const t=to(e)?no(e):e;return Xs(t.transform)||Xs(t.translate)||Xs(t.scale)||Xs(t.rotate)||Xs(t.perspective)||!Qv()&&(Xs(t.backdropFilter)||Xs(t.filter))||JA.test(t.willChange||"")||ZA.test(t.contain||"")}function QA(e){let t=Ds(e);for(;vs(t)&&!yl(t);){if(Zv(t))return t;if(Xd(t))return null;t=Ds(t)}return null}function Qv(){return zf==null&&(zf=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),zf}function yl(e){return/^(html|body|#document)$/.test(Ml(e))}function no(e){return Ra(e).getComputedStyle(e)}function Jd(e){return to(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ds(e){if(Ml(e)==="html")return e;const t=e.assignedSlot||e.parentNode||ny(e)&&e.host||Bo(e);return ny(t)?t.host:t}function EC(e){const t=Ds(e);return yl(t)?e.ownerDocument?e.ownerDocument.body:e.body:vs(t)&&fu(t)?t:EC(t)}function Pi(e,t,n){var a;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=EC(e),s=o===((a=e.ownerDocument)==null?void 0:a.body),r=Ra(o);if(s){const l=Kp(r);return t.concat(r,r.visualViewport||[],fu(o)?o:[],l&&n?Pi(l):[])}else return t.concat(o,Pi(o,[],n))}function Kp(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function xC(e){const t=no(e);let n=parseFloat(t.width)||0,a=parseFloat(t.height)||0;const o=vs(e),s=o?e.offsetWidth:n,r=o?e.offsetHeight:a,l=Zc(n)!==s||Zc(a)!==r;return l&&(n=s,a=r),{width:n,height:a,$:l}}function em(e){return to(e)?e:e.contextElement}function nl(e){const t=em(e);if(!vs(t))return Ro(1);const n=t.getBoundingClientRect(),{width:a,height:o,$:s}=xC(t);let r=(s?Zc(n.width):n.width)/a,l=(s?Zc(n.height):n.height)/o;return(!r||!Number.isFinite(r))&&(r=1),(!l||!Number.isFinite(l))&&(l=1),{x:r,y:l}}const e4=Ro(0);function TC(e){const t=Ra(e);return!Qv()||!t.visualViewport?e4:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function t4(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Ra(e)?!1:t}function kr(e,t,n,a){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),s=em(e);let r=Ro(1);t&&(a?to(a)&&(r=nl(a)):r=nl(e));const l=t4(s,n,a)?TC(s):Ro(0);let u=(o.left+l.x)/r.x,c=(o.top+l.y)/r.y,d=o.width/r.x,f=o.height/r.y;if(s){const v=Ra(s),g=a&&to(a)?Ra(a):a;let p=v,h=Kp(p);for(;h&&a&&g!==p;){const m=nl(h),b=h.getBoundingClientRect(),k=no(h),y=b.left+(h.clientLeft+parseFloat(k.paddingLeft))*m.x,S=b.top+(h.clientTop+parseFloat(k.paddingTop))*m.y;u*=m.x,c*=m.y,d*=m.x,f*=m.y,u+=y,c+=S,p=Ra(h),h=Kp(p)}}return ed({width:d,height:f,x:u,y:c})}function Zd(e,t){const n=Jd(e).scrollLeft;return t?t.left+n:kr(Bo(e)).left+n}function $C(e,t){const n=e.getBoundingClientRect(),a=n.left+t.scrollLeft-Zd(e,n),o=n.top+t.scrollTop;return{x:a,y:o}}function n4(e){let{elements:t,rect:n,offsetParent:a,strategy:o}=e;const s=o==="fixed",r=Bo(a),l=t?Xd(t.floating):!1;if(a===r||l&&s)return n;let u={scrollLeft:0,scrollTop:0},c=Ro(1);const d=Ro(0),f=vs(a);if((f||!f&&!s)&&((Ml(a)!=="body"||fu(r))&&(u=Jd(a)),f)){const g=kr(a);c=nl(a),d.x=g.x+a.clientLeft,d.y=g.y+a.clientTop}const v=r&&!f&&!s?$C(r,u):Ro(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-u.scrollLeft*c.x+d.x+v.x,y:n.y*c.y-u.scrollTop*c.y+d.y+v.y}}function a4(e){return Array.from(e.getClientRects())}function o4(e){const t=Bo(e),n=Jd(e),a=e.ownerDocument.body,o=pr(t.scrollWidth,t.clientWidth,a.scrollWidth,a.clientWidth),s=pr(t.scrollHeight,t.clientHeight,a.scrollHeight,a.clientHeight);let r=-n.scrollLeft+Zd(e);const l=-n.scrollTop;return no(a).direction==="rtl"&&(r+=pr(t.clientWidth,a.clientWidth)-o),{width:o,height:s,x:r,y:l}}const ay=25;function s4(e,t){const n=Ra(e),a=Bo(e),o=n.visualViewport;let s=a.clientWidth,r=a.clientHeight,l=0,u=0;if(o){s=o.width,r=o.height;const d=Qv();(!d||d&&t==="fixed")&&(l=o.offsetLeft,u=o.offsetTop)}const c=Zd(a);if(c<=0){const d=a.ownerDocument,f=d.body,v=getComputedStyle(f),g=d.compatMode==="CSS1Compat"&&parseFloat(v.marginLeft)+parseFloat(v.marginRight)||0,p=Math.abs(a.clientWidth-f.clientWidth-g);p<=ay&&(s-=p)}else c<=ay&&(s+=c);return{width:s,height:r,x:l,y:u}}function r4(e,t){const n=kr(e,!0,t==="fixed"),a=n.top+e.clientTop,o=n.left+e.clientLeft,s=vs(e)?nl(e):Ro(1),r=e.clientWidth*s.x,l=e.clientHeight*s.y,u=o*s.x,c=a*s.y;return{width:r,height:l,x:u,y:c}}function oy(e,t,n){let a;if(t==="viewport")a=s4(e,n);else if(t==="document")a=o4(Bo(e));else if(to(t))a=r4(t,n);else{const o=TC(e);a={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return ed(a)}function OC(e,t){const n=Ds(e);return n===t||!to(n)||yl(n)?!1:no(n).position==="fixed"||OC(n,t)}function l4(e,t){const n=t.get(e);if(n)return n;let a=Pi(e,[],!1).filter(l=>to(l)&&Ml(l)!=="body"),o=null;const s=no(e).position==="fixed";let r=s?Ds(e):e;for(;to(r)&&!yl(r);){const l=no(r),u=Zv(r);!u&&l.position==="fixed"&&(o=null),(s?!u&&!o:!u&&l.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||fu(r)&&!u&&OC(e,r))?a=a.filter(d=>d!==r):o=l,r=Ds(r)}return t.set(e,a),a}function i4(e){let{element:t,boundary:n,rootBoundary:a,strategy:o}=e;const r=[...n==="clippingAncestors"?Xd(t)?[]:l4(t,this._c):[].concat(n),a],l=oy(t,r[0],o);let u=l.top,c=l.right,d=l.bottom,f=l.left;for(let v=1;v{r(!1,1e-7)},1e3)}$===1&&!NC(c,e.getBoundingClientRect())&&r(),S=!1}try{n=new IntersectionObserver(C,{...y,root:o.ownerDocument})}catch{n=new IntersectionObserver(C,y)}n.observe(e)}return r(!0),s}function v4(e,t,n,a){a===void 0&&(a={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:r=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:u=!1}=a,c=em(e),d=o||s?[...c?Pi(c):[],...t?Pi(t):[]]:[];d.forEach(b=>{o&&b.addEventListener("scroll",n,{passive:!0}),s&&b.addEventListener("resize",n)});const f=c&&l?h4(c,n):null;let v=-1,g=null;r&&(g=new ResizeObserver(b=>{let[k]=b;k&&k.target===c&&g&&t&&(g.unobserve(t),cancelAnimationFrame(v),v=requestAnimationFrame(()=>{var y;(y=g)==null||y.observe(t)})),n()}),c&&!u&&g.observe(c),t&&g.observe(t));let p,h=u?kr(e):null;u&&m();function m(){const b=kr(e);h&&!NC(h,b)&&n(),h=b,p=requestAnimationFrame(m)}return n(),()=>{var b;d.forEach(k=>{o&&k.removeEventListener("scroll",n),s&&k.removeEventListener("resize",n)}),f?.(),(b=g)==null||b.disconnect(),g=null,u&&cancelAnimationFrame(p)}}const m4=CC,g4=YA,b4=GA,y4=jA,w4=WA,S4=(e,t,n)=>{const a=new Map,o={platform:p4,...n},s={...o.platform,_c:a};return KA(e,t,{...o,platform:s})};function C4(e){let t;function n(){if(e.value==null)return;const{selectionStart:o,selectionEnd:s,value:r}=e.value;o==null||s==null||(t={selectionStart:o,selectionEnd:s,value:r,beforeTxt:r.slice(0,Math.max(0,o)),afterTxt:r.slice(Math.max(0,s))})}function a(){if(e.value==null||t==null)return;const{value:o}=e.value,{beforeTxt:s,afterTxt:r,selectionStart:l}=t;if(s==null||r==null||l==null)return;let u=o.length;if(o.endsWith(r))u=o.length-r.length;else if(o.startsWith(s))u=s.length;else{const c=s[l-1],d=o.indexOf(c,l-1);d!==-1&&(u=d+1)}e.value.setSelectionRange(u,u)}return[n,a]}const k4="utils/vue/vnode";let ja=(function(e){return e[e.TEXT=1]="TEXT",e[e.CLASS=2]="CLASS",e[e.STYLE=4]="STYLE",e[e.PROPS=8]="PROPS",e[e.FULL_PROPS=16]="FULL_PROPS",e[e.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",e[e.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",e[e.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",e[e.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",e[e.NEED_PATCH=512]="NEED_PATCH",e[e.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",e[e.HOISTED=-1]="HOISTED",e[e.BAIL=-2]="BAIL",e})({});function Wp(e){return Ut(e)&&e.type===Fe}function IC(e){return Ut(e)&&e.type===gn}function E4(e){return Ut(e)&&!Wp(e)&&!IC(e)}const x4=e=>{if(!Ut(e))return pt(k4,"[getNormalizedProps] must be a VNode"),{};const t=e.props||{},n=(Ut(e.type)?e.type.props:void 0)||{},a={};return Object.keys(n).forEach(o=>{Nt(n[o],"default")&&(a[o]=n[o].default)}),Object.keys(t).forEach(o=>{a[Fn(o)]=t[o]}),a},Ta=e=>{const t=ye(e)?e:[e],n=[];return t.forEach(a=>{ye(a)?n.push(...Ta(a)):Ut(a)&&a.component?.subTree?n.push(a,...Ta(a.component.subTree)):Ut(a)&&ye(a.children)?n.push(...Ta(a.children)):Ut(a)&&a.shapeFlag===2?n.push(...Ta(a.type())):n.push(a)}),n},T4=(e,t,n)=>Ta(e.subTree).filter(a=>Ut(a)&&a.type?.name===t&&!!a.component).map(a=>a.component.uid).map(a=>n[a]).filter(a=>!!a),Qd=(e,t)=>{const n=Xt({}),a=Xt([]),o=new WeakMap,s=c=>{n.value[c.uid]=c,oc(n),ht(()=>{const d=c.getVnode().el,f=d.parentNode;if(!o.has(f)){o.set(f,[]);const v=f.insertBefore.bind(f);f.insertBefore=(g,p)=>(o.get(f).some(h=>g===h||p===h)&&oc(n),v(g,p))}o.get(f).push(d)})},r=c=>{delete n.value[c.uid],oc(n);const d=c.getVnode().el,f=d.parentNode,v=o.get(f),g=v.indexOf(d);v.splice(g,1)},l=()=>{a.value=T4(e,t,n.value)},u=c=>c.render();return{children:a,addChild:s,removeChild:r,ChildrenSorter:se({setup(c,{slots:d}){return()=>(l(),d.default?Ye(u,{render:d.default}):null)}})}},Tn=uo({type:String,values:lo,required:!1}),PC=Symbol("size"),MC=()=>{const e=_e(PC,{});return w(()=>i(e.size)||"")};function ms(e,{disabled:t,beforeFocus:n,afterFocus:a,beforeBlur:o,afterBlur:s}={}){const{emit:r}=ft(),l=Xt(),u=M(!1),c=v=>{const g=Ve(n)?n(v):!1;i(t)||u.value||g||(u.value=!0,r("focus",v),a?.())},d=v=>{const g=Ve(o)?o(v):!1;i(t)||v.relatedTarget&&l.value?.contains(v.relatedTarget)||g||(u.value=!1,r("blur",v),s?.())},f=v=>{i(t)||Ri(v.target)||l.value?.contains(document.activeElement)&&l.value!==document.activeElement||e.value?.focus()};return le([l,()=>i(t)],([v,g])=>{v&&(g?v.removeAttribute("tabindex"):v.setAttribute("tabindex","-1"))}),Ft(l,"focus",c,!0),Ft(l,"blur",d,!0),Ft(l,"click",f,!0),{isFocused:u,wrapperRef:l,handleFocus:c,handleBlur:d}}const $4=e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e);function pu({afterComposition:e,emit:t}){const n=M(!1),a=l=>{t?.("compositionstart",l),n.value=!0},o=l=>{t?.("compositionupdate",l);const u=l.target?.value;n.value=!$4(u[u.length-1]||"")},s=l=>{t?.("compositionend",l),n.value&&(n.value=!1,Re(()=>e(l)))};return{isComposing:n,handleComposition:l=>{l.type==="compositionend"?s(l):o(l)},handleCompositionStart:a,handleCompositionUpdate:o,handleCompositionEnd:s}}const _C=Symbol("emptyValuesContextKey"),O4="use-empty-values",R4=["",void 0,null],N4=void 0,Pr=Ce({emptyValues:Array,valueOnClear:{type:G([String,Number,Boolean,Function]),default:void 0,validator:e=>(e=Ve(e)?e():e,ye(e)?e.every(t=>!t):!e)}}),hu=(e,t)=>{const n=ft()?_e(_C,M({})):M({}),a=w(()=>e.emptyValues||n.value.emptyValues||R4),o=w(()=>Ve(e.valueOnClear)?e.valueOnClear():e.valueOnClear!==void 0?e.valueOnClear:Ve(n.value.valueOnClear)?n.value.valueOnClear():n.value.valueOnClear!==void 0?n.value.valueOnClear:t!==void 0?t:N4),s=r=>{let l=!0;return ye(r)?l=a.value.some(u=>sn(r,u)):l=a.value.includes(r),l};return s(o.value)||pt(O4,"value-on-clear should be a value of empty-values"),{emptyValues:a,valueOnClear:o,isEmptyValue:s}},I4=Ce({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),aa=e=>ss(I4,e),AC=e=>{const t=e.props,n=ye(t)?fl(t.map(a=>[a,{}])):t;e.setPropsDefaults=a=>{if(n){for(const[o,s]of Object.entries(a)){const r=n[o];if(Nt(n,o)){if(Ov(r)){n[o]={...r,default:s};continue}n[o]={type:r,default:s}}}e.props=n}}},rt=(e,t)=>{if(e.install=n=>{for(const a of[e,...Object.values(t??{})])n.component(a.name,a)},t)for(const[n,a]of Object.entries(t))e[n]=a;return AC(e),e},LC=(e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e),P4=(e,t)=>(e.install=n=>{n.directive(t,e)},e),an=e=>(e.install=Dt,AC(e),e);var M4=se({__name:"teleport",props:au,setup(e){return(t,n)=>t.disabled?ee(t.$slots,"default",{key:0}):(x(),oe(LT,{key:1,to:t.to},[ee(t.$slots,"default")],8,["to"]))}}),_4=M4;const _l=rt(_4),ry="ElAffix";var A4=se({name:ry,__name:"affix",props:BM,emits:FM,setup(e,{expose:t,emit:n}){const a=e,o=n,s=fe("affix"),r=Xt(),l=Xt(),u=Xt(),{height:c}=_v(),{height:d,width:f,top:v,bottom:g,left:p,update:h}=Mb(l,{windowScroll:!1}),m=Mb(r),b=M(!1),k=M(0),y=M(0),S=w(()=>!a.teleported||!b.value),C=w(()=>({display:"flow-root",height:b.value?`${d.value}px`:"",width:b.value?`${f.value}px`:""})),E=w(()=>{if(!b.value)return{};const R=ln(a.offset);return{height:`${d.value}px`,width:`${f.value}px`,top:a.position==="top"?R:"",bottom:a.position==="bottom"?R:"",left:a.teleported?`${p.value}px`:"",transform:y.value?`translateY(${y.value}px)`:"",zIndex:a.zIndex}}),$=()=>{if(!u.value)return;k.value=u.value instanceof Window?document.documentElement.scrollTop:u.value.scrollTop||0;const{position:R,target:A,offset:_}=a,V=_+d.value;if(R==="top")if(A){const H=m.bottom.value-V;b.value=_>v.value&&m.bottom.value>0,y.value=H<0?H:0}else b.value=_>v.value;else if(A){const H=c.value-m.top.value-V;b.value=c.value-_m.top.value,y.value=H<0?-H:0}else b.value=c.value-_{if(!b.value){h();return}b.value=!1,await Re(),h(),b.value=!0},N=async()=>{h(),await Re(),o("scroll",{scrollTop:k.value,fixed:b.value})};return le(b,R=>o(yt,R)),ht(()=>{a.target?(r.value=document.querySelector(a.target)??void 0,r.value||nn(ry,`Target does not exist: ${a.target}`)):r.value=document.documentElement,u.value=Bv(l.value,!0),h()}),Gi(()=>{Re(O)}),sv(()=>{b.value=!1}),Ft(u,"scroll",N),wa($),t({update:$,updateRoot:O}),(R,A)=>(x(),B("div",{ref_key:"root",ref:l,class:T(i(s).b()),style:Ke(C.value)},[Y(i(_l),{disabled:S.value,to:e.appendTo},{default:J(()=>[z("div",{class:T({[i(s).m("fixed")]:b.value}),style:Ke(E.value)},[ee(R.$slots,"default")],6)]),_:3},8,["disabled","to"])],6))}}),L4=A4;const D4=rt(L4);var B4=se({name:"ArrowDown",__name:"arrow-down",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z"})]))}}),Fo=B4,F4=se({name:"ArrowLeft",__name:"arrow-left",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.59 30.59 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.59 30.59 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0"})]))}}),is=F4,V4=se({name:"ArrowRight",__name:"arrow-right",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M340.864 149.312a30.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}}),na=V4,z4=se({name:"ArrowUp",__name:"arrow-up",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}}),ef=z4,H4=se({name:"Back",__name:"back",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64"}),z("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312z"})]))}}),K4=H4,W4=se({name:"Calendar",__name:"calendar",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64"})]))}}),j4=W4,U4=se({name:"CaretRight",__name:"caret-right",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"})]))}}),DC=U4,q4=se({name:"CaretTop",__name:"caret-top",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 320 192 704h639.936z"})]))}}),Y4=q4,G4=se({name:"Check",__name:"check",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}}),vu=G4,X4=se({name:"CircleCheckFilled",__name:"circle-check-filled",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),J4=X4,Z4=se({name:"CircleCheck",__name:"circle-check",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),z("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}}),tm=Z4,Q4=se({name:"CircleCloseFilled",__name:"circle-close-filled",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}}),nm=Q4,e3=se({name:"CircleClose",__name:"circle-close",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),z("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),Vo=e3,t3=se({name:"Clock",__name:"clock",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),z("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"}),z("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32"})]))}}),BC=t3,n3=se({name:"Close",__name:"close",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),Ha=n3,a3=se({name:"DArrowLeft",__name:"d-arrow-left",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672zm256 0a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672z"})]))}}),Bs=a3,o3=se({name:"DArrowRight",__name:"d-arrow-right",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L764.736 512 452.864 192a30.59 30.59 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L508.736 512 196.864 192a30.59 30.59 0 0 1 0-42.688"})]))}}),Fs=o3,s3=se({name:"Delete",__name:"delete",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),r3=s3,l3=se({name:"Document",__name:"document",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),i3=l3,u3=se({name:"FullScreen",__name:"full-screen",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),c3=u3,d3=se({name:"Hide",__name:"hide",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4s-12.8-9.6-22.4-9.6-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176S0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6q-43.2 72-153.6 172.8c-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),z("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112s-67.2 48-112 48"})]))}}),f3=d3,p3=se({name:"InfoFilled",__name:"info-filled",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),Mi=p3,h3=se({name:"Loading",__name:"loading",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}}),Ao=h3,v3=se({name:"Minus",__name:"minus",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64"})]))}}),m3=v3,g3=se({name:"MoreFilled",__name:"more-filled",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224"})]))}}),ly=g3,b3=se({name:"More",__name:"more",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"})]))}}),y3=b3,w3=se({name:"PictureFilled",__name:"picture-filled",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112M256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384"})]))}}),S3=w3,C3=se({name:"Plus",__name:"plus",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}}),FC=C3,k3=se({name:"QuestionFilled",__name:"question-filled",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592q0-64.416-42.24-101.376c-28.16-25.344-65.472-37.312-111.232-37.312m-12.672 406.208a54.27 54.27 0 0 0-38.72 14.784 49.4 49.4 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.85 54.85 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.97 51.97 0 0 0-15.488-38.016 55.94 55.94 0 0 0-39.424-14.784"})]))}}),E3=k3,x3=se({name:"RefreshLeft",__name:"refresh-left",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}}),T3=x3,$3=se({name:"RefreshRight",__name:"refresh-right",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88"})]))}}),O3=$3,R3=se({name:"ScaleToOriginal",__name:"scale-to-original",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118m-361.412 0a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118M512 361.412a30.12 30.12 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.12 30.12 0 0 0 512 361.412M512 512a30.12 30.12 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.12 30.12 0 0 0 512 512"})]))}}),N3=R3,I3=se({name:"Search",__name:"search",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704"})]))}}),P3=I3,M3=se({name:"SortDown",__name:"sort-down",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M576 96v709.568L333.312 562.816A32 32 0 1 0 288 608l297.408 297.344A32 32 0 0 0 640 882.688V96a32 32 0 0 0-64 0"})]))}}),_3=M3,A3=se({name:"SortUp",__name:"sort-up",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M384 141.248V928a32 32 0 1 0 64 0V218.56l242.688 242.688A32 32 0 1 0 736 416L438.592 118.656A32 32 0 0 0 384 141.248"})]))}}),L3=A3,D3=se({name:"StarFilled",__name:"star-filled",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M313.6 924.48a70.4 70.4 0 0 1-74.152-5.365 70.4 70.4 0 0 1-27.992-68.875l37.888-220.928L88.96 472.96a70.4 70.4 0 0 1 3.788-104.225A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 100.246-28.595 70.4 70.4 0 0 1 25.962 28.595l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}}),Vu=D3,B3=se({name:"Star",__name:"star",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m512 747.84 228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}}),F3=B3,V3=se({name:"SuccessFilled",__name:"success-filled",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),VC=V3,z3=se({name:"View",__name:"view",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),H3=z3,K3=se({name:"WarningFilled",__name:"warning-filled",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}}),tf=K3,W3=se({name:"ZoomIn",__name:"zoom-in",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),zC=W3,j3=se({name:"ZoomOut",__name:"zoom-out",setup(e){return(t,n)=>(x(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[z("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}}),U3=j3;const Kt=G([String,Object,Function]),HC={Close:Ha},am={Close:Ha,SuccessFilled:VC,InfoFilled:Mi,WarningFilled:tf,CircleCloseFilled:nm},Vs={primary:Mi,success:VC,warning:tf,error:nm,info:Mi},nf={validating:Ao,success:tm,error:Vo},q3=["light","dark"],Y3=Ce({title:{type:String,default:""},description:{type:String,default:""},type:{type:String,values:Oi(Vs),default:"info"},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},showIcon:Boolean,center:Boolean,effect:{type:String,values:q3,default:"light"}}),G3={close:e=>e instanceof MouseEvent},X3=Ce({size:{type:G([Number,String])},color:{type:String}});var J3=se({name:"ElIcon",inheritAttrs:!1,__name:"icon",props:X3,setup(e){const t=e,n=fe("icon"),a=w(()=>{const{size:o,color:s}=t,r=ln(o);return!r&&!s?{}:{fontSize:r,"--color":s}});return(o,s)=>(x(),B("i",dt({class:i(n).b(),style:a.value},o.$attrs),[ee(o.$slots,"default")],16))}}),Z3=J3;const De=rt(Z3);var Q3=se({name:"ElAlert",__name:"alert",props:Y3,emits:G3,setup(e,{emit:t}){const{Close:n}=am,a=e,o=t,s=vn(),r=fe("alert"),l=M(!0),u=w(()=>Vs[a.type]),c=w(()=>{if(a.description)return!0;const f=s.default?.();return f?Ta(f).some(v=>!IC(v)):!1}),d=f=>{l.value=!1,o("close",f)};return(f,v)=>(x(),oe(Vn,{name:i(r).b("fade"),persisted:""},{default:J(()=>[ut(z("div",{class:T([i(r).b(),i(r).m(e.type),i(r).is("center",e.center),i(r).is(e.effect)]),role:"alert"},[e.showIcon&&(f.$slots.icon||u.value)?(x(),oe(i(De),{key:0,class:T([i(r).e("icon"),i(r).is("big",c.value)])},{default:J(()=>[ee(f.$slots,"icon",{},()=>[(x(),oe(it(u.value)))])]),_:3},8,["class"])):te("v-if",!0),z("div",{class:T(i(r).e("content"))},[e.title||f.$slots.title?(x(),B("span",{key:0,class:T([i(r).e("title"),{"with-description":c.value}])},[ee(f.$slots,"title",{},()=>[wt(Se(e.title),1)])],2)):te("v-if",!0),c.value?(x(),B("p",{key:1,class:T(i(r).e("description"))},[ee(f.$slots,"default",{},()=>[wt(Se(e.description),1)])],2)):te("v-if",!0),e.closable?(x(),B(Fe,{key:2},[e.closeText?(x(),B("div",{key:0,class:T([i(r).e("close-btn"),i(r).is("customed")]),onClick:d},Se(e.closeText),3)):(x(),oe(i(De),{key:1,class:T(i(r).e("close-btn")),onClick:d},{default:J(()=>[Y(i(n))]),_:1},8,["class"]))],64)):te("v-if",!0)],2)],2),[[Pt,l.value]])]),_:3},8,["name"]))}}),eL=Q3;const tL=rt(eL),KC=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],WC=Ce({role:{type:String,values:KC,default:"tooltip"}}),om=Symbol("popper"),jC=Symbol("popperContent");var nL=se({name:"ElPopperArrow",inheritAttrs:!1,__name:"arrow",setup(e,{expose:t}){const n=fe("popper"),{arrowRef:a,arrowStyle:o}=_e(jC,void 0);return Bt(()=>{a.value=void 0}),t({arrowRef:a}),(s,r)=>(x(),B("span",{ref_key:"arrowRef",ref:a,class:T(i(n).e("arrow")),style:Ke(i(o)),"data-popper-arrow":""},null,6))}}),aL=nL;const UC=Ce({virtualRef:{type:G(Object)},virtualTriggering:Boolean,onMouseenter:{type:G(Function)},onMouseleave:{type:G(Function)},onClick:{type:G(Function)},onKeydown:{type:G(Function)},onFocus:{type:G(Function)},onBlur:{type:G(Function)},onContextmenu:{type:G(Function)},id:String,open:Boolean}),Kf="ElOnlyChild",qC=se({name:Kf,setup(e,{slots:t,attrs:n}){const a=MA(_e(gC)?.setForwardRef??Dt);return()=>{const o=t.default?.(n);if(!o)return null;const[s,r]=YC(o);return s?(r>1&&pt(Kf,"requires exact only one valid child."),ut(Io(s,n),[[a]])):(pt(Kf,"no valid child node found"),null)}}});function YC(e){if(!e)return[null,0];const t=e,n=t.filter(a=>a.type!==gn).length;for(const a of t){if(ot(a))switch(a.type){case gn:continue;case Ol:case"svg":return[iy(a),n];case Fe:return YC(a.children);default:return[a,n]}return[iy(a),n]}return[null,0]}function iy(e){const t=fe("only-child");return Y("span",{class:t.e("content")},[e])}var oL=se({name:"ElPopperTrigger",inheritAttrs:!1,__name:"trigger",props:UC,setup(e,{expose:t}){const n=e,{role:a,triggerRef:o}=_e(om,void 0);PA(o);const s=w(()=>l.value?n.id:void 0),r=w(()=>{if(a&&a.value==="tooltip")return n.open&&n.id?n.id:void 0}),l=w(()=>{if(a&&a.value!=="tooltip")return a.value}),u=w(()=>l.value?`${n.open}`:void 0);let c;const d=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return ht(()=>{le(()=>n.virtualRef,f=>{f&&(o.value=xn(f))},{immediate:!0}),le(o,(f,v)=>{c?.(),c=void 0,ha(v)&&d.forEach(g=>{const p=n[g];p&&v.removeEventListener(g.slice(2).toLowerCase(),p,["onFocus","onBlur"].includes(g))}),ha(f)&&(d.forEach(g=>{const p=n[g];p&&f.addEventListener(g.slice(2).toLowerCase(),p,["onFocus","onBlur"].includes(g))}),Ri(f)&&(c=le([s,r,l,u],g=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((p,h)=>{bn(g[h])?f.removeAttribute(p):f.setAttribute(p,g[h])})},{immediate:!0}))),ha(v)&&Ri(v)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(g=>v.removeAttribute(g))},{immediate:!0})}),Bt(()=>{if(c?.(),c=void 0,o.value&&ha(o.value)){const f=o.value;d.forEach(v=>{const g=n[v];g&&f.removeEventListener(v.slice(2).toLowerCase(),g,["onFocus","onBlur"].includes(v))}),o.value=void 0}}),t({triggerRef:o}),(f,v)=>e.virtualTriggering?te("v-if",!0):(x(),oe(i(qC),dt({key:0},f.$attrs,{"aria-controls":s.value,"aria-describedby":r.value,"aria-expanded":u.value,"aria-haspopup":l.value}),{default:J(()=>[ee(f.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}}),sL=oL;const GC=Ce({arrowOffset:{type:Number,default:5}}),rL=["fixed","absolute"],lL=Ce({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:G(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:Do,default:"bottom"},popperOptions:{type:G(Object),default:()=>({})},strategy:{type:String,values:rL,default:"absolute"}}),XC=Ce({...lL,...GC,id:String,style:{type:G([String,Array,Object])},className:{type:G([String,Array,Object])},effect:{type:G(String),default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:G([String,Array,Object])},popperStyle:{type:G([String,Array,Object])},referenceEl:{type:G(Object)},triggerTargetEl:{type:G(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...aa(["ariaLabel"]),loop:Boolean}),iL={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},uL=Ce({size:{type:String,values:lo},disabled:Boolean}),cL=Ce({...uL,model:Object,rules:{type:G(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:Boolean,scrollToError:Boolean,scrollIntoViewOptions:{type:G([Object,Boolean]),default:!0}}),dL={validate:(e,t,n)=>(ye(e)||Le(e))&&Ht(t)&&Le(n)},Mr=Symbol("formContextKey"),Lo=Symbol("formItemContextKey"),Cn=(e,t={})=>{const n=M(void 0),a=t.prop?n:aC("size"),o=t.global?n:MC(),s=t.form?{size:void 0}:_e(Mr,void 0),r=t.formItem?{size:void 0}:_e(Lo,void 0);return w(()=>a.value||i(e)||r?.size||s?.size||o.value||"")},un=e=>{const t=aC("disabled"),n=_e(Mr,void 0);return w(()=>t.value??i(e)??n?.disabled??!1)},Dn=()=>({form:_e(Mr,void 0),formItem:_e(Lo,void 0)}),Ia=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:a})=>{n||(n=M(!1)),a||(a=M(!1));const o=ft(),s=()=>{let c=o?.parent;for(;c;){if(c.type.name==="ElFormItem")return!1;if(c.type.name==="ElLabelWrap")return!0;c=c.parent}return!1},r=M();let l;const u=w(()=>!!(!(e.label||e.ariaLabel)&&t&&t.inputIds&&t.inputIds?.length<=1));return ht(()=>{l=le([Vt(e,"id"),n],([c,d])=>{const f=c??(d?void 0:zn().value);f!==r.value&&(t?.removeInputId&&!s()&&(r.value&&t.removeInputId(r.value),!a?.value&&!d&&f&&t.addInputId(f)),r.value=f)},{immediate:!0})}),$l(()=>{l&&l(),t?.removeInputId&&r.value&&t.removeInputId(r.value)}),{isLabeledByFormItem:u,inputId:r}},fL=["","error","validating","success"],pL=Ce({label:String,labelWidth:{type:[String,Number]},labelPosition:{type:String,values:["left","right","top",""],default:""},prop:{type:G([String,Array])},required:{type:Boolean,default:void 0},rules:{type:G([Object,Array])},error:String,validateStatus:{type:String,values:fL},for:String,inlineMessage:{type:Boolean,default:void 0},showMessage:{type:Boolean,default:!0},size:{type:String,values:lo}}),uy=e=>[...new Set(e)],jl=e=>ye(e)?e[0]:e,Zn=e=>!e&&e!==0?[]:ye(e)?e:[e],hL="ElForm";function vL(){const e=M([]),t=w(()=>{if(!e.value.length)return"0";const s=Math.max(...e.value);return s?`${s}px`:""});function n(s){const r=e.value.indexOf(s);return r===-1&&t.value==="0"&&pt(hL,`unexpected width ${s}`),r}function a(s,r){if(s&&r){const l=n(r);e.value.splice(l,1,s)}else s&&e.value.push(s)}function o(s){const r=n(s);r>-1&&e.value.splice(r,1)}return{autoLabelWidth:t,registerLabelWidth:a,deregisterLabelWidth:o}}const zu=(e,t)=>{const n=Nn(t).map(a=>ye(a)?a.join("."):a);return n.length>0?e.filter(a=>a.propString&&n.includes(a.propString)):e},Dr="ElForm";var mL=se({name:Dr,__name:"form",props:cL,emits:dL,setup(e,{expose:t,emit:n}){const a=e,o=n,s=M(),r=At([]),l=new Map,u=Cn(),c=fe("form"),d=w(()=>{const{labelPosition:$,inline:O}=a;return[c.b(),c.m(u.value||"default"),{[c.m(`label-${$}`)]:$,[c.m("inline")]:O}]}),f=$=>zu(r,[$])[0],v=$=>{r.push($),$.propString&&(l.has($.propString)?$.setInitialValue(l.get($.propString)):l.set($.propString,es($.fieldValue)))},g=$=>{$.prop&&r.splice(r.indexOf($),1)},p=$=>{if(!a.model){pt(Dr,"model is required for setInitialValues to work.");return}if(!$){pt(Dr,"initModel is required for setInitialValues to work.");return}for(const O of l.keys())l.set(O,es(Ms($,O).value));r.forEach(O=>{O.prop&&O.setInitialValue(Ms($,O.prop).value)})},h=($=[])=>{if(!a.model){pt(Dr,"model is required for resetFields to work.");return}zu(r,$).forEach(R=>R.resetField());const O=new Set(r.map(R=>R.propString).filter(Boolean)),N=$.length>0?Nn($).map(R=>ye(R)?R.join("."):R):[...l.keys()];for(const R of N)!O.has(R)&&l.has(R)&&(Ms(a.model,R).value=es(l.get(R)))},m=($=[])=>{zu(r,$).forEach(O=>O.clearValidate())},b=w(()=>{const $=!!a.model;return $||pt(Dr,"model is required for validate to work."),$}),k=$=>{if(r.length===0)return[];const O=zu(r,$);return O.length?O:(pt(Dr,"please pass correct props!"),[])},y=async $=>C(void 0,$),S=async($=[])=>{if(!b.value)return!1;const O=k($);if(O.length===0)return!0;let N={};for(const R of O)try{await R.validate(""),R.validateState==="error"&&!R.error&&R.resetField()}catch(A){N={...N,...A}}return Object.keys(N).length===0?!0:Promise.reject(N)},C=async($=[],O)=>{let N=!1;const R=!Ve(O);try{return N=await S($),N===!0&&await O?.(N),N}catch(A){if(A instanceof Error)throw A;const _=A;return a.scrollToError&&s.value&&s.value.querySelector(`.${c.b()}-item.is-error`)?.scrollIntoView(a.scrollIntoViewOptions),!N&&await O?.(!1,_),R&&Promise.reject(_)}},E=$=>{const O=f($);O&&O.$el?.scrollIntoView(a.scrollIntoViewOptions)};return le(()=>a.rules,()=>{a.validateOnRuleChange&&y().catch($=>pt($))},{deep:!0,flush:"post"}),St(Mr,At({...Mn(a),emit:o,resetFields:h,clearValidate:m,validateField:C,getField:f,addField:v,removeField:g,setInitialValues:p,...vL()})),t({validate:y,validateField:C,resetFields:h,clearValidate:m,scrollToField:E,getField:f,fields:r,setInitialValues:p}),($,O)=>(x(),B("form",{ref_key:"formRef",ref:s,class:T(d.value)},[ee($.$slots,"default")],2))}}),gL=mL;const cy="ElLabelWrap";var bL=se({name:cy,props:{isAutoWidth:Boolean,updateAll:Boolean},setup(e,{slots:t}){const n=_e(Mr,void 0),a=_e(Lo);a||nn(cy,"usage: ");const o=fe("form"),s=M(),r=M(0),l=()=>{if(s.value?.firstElementChild){const d=window.getComputedStyle(s.value.firstElementChild).width;return Math.ceil(Number.parseFloat(d))}else return 0},u=(d="update")=>{Re(()=>{t.default&&e.isAutoWidth&&(d==="update"?r.value=l():d==="remove"&&n?.deregisterLabelWidth(r.value))})},c=()=>u("update");return ht(()=>{c()}),Bt(()=>{u("remove")}),ro(()=>c()),le(r,(d,f)=>{e.updateAll&&n?.registerLabelWidth(d,f)}),en(w(()=>s.value?.firstElementChild??null),c),()=>{if(!t)return null;const{isAutoWidth:d}=e;if(d){const f=n?.autoLabelWidth,v=a?.hasLabel,g={};if(v&&f&&f!=="auto"){const p=Math.max(0,Number.parseInt(f,10)-r.value),h=(a.labelPosition||n.labelPosition)==="left"?"marginRight":"marginLeft";p&&(g[h]=`${p}px`)}return Y("div",{ref:s,class:[o.be("item","label-wrap")],style:g},[t.default?.()])}else return Y(Fe,{ref:s},[t.default?.()])}}});function or(){return or=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function fc(e,t,n){return wL()?fc=Reflect.construct.bind():fc=function(o,s,r){var l=[null];l.push.apply(l,s);var u=Function.bind.apply(o,l),c=new u;return r&&_i(c,r.prototype),c},fc.apply(null,arguments)}function SL(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function Up(e){var t=typeof Map=="function"?new Map:void 0;return Up=function(a){if(a===null||!SL(a))return a;if(typeof a!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(a))return t.get(a);t.set(a,o)}function o(){return fc(a,arguments,jp(this).constructor)}return o.prototype=Object.create(a.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),_i(o,a)},Up(e)}var CL=/%[sdj%]/g,kL=function(){};function qp(e){if(!e||!e.length)return null;var t={};return e.forEach(function(n){var a=n.field;t[a]=t[a]||[],t[a].push(n)}),t}function $a(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a=s)return l;switch(l){case"%s":return String(n[o++]);case"%d":return Number(n[o++]);case"%j":try{return JSON.stringify(n[o++])}catch{return"[Circular]"}break;default:return l}});return r}return e}function EL(e){return e==="string"||e==="url"||e==="hex"||e==="email"||e==="date"||e==="pattern"}function An(e,t){return!!(e==null||t==="array"&&Array.isArray(e)&&!e.length||EL(t)&&typeof e=="string"&&!e)}function xL(e,t,n){var a=[],o=0,s=e.length;function r(l){a.push.apply(a,l||[]),o++,o===s&&n(a)}e.forEach(function(l){t(l,r)})}function dy(e,t,n){var a=0,o=e.length;function s(r){if(r&&r.length){n(r);return}var l=a;a=a+1,l()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},Jl={integer:function(t){return Jl.number(t)&&parseInt(t,10)===t},float:function(t){return Jl.number(t)&&!Jl.integer(t)},array:function(t){return Array.isArray(t)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch{return!1}},date:function(t){return typeof t.getTime=="function"&&typeof t.getMonth=="function"&&typeof t.getYear=="function"&&!isNaN(t.getTime())},number:function(t){return isNaN(t)?!1:typeof t=="number"},object:function(t){return typeof t=="object"&&!Jl.array(t)},method:function(t){return typeof t=="function"},email:function(t){return typeof t=="string"&&t.length<=320&&!!t.match(vy.email)},url:function(t){return typeof t=="string"&&t.length<=2048&&!!t.match(IL())},hex:function(t){return typeof t=="string"&&!!t.match(vy.hex)}},PL=function(t,n,a,o,s){if(t.required&&n===void 0){JC(t,n,a,o,s);return}var r=["integer","float","array","regexp","object","method","email","number","date","url","hex"],l=t.type;r.indexOf(l)>-1?Jl[l](n)||o.push($a(s.messages.types[l],t.fullField,t.type)):l&&typeof n!==t.type&&o.push($a(s.messages.types[l],t.fullField,t.type))},ML=function(t,n,a,o,s){var r=typeof t.len=="number",l=typeof t.min=="number",u=typeof t.max=="number",c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,d=n,f=null,v=typeof n=="number",g=typeof n=="string",p=Array.isArray(n);if(v?f="number":g?f="string":p&&(f="array"),!f)return!1;p&&(d=n.length),g&&(d=n.replace(c,"_").length),r?d!==t.len&&o.push($a(s.messages[f].len,t.fullField,t.len)):l&&!u&&dt.max?o.push($a(s.messages[f].max,t.fullField,t.max)):l&&u&&(dt.max)&&o.push($a(s.messages[f].range,t.fullField,t.min,t.max))},Br="enum",_L=function(t,n,a,o,s){t[Br]=Array.isArray(t[Br])?t[Br]:[],t[Br].indexOf(n)===-1&&o.push($a(s.messages[Br],t.fullField,t[Br].join(", ")))},AL=function(t,n,a,o,s){if(t.pattern){if(t.pattern instanceof RegExp)t.pattern.lastIndex=0,t.pattern.test(n)||o.push($a(s.messages.pattern.mismatch,t.fullField,n,t.pattern));else if(typeof t.pattern=="string"){var r=new RegExp(t.pattern);r.test(n)||o.push($a(s.messages.pattern.mismatch,t.fullField,n,t.pattern))}}},Gt={required:JC,whitespace:NL,type:PL,range:ML,enum:_L,pattern:AL},LL=function(t,n,a,o,s){var r=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(An(n,"string")&&!t.required)return a();Gt.required(t,n,o,r,s,"string"),An(n,"string")||(Gt.type(t,n,o,r,s),Gt.range(t,n,o,r,s),Gt.pattern(t,n,o,r,s),t.whitespace===!0&&Gt.whitespace(t,n,o,r,s))}a(r)},DL=function(t,n,a,o,s){var r=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(An(n)&&!t.required)return a();Gt.required(t,n,o,r,s),n!==void 0&&Gt.type(t,n,o,r,s)}a(r)},BL=function(t,n,a,o,s){var r=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(n===""&&(n=void 0),An(n)&&!t.required)return a();Gt.required(t,n,o,r,s),n!==void 0&&(Gt.type(t,n,o,r,s),Gt.range(t,n,o,r,s))}a(r)},FL=function(t,n,a,o,s){var r=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(An(n)&&!t.required)return a();Gt.required(t,n,o,r,s),n!==void 0&&Gt.type(t,n,o,r,s)}a(r)},VL=function(t,n,a,o,s){var r=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(An(n)&&!t.required)return a();Gt.required(t,n,o,r,s),An(n)||Gt.type(t,n,o,r,s)}a(r)},zL=function(t,n,a,o,s){var r=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(An(n)&&!t.required)return a();Gt.required(t,n,o,r,s),n!==void 0&&(Gt.type(t,n,o,r,s),Gt.range(t,n,o,r,s))}a(r)},HL=function(t,n,a,o,s){var r=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(An(n)&&!t.required)return a();Gt.required(t,n,o,r,s),n!==void 0&&(Gt.type(t,n,o,r,s),Gt.range(t,n,o,r,s))}a(r)},KL=function(t,n,a,o,s){var r=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(n==null&&!t.required)return a();Gt.required(t,n,o,r,s,"array"),n!=null&&(Gt.type(t,n,o,r,s),Gt.range(t,n,o,r,s))}a(r)},WL=function(t,n,a,o,s){var r=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(An(n)&&!t.required)return a();Gt.required(t,n,o,r,s),n!==void 0&&Gt.type(t,n,o,r,s)}a(r)},jL="enum",UL=function(t,n,a,o,s){var r=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(An(n)&&!t.required)return a();Gt.required(t,n,o,r,s),n!==void 0&&Gt[jL](t,n,o,r,s)}a(r)},qL=function(t,n,a,o,s){var r=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(An(n,"string")&&!t.required)return a();Gt.required(t,n,o,r,s),An(n,"string")||Gt.pattern(t,n,o,r,s)}a(r)},YL=function(t,n,a,o,s){var r=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(An(n,"date")&&!t.required)return a();if(Gt.required(t,n,o,r,s),!An(n,"date")){var u;n instanceof Date?u=n:u=new Date(n),Gt.type(t,u,o,r,s),u&&Gt.range(t,u.getTime(),o,r,s)}}a(r)},GL=function(t,n,a,o,s){var r=[],l=Array.isArray(n)?"array":typeof n;Gt.required(t,n,o,r,s,l),a(r)},Wf=function(t,n,a,o,s){var r=t.type,l=[],u=t.required||!t.required&&o.hasOwnProperty(t.field);if(u){if(An(n,r)&&!t.required)return a();Gt.required(t,n,o,l,s,r),An(n,r)||Gt.type(t,n,o,l,s)}a(l)},XL=function(t,n,a,o,s){var r=[],l=t.required||!t.required&&o.hasOwnProperty(t.field);if(l){if(An(n)&&!t.required)return a();Gt.required(t,n,o,r,s)}a(r)},hi={string:LL,method:DL,number:BL,boolean:FL,regexp:VL,integer:zL,float:HL,array:KL,object:WL,enum:UL,pattern:qL,date:YL,url:Wf,hex:Wf,email:Wf,required:GL,any:XL};function Yp(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var t=JSON.parse(JSON.stringify(this));return t.clone=this.clone,t}}}var Gp=Yp(),mu=(function(){function e(n){this.rules=null,this._messages=Gp,this.define(n)}var t=e.prototype;return t.define=function(a){var o=this;if(!a)throw new Error("Cannot configure a schema with no rules");if(typeof a!="object"||Array.isArray(a))throw new Error("Rules must be an object");this.rules={},Object.keys(a).forEach(function(s){var r=a[s];o.rules[s]=Array.isArray(r)?r:[r]})},t.messages=function(a){return a&&(this._messages=hy(Yp(),a)),this._messages},t.validate=function(a,o,s){var r=this;o===void 0&&(o={}),s===void 0&&(s=function(){});var l=a,u=o,c=s;if(typeof u=="function"&&(c=u,u={}),!this.rules||Object.keys(this.rules).length===0)return c&&c(null,l),Promise.resolve(l);function d(h){var m=[],b={};function k(S){if(Array.isArray(S)){var C;m=(C=m).concat.apply(C,S)}else m.push(S)}for(var y=0;yn.labelPosition||o?.labelPosition),b=w(()=>m.value==="top"?{}:{width:ln(n.labelWidth??o?.labelWidth)}),k=w(()=>{if(m.value==="top"||o?.inline)return{};if(!n.label&&!n.labelWidth&&R)return{};const ie=ln(n.labelWidth??o?.labelWidth);return!n.label&&!a.label?{marginLeft:ie}:{}}),y=w(()=>[l.b(),l.m(r.value),l.is("error",d.value==="error"),l.is("validating",d.value==="validating"),l.is("success",d.value==="success"),l.is("required",U.value||n.required),l.is("no-asterisk",o?.hideRequiredAsterisk),o?.requireAsteriskPosition==="right"?"asterisk-right":"asterisk-left",{[l.m("feedback")]:o?.statusIcon,[l.m(`label-${m.value}`)]:m.value}]),S=w(()=>Ht(n.inlineMessage)?n.inlineMessage:o?.inlineMessage||!1),C=w(()=>[l.e("error"),{[l.em("error","inline")]:S.value}]),E=w(()=>n.prop?ye(n.prop)?n.prop.join("."):n.prop:""),$=w(()=>!!(n.label||a.label)),O=w(()=>n.for??(c.value.length===1?c.value[0]:void 0)),N=w(()=>!O.value&&$.value),R=!!s,A=w(()=>{const ie=o?.model;if(!(!ie||!n.prop))return Ms(ie,n.prop).value}),_=w(()=>{const{required:ie}=n,ae=[];n.rules&&ae.push(...Nn(n.rules));const ne=o?.rules;if(ne&&n.prop){const K=Ms(ne,n.prop).value;K&&ae.push(...Nn(K))}if(ie!==void 0){const K=ae.map((Z,re)=>[Z,re]).filter(([Z])=>"required"in Z);if(K.length>0)for(const[Z,re]of K)Z.required!==ie&&(ae[re]={...Z,required:ie});else ae.push({required:ie})}return ae}),V=w(()=>_.value.length>0),H=ie=>_.value.filter(ae=>!ae.trigger||!ie?!0:ye(ae.trigger)?ae.trigger.includes(ie):ae.trigger===ie).map(({trigger:ae,...ne})=>ne),U=w(()=>_.value.some(ie=>ie.required)),W=w(()=>f.value==="error"&&n.showMessage&&(o?.showMessage??!0)),P=w(()=>`${n.label||""}${o?.labelSuffix||""}`),I=ie=>{d.value=ie},L=ie=>{const{errors:ae,fields:ne}=ie;(!ae||!ne)&&console.error(ie),I("error"),v.value=ae?ae?.[0]?.message??`${n.prop} is required`:"",o?.emit("validate",n.prop,!1,v.value)},D=()=>{I("success"),o?.emit("validate",n.prop,!0,"")},F=async ie=>{const ae=E.value;return new mu({[ae]:ie}).validate({[ae]:A.value},{firstFields:!0}).then(()=>(D(),!0)).catch(ne=>(L(ne),Promise.reject(ne)))},q=async(ie,ae)=>{if(h||!n.prop)return!1;const ne=Ve(ae);if(!V.value)return ae?.(!1),!1;const K=H(ie);return K.length===0?(ae?.(!0),!0):(I("validating"),F(K).then(()=>(ae?.(!0),!0)).catch(Z=>{const{fields:re}=Z;return ae?.(!1,re),ne?!1:Promise.reject(re)}))},j=()=>{I(""),v.value="",h=!1},X=async()=>{const ie=o?.model;if(!ie||!n.prop)return;const ae=Ms(ie,n.prop);h=!0,ae.value=es(p),await Re(),j(),h=!1},Q=ie=>{c.value.includes(ie)||c.value.push(ie)},he=ie=>{c.value=c.value.filter(ae=>ae!==ie)},ue=ie=>{p=es(ie)};le(()=>n.error,ie=>{v.value=ie||"",I(ie?"error":"")},{immediate:!0}),le(()=>n.validateStatus,ie=>I(ie||""));const ge=At({...Mn(n),$el:g,size:r,validateMessage:v,validateState:d,labelId:u,inputIds:c,isGroup:N,hasLabel:$,fieldValue:A,addInputId:Q,removeInputId:he,resetField:X,clearValidate:j,validate:q,propString:E,setInitialValue:ue});return St(Lo,ge),ht(()=>{n.prop&&(ue(A.value),o?.addField(ge))}),Bt(()=>{o?.removeField(ge)}),t({size:r,validateMessage:v,validateState:d,validate:q,clearValidate:j,resetField:X,setInitialValue:ue}),(ie,ae)=>(x(),B("div",{ref_key:"formItemRef",ref:g,class:T(y.value),role:N.value?"group":void 0,"aria-labelledby":N.value?i(u):void 0},[Y(i(bL),{"is-auto-width":b.value.width==="auto","update-all":i(o)?.labelWidth==="auto"},{default:J(()=>[e.label||ie.$slots.label?(x(),oe(it(O.value?"label":"div"),{key:0,id:i(u),for:O.value,class:T(i(l).e("label")),style:Ke(b.value)},{default:J(()=>[ee(ie.$slots,"label",{label:P.value},()=>[wt(Se(P.value),1)])]),_:3},8,["id","for","class","style"])):te("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),z("div",{class:T(i(l).e("content")),style:Ke(k.value)},[ee(ie.$slots,"default"),Y(j1,{name:`${i(l).namespace.value}-zoom-in-top`},{default:J(()=>[W.value?ee(ie.$slots,"error",{key:0,error:v.value},()=>[z("div",{class:T(C.value)},Se(v.value),3)]):te("v-if",!0)]),_:3},8,["name"])],6)],10,JL))}}),ZC=ZL;const QL=rt(gL,{FormItem:ZC}),eD=an(ZC),jf="focus-trap.focus-after-trapped",Uf="focus-trap.focus-after-released",tD="focus-trap.focusout-prevented",my={cancelable:!0,bubbles:!1},nD={cancelable:!0,bubbles:!1},gy="focusAfterTrapped",by="focusAfterReleased",QC=Symbol("elFocusTrap"),sm=M(),af=M(0),rm=M(0);let Ku=0;const ek=e=>{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{const o=a.tagName==="INPUT"&&a.type==="hidden";return a.disabled||a.hidden||o?NodeFilter.FILTER_SKIP:a.tabIndex>=0||a===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},yy=(e,t)=>{for(const n of e)if(!aD(n,t))return n},aD=(e,t)=>{if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1},oD=e=>{const t=ek(e);return[yy(t,e),yy(t.reverse(),e)]},sD=e=>e instanceof HTMLInputElement&&"select"in e,Cs=(e,t)=>{if(e){const n=document.activeElement;ru(e,{preventScroll:!0}),rm.value=window.performance.now(),e!==n&&sD(e)&&t&&e.select()}};function wy(e,t){const n=[...e],a=e.indexOf(t);return a!==-1&&n.splice(a,1),n}const rD=()=>{let e=[];return{push:a=>{const o=e[0];o&&a!==o&&o.pause(),e=wy(e,a),e.unshift(a)},remove:a=>{e=wy(e,a),e[0]?.resume?.()}}},lD=(e,t=!1)=>{const n=document.activeElement;for(const a of e)if(Cs(a,t),document.activeElement!==n)return},Sy=rD(),iD=()=>af.value>rm.value,Wu=()=>{sm.value="pointer",af.value=window.performance.now()},Cy=()=>{sm.value="keyboard",af.value=window.performance.now()},uD=()=>(ht(()=>{Ku===0&&(document.addEventListener("mousedown",Wu),document.addEventListener("touchstart",Wu),document.addEventListener("keydown",Cy)),Ku++}),Bt(()=>{Ku--,Ku<=0&&(document.removeEventListener("mousedown",Wu),document.removeEventListener("touchstart",Wu),document.removeEventListener("keydown",Cy))}),{focusReason:sm,lastUserFocusTimestamp:af,lastAutomatedFocusTimestamp:rm}),ju=e=>new CustomEvent(tD,{...nD,detail:e});var cD=se({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[gy,by,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=M();let a,o;const{focusReason:s}=uD();$A(p=>{e.trapped&&!r.paused&&t("release-requested",p)});const r={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},l=p=>{if(!e.loop&&!e.trapped||r.paused)return;const{altKey:h,ctrlKey:m,metaKey:b,currentTarget:k,shiftKey:y}=p,{loop:S}=e,C=jt(p)===we.tab&&!h&&!m&&!b,E=document.activeElement;if(C&&E){const $=k,[O,N]=oD($);if(O&&N){if(!y&&E===N){const R=ju({focusReason:s.value});t("focusout-prevented",R),R.defaultPrevented||(p.preventDefault(),S&&Cs(O,!0))}else if(y&&[O,$].includes(E)){const R=ju({focusReason:s.value});t("focusout-prevented",R),R.defaultPrevented||(p.preventDefault(),S&&Cs(N,!0))}}else if(E===$){const R=ju({focusReason:s.value});t("focusout-prevented",R),R.defaultPrevented||p.preventDefault()}}};St(QC,{focusTrapRef:n,onKeydown:l}),le(()=>e.focusTrapEl,p=>{p&&(n.value=p)},{immediate:!0}),le([n],([p],[h])=>{p&&(p.addEventListener("keydown",l),p.addEventListener("focusin",d),p.addEventListener("focusout",f)),h&&(h.removeEventListener("keydown",l),h.removeEventListener("focusin",d),h.removeEventListener("focusout",f))});const u=p=>{t(gy,p)},c=p=>t(by,p),d=p=>{const h=i(n);if(!h)return;const m=p.target,b=p.relatedTarget,k=m&&h.contains(m);e.trapped||b&&h.contains(b)||(a=b),k&&t("focusin",p),!r.paused&&e.trapped&&(k?o=m:Cs(o,!0))},f=p=>{const h=i(n);if(!(r.paused||!h))if(e.trapped){const m=p.relatedTarget;!bn(m)&&!h.contains(m)&&setTimeout(()=>{if(!r.paused&&e.trapped){const b=ju({focusReason:s.value});t("focusout-prevented",b),b.defaultPrevented||Cs(o,!0)}},0)}else{const m=p.target;m&&h.contains(m)||t("focusout",p)}};async function v(){await Re();const p=i(n);if(p){Sy.push(r);const h=p.contains(document.activeElement)?a:document.activeElement;if(a=h,!p.contains(h)){const m=new Event(jf,my);p.addEventListener(jf,u),p.dispatchEvent(m),m.defaultPrevented||Re(()=>{let b=e.focusStartEl;Le(b)||(Cs(b),document.activeElement!==b&&(b="first")),b==="first"&&lD(ek(p),!0),(document.activeElement===h||b==="container")&&Cs(p)})}}}function g(){const p=i(n);if(p){p.removeEventListener(jf,u);const h=new CustomEvent(Uf,{...my,detail:{focusReason:s.value}});p.addEventListener(Uf,c),p.dispatchEvent(h),!h.defaultPrevented&&(s.value=="keyboard"||!iD()||p.contains(document.activeElement))&&Cs(a??document.body),p.removeEventListener(Uf,c),Sy.remove(r),a=null,o=null}}return ht(()=>{e.trapped&&v(),le(()=>e.trapped,p=>{p?v():g()})}),Bt(()=>{e.trapped&&g(),n.value&&(n.value.removeEventListener("keydown",l),n.value.removeEventListener("focusin",d),n.value.removeEventListener("focusout",f),n.value=void 0),a=null,o=null}),{onKeydown:l}}}),$n=(e,t)=>{const n=e.__vccOpts||e;for(const[a,o]of t)n[a]=o;return n};function dD(e,t,n,a,o,s){return ee(e.$slots,"default",{handleKeydown:e.onKeydown})}var fD=$n(cD,[["render",dD]]),Al=fD;const pD=(e,t=[])=>{const{placement:n,strategy:a,popperOptions:o}=e,s={placement:n,strategy:a,...o,modifiers:[...vD(e),...t]};return mD(s,o?.modifiers),s},hD=e=>{if(Mt)return xn(e)};function vD(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:a}=e;return[{name:"offset",options:{offset:[0,t??12]}},{name:"preventOverflow",options:{padding:{top:0,bottom:0,left:0,right:0}}},{name:"flip",options:{padding:5,fallbackPlacements:a}},{name:"computeStyles",options:{gpuAcceleration:n}}]}function mD(e,t){t&&(e.modifiers=[...e.modifiers,...t??[]])}const gD=0,bD=e=>{const{popperInstanceRef:t,contentRef:n,triggerRef:a,role:o}=_e(om,void 0),s=M(),r=w(()=>e.arrowOffset),l=w(()=>({name:"eventListeners",enabled:!!e.visible})),u=w(()=>{const b=i(s),k=i(r)??gD;return{name:"arrow",enabled:!wM(b),options:{element:b,padding:k}}}),c=w(()=>({onFirstUpdate:()=>{p()},...pD(e,[i(u),i(l)])})),d=w(()=>hD(e.referenceEl)||i(a)),{attributes:f,state:v,styles:g,update:p,forceUpdate:h,instanceRef:m}=kA(d,n,c);return le(m,b=>t.value=b,{flush:"sync"}),ht(()=>{le(()=>i(d)?.getBoundingClientRect?.(),()=>{p()})}),Bt(()=>{t.value=void 0}),{attributes:f,arrowRef:s,contentRef:n,instanceRef:m,state:v,styles:g,role:o,forceUpdate:h,update:p}},yD=(e,{attributes:t,styles:n,role:a})=>{const{nextZIndex:o}=uu(),s=fe("popper"),r=w(()=>i(t).popper),l=M(He(e.zIndex)?e.zIndex:o()),u=w(()=>[s.b(),s.is("pure",e.pure),s.is(e.effect),e.popperClass]),c=w(()=>[{zIndex:i(l)},i(n).popper,e.popperStyle||{}]),d=w(()=>a.value==="dialog"?"false":void 0),f=w(()=>i(n).arrow||{});return{ariaModal:d,arrowStyle:f,contentAttrs:r,contentClass:u,contentStyle:c,contentZIndex:l,updateZIndex:()=>{l.value=He(e.zIndex)?e.zIndex:o()}}},wD=(e,t)=>{const n=M(!1),a=M(),o=()=>{t("focus")},s=c=>{c.detail?.focusReason!=="pointer"&&(a.value="first",t("blur"))},r=c=>{e.visible&&!n.value&&(c.target&&(a.value=c.target),n.value=!0)},l=c=>{e.trapping||(c.detail.focusReason==="pointer"&&c.preventDefault(),n.value=!1)},u=()=>{n.value=!1,t("close")};return Bt(()=>{a.value=void 0}),{focusStartRef:a,trapped:n,onFocusAfterReleased:s,onFocusAfterTrapped:o,onFocusInTrap:r,onFocusoutPrevented:l,onReleaseRequested:u}};var SD=se({name:"ElPopperContent",__name:"content",props:XC,emits:iL,setup(e,{expose:t,emit:n}){const a=n,o=e,{focusStartRef:s,trapped:r,onFocusAfterReleased:l,onFocusAfterTrapped:u,onFocusInTrap:c,onFocusoutPrevented:d,onReleaseRequested:f}=wD(o,a),{attributes:v,arrowRef:g,contentRef:p,styles:h,instanceRef:m,role:b,update:k}=bD(o),{ariaModal:y,arrowStyle:S,contentAttrs:C,contentClass:E,contentStyle:$,updateZIndex:O}=yD(o,{styles:h,attributes:v,role:b}),N=_e(Lo,void 0);St(jC,{arrowStyle:S,arrowRef:g}),N&&St(Lo,{...N,addInputId:Dt,removeInputId:Dt});let R;const A=(V=!0)=>{k(),V&&O()},_=()=>{A(!1),o.visible&&o.focusOnShow?r.value=!0:o.visible===!1&&(r.value=!1)};return ht(()=>{le(()=>o.triggerTargetEl,(V,H)=>{R?.(),R=void 0;const U=i(V||p.value),W=i(H||p.value);ha(U)&&(R=le([b,()=>o.ariaLabel,y,()=>o.id],P=>{["role","aria-label","aria-modal","id"].forEach((I,L)=>{bn(P[L])?U.removeAttribute(I):U.setAttribute(I,P[L])})},{immediate:!0})),W!==U&&ha(W)&&["role","aria-label","aria-modal","id"].forEach(P=>{W.removeAttribute(P)})},{immediate:!0}),le(()=>o.visible,_,{immediate:!0})}),Bt(()=>{R?.(),R=void 0,p.value=void 0}),t({popperContentRef:p,popperInstanceRef:m,updatePopper:A,contentStyle:$}),(V,H)=>(x(),B("div",dt({ref_key:"contentRef",ref:p},i(C),{style:i($),class:i(E),tabindex:"-1",onMouseenter:H[0]||(H[0]=U=>V.$emit("mouseenter",U)),onMouseleave:H[1]||(H[1]=U=>V.$emit("mouseleave",U))}),[Y(i(Al),{loop:e.loop,trapped:i(r),"trap-on-focus-in":!0,"focus-trap-el":i(p),"focus-start-el":i(s),onFocusAfterTrapped:i(u),onFocusAfterReleased:i(l),onFocusin:i(c),onFocusoutPrevented:i(d),onReleaseRequested:i(f)},{default:J(()=>[ee(V.$slots,"default")]),_:3},8,["loop","trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16))}}),CD=SD,kD=se({name:"ElPopper",inheritAttrs:!1,__name:"popper",props:WC,setup(e,{expose:t}){const n=e,a={triggerRef:M(),popperInstanceRef:M(),contentRef:M(),referenceRef:M(),role:w(()=>n.role)};return t(a),St(om,a),(o,s)=>ee(o.$slots,"default")}}),ED=kD;const tk=rt(ED),zt=Ce({...NA,...XC,appendTo:{type:au.to.type},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:G(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...aa(["ariaLabel"])}),No=Ce({...UC,disabled:Boolean,trigger:{type:G([String,Array]),default:"hover"},triggerKeys:{type:G(Array),default:()=>[we.enter,we.numpadEnter,we.space]},focusOnTarget:Boolean}),{useModelToggleProps:xD,useModelToggleEmits:TD,useModelToggle:$D}=w_("visible"),OD=Ce({...WC,...xD,...zt,...No,...GC,showArrow:{type:Boolean,default:!0}}),RD=[...TD,"before-show","before-hide","show","hide","open","close"],lm=Symbol("elTooltip"),Xp=(e,t)=>ye(e)?e.includes(t):e===t,Fr=(e,t,n)=>a=>{Xp(i(e),t)&&n(a)};var ND=se({name:"ElTooltipTrigger",__name:"trigger",props:No,setup(e,{expose:t}){const n=e,a=fe("tooltip"),{controlled:o,id:s,open:r,onOpen:l,onClose:u,onToggle:c}=_e(lm,void 0),d=M(null),f=()=>{if(i(o)||n.disabled)return!0},v=Vt(n,"trigger"),g=Rn(f,Fr(v,"hover",S=>{l(S),n.focusOnTarget&&S.target&&Re(()=>{ru(S.target,{preventScroll:!0})})})),p=Rn(f,Fr(v,"hover",u)),h=Rn(f,Fr(v,"click",S=>{S.button===0&&c(S)})),m=Rn(f,Fr(v,"focus",l)),b=Rn(f,Fr(v,"focus",u)),k=Rn(f,Fr(v,"contextmenu",S=>{S.preventDefault(),c(S)})),y=Rn(f,S=>{const C=jt(S);n.triggerKeys.includes(C)&&(S.preventDefault(),c(S))});return t({triggerRef:d}),(S,C)=>(x(),oe(i(sL),{id:i(s),"virtual-ref":e.virtualRef,open:i(r),"virtual-triggering":e.virtualTriggering,class:T(i(a).e("trigger")),onBlur:i(b),onClick:i(h),onContextmenu:i(k),onFocus:i(m),onMouseenter:i(g),onMouseleave:i(p),onKeydown:i(y)},{default:J(()=>[ee(S.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}}),ID=ND,PD=se({name:"ElTooltipContent",inheritAttrs:!1,__name:"content",props:zt,setup(e,{expose:t}){const n=e,{selector:a}=mC(),o=fe("tooltip"),s=M(),r=VS(()=>s.value?.popperContentRef);let l;const{controlled:u,id:c,open:d,trigger:f,onClose:v,onOpen:g,onShow:p,onHide:h,onBeforeShow:m,onBeforeHide:b}=_e(lm,void 0),k=w(()=>n.transition||`${o.namespace.value}-fade-in-linear`),y=w(()=>n.persistent);Bt(()=>{l?.()});const S=w(()=>i(y)?!0:i(d)),C=w(()=>n.disabled?!1:i(d)),E=w(()=>n.appendTo||a.value),$=w(()=>n.style??{}),O=M(!0),N=()=>{h(),P()&&ru(document.body,{preventScroll:!0}),O.value=!0},R=()=>{if(i(u))return!0},A=Rn(R,()=>{n.enterable&&Xp(i(f),"hover")&&g()}),_=Rn(R,()=>{Xp(i(f),"hover")&&v()}),V=()=>{s.value?.updatePopper?.(),m?.()},H=()=>{b?.()},U=()=>{p()},W=()=>{n.virtualTriggering||v()},P=I=>{const L=s.value?.popperContentRef,D=I?.relatedTarget||document.activeElement;return L?.contains(D)};return le(()=>i(d),I=>{I?(O.value=!1,l=Mv(r,()=>{i(u)||Zn(i(f)).every(L=>L!=="hover"&&L!=="focus")&&v()},{detectIframe:!0})):l?.()},{flush:"post"}),le(()=>n.content,()=>{s.value?.updatePopper?.()}),t({contentRef:s,isFocusInsideContent:P}),(I,L)=>(x(),oe(i(_l),{disabled:!e.teleported,to:E.value},{default:J(()=>[S.value||!O.value?(x(),oe(Vn,{key:0,name:k.value,appear:!y.value,onAfterLeave:N,onBeforeEnter:V,onAfterEnter:U,onBeforeLeave:H,persisted:""},{default:J(()=>[ut(Y(i(CD),dt({id:i(c),ref_key:"contentRef",ref:s},I.$attrs,{"aria-label":e.ariaLabel,"aria-hidden":O.value,"boundaries-padding":e.boundariesPadding,"fallback-placements":e.fallbackPlacements,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,strategy:e.strategy,effect:e.effect,enterable:e.enterable,pure:e.pure,"popper-class":e.popperClass,"popper-style":[e.popperStyle,$.value],"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,visible:C.value,"z-index":e.zIndex,loop:e.loop,onMouseenter:i(A),onMouseleave:i(_),onBlur:W,onClose:i(v)}),{default:J(()=>[ee(I.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","arrow-offset","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","loop","onMouseenter","onMouseleave","onClose"]),[[Pt,C.value]])]),_:3},8,["name","appear"])):te("v-if",!0)]),_:3},8,["disabled","to"]))}}),MD=PD;const _D=["innerHTML"],AD={key:1};var LD=se({name:"ElTooltip",__name:"tooltip",props:OD,emits:RD,setup(e,{expose:t,emit:n}){const a=e,o=n;RA();const s=fe("tooltip"),r=zn(),l=M(),u=M(),c=()=>{const S=i(l);S&&S.popperInstanceRef?.update()},d=M(!1),f=M(),{show:v,hide:g,hasUpdateHandler:p}=$D({indicator:d,toggleReason:f}),{onOpen:h,onClose:m}=IA({showAfter:Vt(a,"showAfter"),hideAfter:Vt(a,"hideAfter"),autoClose:Vt(a,"autoClose"),open:v,close:g}),b=w(()=>Ht(a.visible)&&!p.value),k=w(()=>[s.b(),a.popperClass]);St(lm,{controlled:b,id:r,open:br(d),trigger:Vt(a,"trigger"),onOpen:h,onClose:m,onToggle:S=>{i(d)?m(S):h(S)},onShow:()=>{o("show",f.value)},onHide:()=>{o("hide",f.value)},onBeforeShow:()=>{o("before-show",f.value)},onBeforeHide:()=>{o("before-hide",f.value)},updatePopper:c}),le(()=>a.disabled,S=>{S&&d.value&&(d.value=!1)});const y=S=>u.value?.isFocusInsideContent(S);return sv(()=>d.value&&g()),Bt(()=>{f.value=void 0}),t({popperRef:l,contentRef:u,isFocusInsideContent:y,updatePopper:c,onOpen:h,onClose:m,hide:g}),(S,C)=>(x(),oe(i(tk),{ref_key:"popperRef",ref:l,role:e.role},{default:J(()=>[Y(ID,{disabled:e.disabled,trigger:e.trigger,"trigger-keys":e.triggerKeys,"virtual-ref":e.virtualRef,"virtual-triggering":e.virtualTriggering,"focus-on-target":e.focusOnTarget},{default:J(()=>[S.$slots.default?ee(S.$slots,"default",{key:0}):te("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering","focus-on-target"]),Y(MD,{ref_key:"contentRef",ref:u,"aria-label":e.ariaLabel,"boundaries-padding":e.boundariesPadding,content:e.content,disabled:e.disabled,effect:e.effect,enterable:e.enterable,"fallback-placements":e.fallbackPlacements,"hide-after":e.hideAfter,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,persistent:e.persistent,"popper-class":k.value,"popper-style":e.popperStyle,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,pure:e.pure,"raw-content":e.rawContent,"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,"show-after":e.showAfter,strategy:e.strategy,teleported:e.teleported,transition:e.transition,"virtual-triggering":e.virtualTriggering,"z-index":e.zIndex,"append-to":e.appendTo,loop:e.loop},{default:J(()=>[ee(S.$slots,"content",{},()=>[e.rawContent?(x(),B("span",{key:0,innerHTML:e.content},null,8,_D)):(x(),B("span",AD,Se(e.content),1))]),e.showArrow?(x(),oe(i(aL),{key:0})):te("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","arrow-offset","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to","loop"])]),_:3},8,["role"]))}}),DD=LD;const Ln=rt(DD),rn=e=>e,gu=Ce({id:{type:String,default:void 0},size:Tn,disabled:{type:Boolean,default:void 0},modelValue:{type:G([String,Number,Object]),default:""},modelModifiers:{type:G(Object),default:()=>({})},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:G(String),default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:G([Boolean,Object]),default:!1},autocomplete:{type:G(String),default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:Kt,default:Vo},showPassword:Boolean,showWordLimit:Boolean,wordLimitPosition:{type:String,values:["inside","outside"],default:"inside"},suffixIcon:{type:Kt},prefixIcon:{type:Kt},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:G([Object,Array,String]),default:()=>rn({})},autofocus:Boolean,rows:{type:Number,default:2},...aa(["ariaLabel"]),inputmode:{type:G(String),default:void 0},name:String}),BD={[at]:e=>Le(e),input:e=>Le(e),change:(e,t)=>Le(e)&&(t instanceof Event||t===void 0),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:e=>e===void 0||e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent};xo(Vo);let Ma;const FD={height:"0",visibility:"hidden",overflow:Ud()?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},VD=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"],ky=e=>{const t=Number.parseFloat(e);return Number.isNaN(t)?e:t};function zD(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),a=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),o=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:VD.map(s=>[s,t.getPropertyValue(s)]),paddingSize:a,borderSize:o,boxSizing:n}}function Ey(e,t=1,n){if(!Ma){Ma=document.createElement("textarea");let d=document.body;!Ud()&&e.parentNode&&(d=e.parentNode),d.appendChild(Ma)}const{paddingSize:a,borderSize:o,boxSizing:s,contextStyle:r}=zD(e);r.forEach(([d,f])=>Ma?.style.setProperty(d,f)),Object.entries(FD).forEach(([d,f])=>Ma?.style.setProperty(d,f,"important")),Ma.value=e.value||e.placeholder||"";let l=Ma.scrollHeight;const u={};s==="border-box"?l=l+o:s==="content-box"&&(l=l-a),Ma.value="";const c=Ma.scrollHeight-a;if(He(t)){let d=c*t;s==="border-box"&&(d=d+a+o),l=Math.max(d,l),u.minHeight=`${d}px`}if(He(n)){let d=c*n;s==="border-box"&&(d=d+a+o),l=Math.min(d,l)}return u.height=`${l}px`,Ma.parentNode?.removeChild(Ma),Ma=void 0,u}const HD=["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode"],KD=["id","name","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role"],xy="ElInput";var WD=se({name:xy,inheritAttrs:!1,__name:"input",props:gu,emits:BD,setup(e,{expose:t,emit:n}){const a=e,o=n,s=fs(),r=Wd(),l=vn(),u=w(()=>[a.type==="textarea"?m.b():h.b(),h.m(g.value),h.is("disabled",p.value),h.is("exceed",j.value),{[h.b("group")]:l.prepend||l.append,[h.m("prefix")]:l.prefix||a.prefixIcon,[h.m("suffix")]:l.suffix||a.suffixIcon||a.clearable||a.showPassword,[h.bm("suffix","password-clear")]:L.value&&D.value,[h.b("hidden")]:a.type==="hidden"},s.class]),c=w(()=>[h.e("wrapper"),h.is("focus",N.value)]),{form:d,formItem:f}=Dn(),{inputId:v}=Ia(a,{formItemContext:f}),g=Cn(),p=un(),h=fe("input"),m=fe("textarea"),b=Xt(),k=Xt(),y=M(!1),S=M(!1),C=M(),E=Xt(a.inputStyle),$=w(()=>b.value||k.value),{wrapperRef:O,isFocused:N,handleFocus:R,handleBlur:A}=ms($,{disabled:p,afterBlur(){a.validateEvent&&f?.validate?.("blur").catch(Pe=>pt(Pe))}}),_=w(()=>d?.statusIcon??!1),V=w(()=>f?.validateState||""),H=w(()=>V.value&&nf[V.value]),U=w(()=>S.value?H3:f3),W=w(()=>[s.style]),P=w(()=>[a.inputStyle,E.value,{resize:a.resize}]),I=w(()=>bn(a.modelValue)?"":String(a.modelValue)),L=w(()=>a.clearable&&!p.value&&!a.readonly&&!!I.value&&(N.value||y.value)),D=w(()=>a.showPassword&&!p.value&&!!I.value),F=w(()=>a.showWordLimit&&!!a.maxlength&&(a.type==="text"||a.type==="textarea")&&!p.value&&!a.readonly&&!a.showPassword),q=w(()=>I.value.length),j=w(()=>!!F.value&&q.value>Number(a.maxlength)),X=w(()=>!!l.suffix||!!a.suffixIcon||L.value||a.showPassword||F.value||!!V.value&&_.value),Q=w(()=>!!Object.keys(a.modelModifiers).length),[he,ue]=C4(b);en(k,Pe=>{if(ae(),!F.value||a.resize!=="both"&&a.resize!=="horizontal")return;const{width:Ae}=Pe[0].contentRect;C.value={right:`calc(100% - ${Ae+22-10}px)`}});const ge=()=>{const{type:Pe,autosize:Ae}=a;if(!(!Mt||Pe!=="textarea"||!k.value))if(Ae){const je=ot(Ae)?Ae.minRows:void 0,Rt=ot(Ae)?Ae.maxRows:void 0,Ue=Ey(k.value,je,Rt);E.value={overflowY:"hidden",...Ue},Re(()=>{k.value.offsetHeight,E.value=Ue})}else E.value={minHeight:Ey(k.value).minHeight}},ae=(Pe=>{let Ae=!1;return()=>{Ae||!a.autosize||k.value?.offsetParent!==null&&(setTimeout(Pe),Ae=!0)}})(ge),ne=()=>{const Pe=$.value,Ae=a.formatter?a.formatter(I.value):I.value;!Pe||Pe.value===Ae||a.type==="file"||(Pe.value=Ae)},K=Pe=>{const{trim:Ae,number:je}=a.modelModifiers;return Ae&&(Pe=Pe.trim()),je&&(Pe=`${ky(Pe)}`),a.formatter&&a.parser&&(Pe=a.parser(Pe)),Pe},Z=async Pe=>{if(ce.value)return;const{lazy:Ae}=a.modelModifiers;let{value:je}=Pe.target;if(Ae){o(Sn,je);return}if(je=K(je),String(je)===I.value){a.formatter&&ne();return}he(),o(at,je),o(Sn,je),await Re(),(a.formatter&&a.parser||!Q.value)&&ne(),ue()},re=async Pe=>{let{value:Ae}=Pe.target;Ae=K(Ae),a.modelModifiers.lazy&&o(at,Ae),o(yt,Ae,Pe),await Re(),ne()},{isComposing:ce,handleCompositionStart:ve,handleCompositionUpdate:ke,handleCompositionEnd:Ne}=pu({emit:o,afterComposition:Z}),Ie=()=>{S.value=!S.value},$e=()=>$.value?.focus(),pe=()=>$.value?.blur(),Ee=Pe=>{y.value=!1,o("mouseleave",Pe)},me=Pe=>{y.value=!0,o("mouseenter",Pe)},Me=Pe=>{o("keydown",Pe)},We=()=>{$.value?.select()},Ze=Pe=>{o(at,""),o(yt,""),o("clear",Pe),o(Sn,"")};return le(()=>a.modelValue,()=>{Re(()=>ge()),a.validateEvent&&f?.validate?.("change").catch(Pe=>pt(Pe))}),le(I,Pe=>{if(!$.value)return;const{trim:Ae,number:je}=a.modelModifiers,Rt=$.value.value,Ue=(je||a.type==="number")&&!/^0\d/.test(Rt)?`${ky(Rt)}`:Rt;Ue!==Pe&&(document.activeElement===$.value&&$.value.type!=="range"&&Ae&&Ue.trim()===Pe||ne())}),le(()=>a.type,async()=>{await Re(),ne(),ge()}),ht(()=>{!a.formatter&&a.parser&&pt(xy,"If you set the parser, you also need to set the formatter."),ne(),Re(ge)}),t({input:b,textarea:k,ref:$,textareaStyle:P,autosize:Vt(a,"autosize"),isComposing:ce,focus:$e,blur:pe,select:We,clear:Ze,resizeTextarea:ge}),(Pe,Ae)=>(x(),B("div",{class:T([u.value,{[i(h).bm("group","append")]:Pe.$slots.append,[i(h).bm("group","prepend")]:Pe.$slots.prepend}]),style:Ke(W.value),onMouseenter:me,onMouseleave:Ee},[te(" input "),e.type!=="textarea"?(x(),B(Fe,{key:0},[te(" prepend slot "),Pe.$slots.prepend?(x(),B("div",{key:0,class:T(i(h).be("group","prepend"))},[ee(Pe.$slots,"prepend")],2)):te("v-if",!0),z("div",{ref_key:"wrapperRef",ref:O,class:T(c.value)},[te(" prefix slot "),Pe.$slots.prefix||e.prefixIcon?(x(),B("span",{key:0,class:T(i(h).e("prefix"))},[z("span",{class:T(i(h).e("prefix-inner"))},[ee(Pe.$slots,"prefix"),e.prefixIcon?(x(),oe(i(De),{key:0,class:T(i(h).e("icon"))},{default:J(()=>[(x(),oe(it(e.prefixIcon)))]),_:1},8,["class"])):te("v-if",!0)],2)],2)):te("v-if",!0),z("input",dt({id:i(v),ref_key:"input",ref:b,class:i(h).e("inner")},i(r),{name:e.name,minlength:e.minlength,maxlength:e.maxlength,type:e.showPassword?S.value?"text":"password":e.type,disabled:i(p),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-label":e.ariaLabel,placeholder:e.placeholder,style:e.inputStyle,form:e.form,autofocus:e.autofocus,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:Ae[0]||(Ae[0]=(...je)=>i(ve)&&i(ve)(...je)),onCompositionupdate:Ae[1]||(Ae[1]=(...je)=>i(ke)&&i(ke)(...je)),onCompositionend:Ae[2]||(Ae[2]=(...je)=>i(Ne)&&i(Ne)(...je)),onInput:Z,onChange:re,onKeydown:Me}),null,16,HD),te(" suffix slot "),X.value?(x(),B("span",{key:1,class:T(i(h).e("suffix"))},[z("span",{class:T(i(h).e("suffix-inner"))},[!L.value||!D.value||!F.value?(x(),B(Fe,{key:0},[ee(Pe.$slots,"suffix"),e.suffixIcon?(x(),oe(i(De),{key:0,class:T(i(h).e("icon"))},{default:J(()=>[(x(),oe(it(e.suffixIcon)))]),_:1},8,["class"])):te("v-if",!0)],64)):te("v-if",!0),L.value?(x(),oe(i(De),{key:1,class:T([i(h).e("icon"),i(h).e("clear")]),onMousedown:Xe(i(Dt),["prevent"]),onClick:Ze},{default:J(()=>[(x(),oe(it(e.clearIcon)))]),_:1},8,["class","onMousedown"])):te("v-if",!0),D.value?(x(),oe(i(De),{key:2,class:T([i(h).e("icon"),i(h).e("password")]),onClick:Ie,onMousedown:Xe(i(Dt),["prevent"]),onMouseup:Xe(i(Dt),["prevent"])},{default:J(()=>[(x(),oe(it(U.value)))]),_:1},8,["class","onMousedown","onMouseup"])):te("v-if",!0),F.value?(x(),B("span",{key:3,class:T([i(h).e("count"),i(h).is("outside",e.wordLimitPosition==="outside")])},[z("span",{class:T(i(h).e("count-inner"))},Se(q.value)+" / "+Se(e.maxlength),3)],2)):te("v-if",!0),V.value&&H.value&&_.value?(x(),oe(i(De),{key:4,class:T([i(h).e("icon"),i(h).e("validateIcon"),i(h).is("loading",V.value==="validating")])},{default:J(()=>[(x(),oe(it(H.value)))]),_:1},8,["class"])):te("v-if",!0)],2)],2)):te("v-if",!0)],2),te(" append slot "),Pe.$slots.append?(x(),B("div",{key:1,class:T(i(h).be("group","append"))},[ee(Pe.$slots,"append")],2)):te("v-if",!0)],64)):(x(),B(Fe,{key:1},[te(" textarea "),z("textarea",dt({id:i(v),ref_key:"textarea",ref:k,class:[i(m).e("inner"),i(h).is("focus",i(N)),i(m).is("clearable",e.clearable)]},i(r),{name:e.name,minlength:e.minlength,maxlength:e.maxlength,tabindex:e.tabindex,disabled:i(p),readonly:e.readonly,autocomplete:e.autocomplete,style:P.value,"aria-label":e.ariaLabel,placeholder:e.placeholder,form:e.form,autofocus:e.autofocus,rows:e.rows,role:e.containerRole,onCompositionstart:Ae[3]||(Ae[3]=(...je)=>i(ve)&&i(ve)(...je)),onCompositionupdate:Ae[4]||(Ae[4]=(...je)=>i(ke)&&i(ke)(...je)),onCompositionend:Ae[5]||(Ae[5]=(...je)=>i(Ne)&&i(Ne)(...je)),onInput:Z,onFocus:Ae[6]||(Ae[6]=(...je)=>i(R)&&i(R)(...je)),onBlur:Ae[7]||(Ae[7]=(...je)=>i(A)&&i(A)(...je)),onChange:re,onKeydown:Me}),null,16,KD),L.value?(x(),oe(i(De),{key:0,class:T([i(m).e("icon"),i(m).e("clear")]),onMousedown:Xe(i(Dt),["prevent"]),onClick:Ze},{default:J(()=>[(x(),oe(it(e.clearIcon)))]),_:1},8,["class","onMousedown"])):te("v-if",!0),F.value?(x(),B("span",{key:1,style:Ke(C.value),class:T([i(h).e("count"),i(h).is("outside",e.wordLimitPosition==="outside")])},Se(q.value)+" / "+Se(e.maxlength),7)):te("v-if",!0)],64))],38))}}),jD=WD;const ea=rt(jD),UD=Ce({...gu,valueKey:{type:String,default:"value"},modelValue:{type:[String,Number],default:""},debounce:{type:Number,default:300},placement:{type:G(String),values:["top","top-start","top-end","bottom","bottom-start","bottom-end"],default:"bottom-start"},fetchSuggestions:{type:G([Function,Array]),default:Dt},popperClass:zt.popperClass,popperStyle:zt.popperStyle,triggerOnFocus:{type:Boolean,default:!0},selectWhenUnmatched:Boolean,hideLoading:Boolean,teleported:zt.teleported,appendTo:zt.appendTo,highlightFirstItem:Boolean,fitInputWidth:Boolean,loopNavigation:{type:Boolean,default:!0}}),qD={[at]:e=>Le(e)||He(e),[Sn]:e=>Le(e)||He(e),[yt]:e=>Le(e)||He(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,select:e=>ot(e)},YD=Ce({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:G([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...aa(["ariaLabel","ariaOrientation"])}),nk={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(He)},Vr=4,ak={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},GD=({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}),XD=Ce({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),im=Symbol("scrollbarContextKey"),JD=Ce({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),ZD="Thumb";var QD=se({__name:"thumb",props:XD,setup(e){const t=e,n=_e(im),a=fe("scrollbar");n||nn(ZD,"can not inject scrollbar context");const o=M(),s=M(),r=M({}),l=M(!1);let u=!1,c=!1,d=0,f=0,v=Mt?document.onselectstart:null;const g=w(()=>ak[t.vertical?"vertical":"horizontal"]),p=w(()=>GD({size:t.size,move:t.move,bar:g.value})),h=w(()=>o.value[g.value.offset]**2/n.wrapElement[g.value.scrollSize]/t.ratio/s.value[g.value.offset]),m=O=>{if(O.stopPropagation(),O.ctrlKey||[1,2].includes(O.button))return;window.getSelection()?.removeAllRanges(),k(O);const N=O.currentTarget;N&&(r.value[g.value.axis]=N[g.value.offset]-(O[g.value.client]-N.getBoundingClientRect()[g.value.direction]))},b=O=>{if(!s.value||!o.value||!n.wrapElement)return;const N=(Math.abs(O.target.getBoundingClientRect()[g.value.direction]-O[g.value.client])-s.value[g.value.offset]/2)*100*h.value/o.value[g.value.offset];n.wrapElement[g.value.scroll]=N*n.wrapElement[g.value.scrollSize]/100},k=O=>{O.stopImmediatePropagation(),u=!0,d=n.wrapElement.scrollHeight,f=n.wrapElement.scrollWidth,document.addEventListener("mousemove",y),document.addEventListener("mouseup",S),v=document.onselectstart,document.onselectstart=()=>!1},y=O=>{if(!o.value||!s.value||u===!1)return;const N=r.value[g.value.axis];if(!N)return;const R=((o.value.getBoundingClientRect()[g.value.direction]-O[g.value.client])*-1-(s.value[g.value.offset]-N))*100*h.value/o.value[g.value.offset];g.value.scroll==="scrollLeft"?n.wrapElement[g.value.scroll]=R*f/100:n.wrapElement[g.value.scroll]=R*d/100},S=()=>{u=!1,r.value[g.value.axis]=0,document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",S),$(),c&&(l.value=!1)},C=()=>{c=!1,l.value=!!t.size},E=()=>{c=!0,l.value=u};Bt(()=>{$(),document.removeEventListener("mouseup",S)});const $=()=>{document.onselectstart!==v&&(document.onselectstart=v)};return Ft(Vt(n,"scrollbarElement"),"mousemove",C),Ft(Vt(n,"scrollbarElement"),"mouseleave",E),(O,N)=>(x(),oe(Vn,{name:i(a).b("fade"),persisted:""},{default:J(()=>[ut(z("div",{ref_key:"instance",ref:o,class:T([i(a).e("bar"),i(a).is(g.value.key)]),onMousedown:b,onClick:N[0]||(N[0]=Xe(()=>{},["stop"]))},[z("div",{ref_key:"thumb",ref:s,class:T(i(a).e("thumb")),style:Ke(p.value),onMousedown:m},null,38)],34),[[Pt,e.always||l.value]])]),_:1},8,["name"]))}}),Ty=QD,eB=se({__name:"bar",props:JD,setup(e,{expose:t}){const n=e,a=_e(im),o=M(0),s=M(0),r=M(""),l=M(""),u=M(1),c=M(1);return t({handleScroll:v=>{if(v){const g=v.offsetHeight-Vr,p=v.offsetWidth-Vr;s.value=v.scrollTop*100/g*u.value,o.value=v.scrollLeft*100/p*c.value}},update:()=>{const v=a?.wrapElement;if(!v)return;const g=v.offsetHeight-Vr,p=v.offsetWidth-Vr,h=g**2/v.scrollHeight,m=p**2/v.scrollWidth,b=Math.max(h,n.minSize),k=Math.max(m,n.minSize);u.value=h/(g-h)/(b/(g-b)),c.value=m/(p-m)/(k/(p-k)),l.value=b+Vr(x(),B(Fe,null,[Y(Ty,{move:o.value,ratio:c.value,size:r.value,always:e.always},null,8,["move","ratio","size","always"]),Y(Ty,{move:s.value,ratio:u.value,size:l.value,vertical:"",always:e.always},null,8,["move","ratio","size","always"])],64))}}),tB=eB;const nB=["tabindex"],qf="ElScrollbar";var aB=se({name:qf,__name:"scrollbar",props:YD,emits:nk,setup(e,{expose:t,emit:n}){const a=e,o=n,s=fe("scrollbar");let r,l,u,c=0,d=0,f="";const v={bottom:!1,top:!1,right:!1,left:!1},g=M(),p=M(),h=M(),m=M(),b=w(()=>{const _={},V=ln(a.height),H=ln(a.maxHeight);return V&&(_.height=V),H&&(_.maxHeight=H),[a.wrapStyle,_]}),k=w(()=>[a.wrapClass,s.e("wrap"),{[s.em("wrap","hidden-default")]:!a.native}]),y=w(()=>[s.e("view"),a.viewClass]),S=_=>v[_]??!1,C={top:"bottom",bottom:"top",left:"right",right:"left"},E=_=>{const V=C[f];if(!V)return;const H=_[f],U=_[V];H&&!v[f]&&(v[f]=!0),!U&&v[V]&&(v[V]=!1)},$=()=>{if(p.value){m.value?.handleScroll(p.value);const _=c,V=d;c=p.value.scrollTop,d=p.value.scrollLeft;const H={bottom:c+p.value.clientHeight>=p.value.scrollHeight-a.distance,top:c<=a.distance&&_!==0,right:d+p.value.clientWidth>=p.value.scrollWidth-a.distance&&V!==d,left:d<=a.distance&&V!==0};if(o("scroll",{scrollTop:c,scrollLeft:d}),_!==c&&(f=c>_?"bottom":"top"),V!==d&&(f=d>V?"right":"left"),a.distance>0){if(S(f))return;E(H)}H[f]&&o("end-reached",f)}};function O(_,V){ot(_)?p.value.scrollTo(_):He(_)&&He(V)&&p.value.scrollTo(_,V)}const N=_=>{if(!He(_)){pt(qf,"value must be a number");return}p.value.scrollTop=_},R=_=>{if(!He(_)){pt(qf,"value must be a number");return}p.value.scrollLeft=_},A=()=>{m.value?.update(),v[f]=!1};return le(()=>a.noresize,_=>{_?(r?.(),l?.(),u?.()):({stop:r}=en(h,A),{stop:l}=en(p,A),u=Ft("resize",A))},{immediate:!0}),le(()=>[a.maxHeight,a.height],()=>{a.native||Re(()=>{A(),p.value&&m.value?.handleScroll(p.value)})}),St(im,At({scrollbarElement:g,wrapElement:p})),Gi(()=>{p.value&&(p.value.scrollTop=c,p.value.scrollLeft=d)}),ht(()=>{a.native||Re(()=>{A()})}),ro(()=>A()),t({wrapRef:p,update:A,scrollTo:O,setScrollTop:N,setScrollLeft:R,handleScroll:$}),(_,V)=>(x(),B("div",{ref_key:"scrollbarRef",ref:g,class:T(i(s).b())},[z("div",{ref_key:"wrapRef",ref:p,class:T(k.value),style:Ke(b.value),tabindex:e.tabindex,onScroll:$},[(x(),oe(it(e.tag),{id:e.id,ref_key:"resizeRef",ref:h,class:T(y.value),style:Ke(e.viewStyle),role:e.role,"aria-label":e.ariaLabel,"aria-orientation":e.ariaOrientation},{default:J(()=>[ee(_.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,nB),e.native?te("v-if",!0):(x(),oe(tB,{key:0,ref_key:"barRef",ref:m,always:e.always,"min-size":e.minSize},null,8,["always","min-size"]))],2))}}),oB=aB;const ao=rt(oB),sB=["aria-expanded","aria-owns"],rB={key:0},lB=["id","aria-selected","onClick"],$y="ElAutocomplete";var iB=se({name:$y,inheritAttrs:!1,__name:"autocomplete",props:UD,emits:qD,setup(e,{expose:t,emit:n}){const a=e,o=n,s=w(()=>ss(a,Object.keys(gu))),r=fs(),l=un(),u=fe("autocomplete"),c=M(),d=M(),f=M(),v=M();let g=!1,p=!1;const h=M([]),m=M(-1),b=M(""),k=M(!1),y=M(!1),S=M(!1),C=zn(),E=w(()=>r.style),$=w(()=>(h.value.length>0||S.value)&&k.value),O=w(()=>!a.hideLoading&&S.value),N=w(()=>c.value?Array.from(c.value.$el.querySelectorAll("input")):[]),R=()=>{$.value&&(b.value=`${c.value.$el.offsetWidth}px`)},A=()=>{m.value=-1},_=async ae=>{if(y.value)return;const ne=K=>{S.value=!1,!y.value&&(ye(K)?(h.value=K,m.value=a.highlightFirstItem?0:-1):nn($y,"autocomplete suggestions must be an array"))};if(S.value=!0,ye(a.fetchSuggestions))ne(a.fetchSuggestions);else{const K=await a.fetchSuggestions(ae,ne);ye(K)&&ne(K)}},V=ou(_,w(()=>a.debounce)),H=ae=>{const ne=!!ae;if(o(Sn,ae),o(at,ae),y.value=!1,k.value||=ne,!a.triggerOnFocus&&!ae){y.value=!0,h.value=[];return}V(ae)},U=ae=>{l.value||(ae.target?.tagName!=="INPUT"||N.value.includes(document.activeElement))&&(k.value=!0)},W=ae=>{o(yt,ae)},P=ae=>{if(p)p=!1;else{k.value=!0,o("focus",ae);const ne=a.modelValue??"";a.triggerOnFocus&&!g&&V(String(ne))}},I=ae=>{setTimeout(()=>{if(f.value?.isFocusInsideContent()){p=!0;return}k.value&&q(),o("blur",ae)})},L=()=>{k.value=!1,o(at,""),o("clear")},D=async()=>{c.value?.isComposing||($.value&&m.value>=0&&m.value{$.value&&(ae.preventDefault(),ae.stopPropagation(),q())},q=()=>{k.value=!1},j=()=>{c.value?.focus()},X=()=>{c.value?.blur()},Q=async ae=>{o(Sn,ae[a.valueKey]),o(at,ae[a.valueKey]),o("select",ae),h.value=[],m.value=-1},he=ae=>{if(!$.value||S.value)return;if(ae<0){if(!a.loopNavigation){m.value=-1;return}ae=h.value.length-1}ae>=h.value.length&&(ae=a.loopNavigation?0:h.value.length-1);const[ne,K]=ue(),Z=K[ae],re=ne.scrollTop,{offsetTop:ce,scrollHeight:ve}=Z;ce+ve>re+ne.clientHeight&&(ne.scrollTop=ce+ve-ne.clientHeight),ce{const ae=d.value.querySelector(`.${u.be("suggestion","wrap")}`);return[ae,ae.querySelectorAll(`.${u.be("suggestion","list")} li`)]},ge=Mv(v,ae=>{if(f.value?.isFocusInsideContent())return;const ne=p;p=!1,$.value&&(ne?I(new FocusEvent("blur",ae)):q())}),ie=ae=>{switch(jt(ae)){case we.up:ae.preventDefault(),he(m.value-1);break;case we.down:ae.preventDefault(),he(m.value+1);break;case we.enter:case we.numpadEnter:ae.preventDefault(),D();break;case we.tab:q();break;case we.esc:F(ae);break;case we.home:ae.preventDefault(),he(0);break;case we.end:ae.preventDefault(),he(h.value.length-1);break;case we.pageUp:ae.preventDefault(),he(Math.max(0,m.value-10));break;case we.pageDown:ae.preventDefault(),he(Math.min(h.value.length-1,m.value+10));break}};return Bt(()=>{ge?.()}),ht(()=>{const ae=c.value?.ref;ae&&([{key:"role",value:"textbox"},{key:"aria-autocomplete",value:"list"},{key:"aria-controls",value:C.value},{key:"aria-activedescendant",value:`${C.value}-item-${m.value}`}].forEach(({key:ne,value:K})=>ae.setAttribute(ne,K)),g=ae.hasAttribute("readonly"))}),t({highlightedIndex:m,activated:k,loading:S,inputRef:c,popperRef:f,suggestions:h,handleSelect:Q,handleKeyEnter:D,focus:j,blur:X,close:q,highlight:he,getData:_}),(ae,ne)=>(x(),oe(i(Ln),{ref_key:"popperRef",ref:f,visible:$.value,placement:e.placement,"fallback-placements":["bottom-start","top-start"],"popper-class":[i(u).e("popper"),e.popperClass],"popper-style":e.popperStyle,teleported:e.teleported,"append-to":e.appendTo,"gpu-acceleration":!1,pure:"","manual-mode":"",effect:"light",trigger:"click",transition:`${i(u).namespace.value}-zoom-in-top`,persistent:"",role:"listbox",onBeforeShow:R,onHide:A},{content:J(()=>[z("div",{ref_key:"regionRef",ref:d,class:T([i(u).b("suggestion"),i(u).is("loading",O.value)]),style:Ke({[e.fitInputWidth?"width":"minWidth"]:b.value,outline:"none"}),role:"region"},[ae.$slots.header?(x(),B("div",{key:0,class:T(i(u).be("suggestion","header")),onClick:ne[0]||(ne[0]=Xe(()=>{},["stop"]))},[ee(ae.$slots,"header")],2)):te("v-if",!0),Y(i(ao),{id:i(C),tag:"ul","wrap-class":i(u).be("suggestion","wrap"),"view-class":i(u).be("suggestion","list"),role:"listbox"},{default:J(()=>[O.value?(x(),B("li",rB,[ee(ae.$slots,"loading",{},()=>[Y(i(De),{class:T(i(u).is("loading"))},{default:J(()=>[Y(i(Ao))]),_:1},8,["class"])])])):(x(!0),B(Fe,{key:1},gt(h.value,(K,Z)=>(x(),B("li",{id:`${i(C)}-item-${Z}`,key:Z,class:T({highlighted:m.value===Z}),role:"option","aria-selected":m.value===Z,onClick:re=>Q(K)},[ee(ae.$slots,"default",{item:K},()=>[wt(Se(K[e.valueKey]),1)])],10,lB))),128))]),_:3},8,["id","wrap-class","view-class"]),ae.$slots.footer?(x(),B("div",{key:1,class:T(i(u).be("suggestion","footer")),onClick:ne[1]||(ne[1]=Xe(()=>{},["stop"]))},[ee(ae.$slots,"footer")],2)):te("v-if",!0)],6)]),default:J(()=>[z("div",{ref_key:"listboxRef",ref:v,class:T([i(u).b(),ae.$attrs.class]),style:Ke(E.value),role:"combobox","aria-haspopup":"listbox","aria-expanded":$.value,"aria-owns":i(C)},[Y(i(ea),dt({ref_key:"inputRef",ref:c},dt(s.value,ae.$attrs),{"model-value":e.modelValue,disabled:i(l),onInput:H,onChange:W,onFocus:P,onBlur:I,onClear:L,onKeydown:ie,onMousedown:U}),ua({_:2},[ae.$slots.prepend?{name:"prepend",fn:J(()=>[ee(ae.$slots,"prepend")]),key:"0"}:void 0,ae.$slots.append?{name:"append",fn:J(()=>[ee(ae.$slots,"append")]),key:"1"}:void 0,ae.$slots.prefix?{name:"prefix",fn:J(()=>[ee(ae.$slots,"prefix")]),key:"2"}:void 0,ae.$slots.suffix?{name:"suffix",fn:J(()=>[ee(ae.$slots,"suffix")]),key:"3"}:void 0]),1040,["model-value","disabled"])],14,sB)]),_:3},8,["visible","placement","popper-class","popper-style","teleported","append-to","transition"]))}}),uB=iB;const cB=rt(uB),dB=Ce({size:{type:[Number,String],values:lo,validator:e=>He(e)},shape:{type:String,values:["circle","square"]},icon:{type:Kt},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:G(String),default:"cover"}}),fB={error:e=>e instanceof Event},ok=Symbol("avatarGroupContextKey"),pB={size:{type:G([Number,String]),values:lo,validator:e=>He(e)},shape:{type:G(String),values:["circle","square"]},collapseAvatars:Boolean,collapseAvatarsTooltip:Boolean,maxCollapseAvatars:{type:Number,default:1},effect:{type:G(String),default:"light"},placement:{type:G(String),values:Do,default:"top"},popperClass:zt.popperClass,popperStyle:zt.popperStyle,collapseClass:String,collapseStyle:{type:G([String,Array,Object])}},hB=["src","alt","srcset"];var vB=se({name:"ElAvatar",__name:"avatar",props:dB,emits:fB,setup(e,{emit:t}){const n=e,a=t,o=_e(ok,void 0),s=fe("avatar"),r=M(!1),l=w(()=>n.size??o?.size),u=w(()=>n.shape??o?.shape??"circle"),c=w(()=>{const{icon:g}=n,p=[s.b()];return Le(l.value)&&p.push(s.m(l.value)),g&&p.push(s.m("icon")),u.value&&p.push(s.m(u.value)),p}),d=w(()=>He(l.value)?s.cssVarBlock({size:ln(l.value)}):void 0),f=w(()=>({objectFit:n.fit}));le(()=>[n.src,n.srcSet],()=>r.value=!1);function v(g){r.value=!0,a("error",g)}return(g,p)=>(x(),B("span",{class:T(c.value),style:Ke(d.value)},[(e.src||e.srcSet)&&!r.value?(x(),B("img",{key:0,src:e.src,alt:e.alt,srcset:e.srcSet,style:Ke(f.value),onError:v},null,44,hB)):e.icon?(x(),oe(i(De),{key:1},{default:J(()=>[(x(),oe(it(e.icon)))]),_:1})):ee(g.$slots,"default",{key:2})],6))}}),sk=vB,rk=se({name:"ElAvatarGroup",props:pB,setup(e,{slots:t}){const n=fe("avatar-group");return St(ok,At({size:Vt(e,"size"),shape:Vt(e,"shape")})),()=>{const a=Ta(t.default?.()??[]);let o=a;if(e.collapseAvatars&&a.length>e.maxCollapseAvatars){o=a.slice(0,e.maxCollapseAvatars);const s=a.slice(e.maxCollapseAvatars);o.push(Y(Ln,{popperClass:e.popperClass,popperStyle:e.popperStyle,placement:e.placement,effect:e.effect,disabled:!e.collapseAvatarsTooltip},{default:()=>Y(sk,{size:e.size,shape:e.shape,class:e.collapseClass,style:e.collapseStyle},{default:()=>[wt("+ "),s.length]}),content:()=>Y("div",{class:n.e("collapse-avatars")},[s.map((r,l)=>Ut(r)?Io(r,{key:r.key??l}):r)])}))}return Y("div",{class:n.b()},[o])}}});const mB=rt(sk,{AvatarGroup:rk}),gB=an(rk),bB={visibilityHeight:{type:Number,default:200},target:{type:String,default:""},right:{type:Number,default:40},bottom:{type:Number,default:40}},yB={click:e=>e instanceof MouseEvent},wB=(e,t,n)=>{const a=Xt(),o=Xt(),s=M(!1),r=()=>{a.value&&(s.value=a.value.scrollTop>=e.visibilityHeight)},l=u=>{a.value?.scrollTo({top:0,behavior:"smooth"}),t("click",u)};return Ft(o,"scroll",WS(r,300,!0)),ht(()=>{o.value=document,a.value=document.documentElement,e.target&&(a.value=document.querySelector(e.target)??void 0,a.value||nn(n,`target does not exist: ${e.target}`),o.value=a.value),r()}),{visible:s,handleClick:l}},Oy="ElBacktop";var SB=se({name:Oy,__name:"backtop",props:bB,emits:yB,setup(e,{emit:t}){const n=e,a=t,o=fe("backtop"),{handleClick:s,visible:r}=wB(n,a,Oy),l=w(()=>({right:`${n.right}px`,bottom:`${n.bottom}px`}));return(u,c)=>(x(),oe(Vn,{name:`${i(o).namespace.value}-fade-in`},{default:J(()=>[i(r)?(x(),B("div",{key:0,style:Ke(l.value),class:T(i(o).b()),onClick:c[0]||(c[0]=Xe((...d)=>i(s)&&i(s)(...d),["stop"]))},[ee(u.$slots,"default",{},()=>[Y(i(De),{class:T(i(o).e("icon"))},{default:J(()=>[Y(i(Y4))]),_:1},8,["class"])])],6)):te("v-if",!0)]),_:3},8,["name"]))}}),CB=SB;const kB=rt(CB),EB=Ce({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:G([String,Object,Array])},offset:{type:G(Array),default:()=>[0,0]},badgeClass:{type:String}});var xB=se({name:"ElBadge",__name:"badge",props:EB,setup(e,{expose:t}){const n=e,a=fe("badge"),o=w(()=>n.isDot?"":He(n.value)&&He(n.max)?n.max[{backgroundColor:n.color,marginRight:ln(-n.offset[0]),marginTop:ln(n.offset[1])},n.badgeStyle??{}]);return t({content:o}),(r,l)=>(x(),B("div",{class:T(i(a).b())},[ee(r.$slots,"default"),Y(Vn,{name:`${i(a).namespace.value}-zoom-in-center`},{default:J(()=>[!e.hidden&&(o.value||e.isDot||r.$slots.content)?(x(),B("sup",{key:0,class:T([i(a).e("content"),i(a).em("content",e.type),i(a).is("fixed",!!r.$slots.default),i(a).is("dot",e.isDot),i(a).is("hide-zero",!e.showZero&&e.value===0),e.badgeClass]),style:Ke(s.value)},[ee(r.$slots,"content",{value:o.value},()=>[wt(Se(o.value),1)])],6)):te("v-if",!0)]),_:3},8,["name"])],2))}}),TB=xB;const lk=rt(TB),$B=Ce({separator:{type:String,default:"/"},separatorIcon:{type:Kt}}),ik=Symbol("breadcrumbKey"),OB=Ce({to:{type:G([String,Object]),default:""},replace:Boolean}),RB=["aria-label"];var NB=se({name:"ElBreadcrumb",__name:"breadcrumb",props:$B,setup(e){const{t}=Ct(),n=e,a=fe("breadcrumb"),o=M();return St(ik,n),ht(()=>{const s=o.value.querySelectorAll(`.${a.e("item")}`);s.length&&s[s.length-1].setAttribute("aria-current","page")}),(s,r)=>(x(),B("div",{ref_key:"breadcrumb",ref:o,class:T(i(a).b()),"aria-label":i(t)("el.breadcrumb.label"),role:"navigation"},[ee(s.$slots,"default")],10,RB))}}),IB=NB,PB=se({name:"ElBreadcrumbItem",__name:"breadcrumb-item",props:OB,setup(e){const t=e,n=ft(),a=_e(ik,void 0),o=fe("breadcrumb"),s=n.appContext.config.globalProperties.$router,r=()=>{!t.to||!s||(t.replace?s.replace(t.to):s.push(t.to))};return(l,u)=>(x(),B("span",{class:T(i(o).e("item"))},[z("span",{class:T([i(o).e("inner"),i(o).is("link",!!e.to)]),role:"link",onClick:r},[ee(l.$slots,"default")],2),i(a)?.separatorIcon?(x(),oe(i(De),{key:0,class:T(i(o).e("separator"))},{default:J(()=>[(x(),oe(it(i(a).separatorIcon)))]),_:1},8,["class"])):(x(),B("span",{key:1,class:T(i(o).e("separator")),role:"presentation"},Se(i(a)?.separator),3))],2))}}),uk=PB;const MB=rt(IB,{BreadcrumbItem:uk}),_B=an(uk),Jp=["default","primary","success","warning","info","danger","text",""],AB=["button","submit","reset"],Zp=Ce({size:Tn,disabled:{type:Boolean,default:void 0},type:{type:String,values:Jp,default:""},icon:{type:Kt},nativeType:{type:String,values:AB,default:"button"},loading:Boolean,loadingIcon:{type:Kt,default:()=>Ao},plain:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:Boolean,bg:Boolean,autofocus:Boolean,round:{type:Boolean,default:void 0},circle:Boolean,dashed:{type:Boolean,default:void 0},color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:G([String,Object]),default:"button"}}),LB={click:e=>e instanceof MouseEvent},ck=Symbol(),td=M();function gs(e,t=void 0){const n=ft()?_e(ck,td):td;return e?w(()=>n.value?.[e]??t):n}function of(e,t){const n=gs(),a=fe(e,w(()=>n.value?.namespace||di)),o=Ct(w(()=>n.value?.locale)),s=uu(w(()=>n.value?.zIndex||bC)),r=w(()=>i(t)||n.value?.size||"");return um(w(()=>i(n)||{})),{ns:a,locale:o,zIndex:s,size:r}}const um=(e,t,n=!1)=>{const a=!!ft(),o=a?gs():void 0,s=t?.provide??(a?St:void 0);if(!s){pt("provideGlobalConfig","provideGlobalConfig() can only be used inside setup().");return}const r=w(()=>{const l=i(e);return o?.value?DB(o.value,l):l});return s(ck,r),s(QS,w(()=>r.value.locale)),s(eC,w(()=>r.value.namespace)),s(yC,w(()=>r.value.zIndex)),s(PC,{size:w(()=>r.value.size||"")}),s(_C,w(()=>({emptyValues:r.value.emptyValues,valueOnClear:r.value.valueOnClear}))),(n||!td.value)&&(td.value=r.value),r},DB=(e,t)=>{const n=[...new Set([...Oi(e),...Oi(t)])],a={};for(const o of n)a[o]=t[o]!==void 0?t[o]:e[o];return a},BB=Ce({a11y:{type:Boolean,default:!0},locale:{type:G(Object)},size:Tn,button:{type:G(Object)},card:{type:G(Object)},dialog:{type:G(Object)},link:{type:G(Object)},experimentalFeatures:{type:G(Object)},keyboardNavigation:{type:Boolean,default:!0},message:{type:G(Object)},zIndex:Number,namespace:{type:String,default:"el"},table:{type:G(Object)},...Pr}),Gn={placement:"top"},FB=se({name:"ElConfigProvider",props:BB,setup(e,{slots:t}){const n=um(e);return le(()=>e.message,a=>{Object.assign(Gn,n?.value?.message??{},a??{})},{immediate:!0,deep:!0}),()=>ee(t,"default",{config:n?.value})}}),VB=rt(FB),dk=Symbol("buttonGroupContextKey"),zB=(e,t)=>{To({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},w(()=>e.type==="text"));const n=_e(dk,void 0),a=gs("button"),{form:o}=Dn(),s=Cn(w(()=>n?.size)),r=un(),l=M(),u=vn(),c=w(()=>e.type||n?.type||a.value?.type||""),d=w(()=>e.autoInsertSpace??a.value?.autoInsertSpace??!1),f=w(()=>e.plain??a.value?.plain??!1),v=w(()=>e.round??a.value?.round??!1),g=w(()=>e.text??a.value?.text??!1),p=w(()=>e.dashed??a.value?.dashed??!1),h=w(()=>e.tag==="button"?{ariaDisabled:r.value||e.loading,disabled:r.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),m=w(()=>{const k=u.default?.();if(d.value&&k?.length===1){const y=k[0];if(y?.type===Ol){const S=y.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(S.trim())}}return!1});return{_disabled:r,_size:s,_type:c,_ref:l,_props:h,_plain:f,_round:v,_text:g,_dashed:p,shouldAddSpace:m,handleClick:k=>{if(r.value||e.loading){k.stopPropagation();return}e.nativeType==="reset"&&o?.resetFields(),t("click",k)}}};function jn(e,t){HB(e)&&(e="100%");const n=KB(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function Uu(e){return Math.min(1,Math.max(0,e))}function HB(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function KB(e){return typeof e=="string"&&e.indexOf("%")!==-1}function fk(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function qu(e){return Number(e)<=1?`${Number(e)*100}%`:e}function sr(e){return e.length===1?"0"+e:String(e)}function WB(e,t,n){return{r:jn(e,255)*255,g:jn(t,255)*255,b:jn(n,255)*255}}function Ry(e,t,n){e=jn(e,255),t=jn(t,255),n=jn(n,255);const a=Math.max(e,t,n),o=Math.min(e,t,n);let s=0,r=0;const l=(a+o)/2;if(a===o)r=0,s=0;else{const u=a-o;switch(r=l>.5?u/(2-a-o):u/(a+o),a){case e:s=(t-n)/u+(t1&&(n-=1),n<1/6?e+(t-e)*(6*n):n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function jB(e,t,n){let a,o,s;if(e=jn(e,360),t=jn(t,100),n=jn(n,100),t===0)o=n,s=n,a=n;else{const r=n<.5?n*(1+t):n+t-n*t,l=2*n-r;a=Yf(l,r,e+1/3),o=Yf(l,r,e),s=Yf(l,r,e-1/3)}return{r:a*255,g:o*255,b:s*255}}function Ny(e,t,n){e=jn(e,255),t=jn(t,255),n=jn(n,255);const a=Math.max(e,t,n),o=Math.min(e,t,n);let s=0;const r=a,l=a-o,u=a===0?0:l/a;if(a===o)s=0;else{switch(a){case e:s=(t-n)/l+(t>16,g:(e&65280)>>8,b:e&255}}const Qp={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function JB(e){let t={r:0,g:0,b:0},n=1,a=null,o=null,s=null,r=!1,l=!1;return typeof e=="string"&&(e=e8(e)),typeof e=="object"&&(Ca(e.r)&&Ca(e.g)&&Ca(e.b)?(t=WB(e.r,e.g,e.b),r=!0,l=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Ca(e.h)&&Ca(e.s)&&Ca(e.v)?(a=qu(e.s),o=qu(e.v),t=UB(e.h,a,o),r=!0,l="hsv"):Ca(e.h)&&Ca(e.s)&&Ca(e.l)?(a=qu(e.s),s=qu(e.l),t=jB(e.h,a,s),r=!0,l="hsl"):Ca(e.c)&&Ca(e.m)&&Ca(e.y)&&Ca(e.k)&&(t=YB(e.c,e.m,e.y,e.k),r=!0,l="cmyk"),Object.prototype.hasOwnProperty.call(e,"a")&&(n=e.a)),n=fk(n),{ok:r,format:e.format||l,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}const ZB="[-\\+]?\\d+%?",QB="[-\\+]?\\d*\\.\\d+%?",Is="(?:"+QB+")|(?:"+ZB+")",Gf="[\\s|\\(]+("+Is+")[,|\\s]+("+Is+")[,|\\s]+("+Is+")\\s*\\)?",Yu="[\\s|\\(]+("+Is+")[,|\\s]+("+Is+")[,|\\s]+("+Is+")[,|\\s]+("+Is+")\\s*\\)?",Aa={CSS_UNIT:new RegExp(Is),rgb:new RegExp("rgb"+Gf),rgba:new RegExp("rgba"+Yu),hsl:new RegExp("hsl"+Gf),hsla:new RegExp("hsla"+Yu),hsv:new RegExp("hsv"+Gf),hsva:new RegExp("hsva"+Yu),cmyk:new RegExp("cmyk"+Yu),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function e8(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;let t=!1;if(Qp[e])e=Qp[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};let n=Aa.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=Aa.rgba.exec(e),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Aa.hsl.exec(e),n?{h:n[1],s:n[2],l:n[3]}:(n=Aa.hsla.exec(e),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Aa.hsv.exec(e),n?{h:n[1],s:n[2],v:n[3]}:(n=Aa.hsva.exec(e),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Aa.cmyk.exec(e),n?{c:n[1],m:n[2],y:n[3],k:n[4]}:(n=Aa.hex8.exec(e),n?{r:ka(n[1]),g:ka(n[2]),b:ka(n[3]),a:My(n[4]),format:t?"name":"hex8"}:(n=Aa.hex6.exec(e),n?{r:ka(n[1]),g:ka(n[2]),b:ka(n[3]),format:t?"name":"hex"}:(n=Aa.hex4.exec(e),n?{r:ka(n[1]+n[1]),g:ka(n[2]+n[2]),b:ka(n[3]+n[3]),a:My(n[4]+n[4]),format:t?"name":"hex8"}:(n=Aa.hex3.exec(e),n?{r:ka(n[1]+n[1]),g:ka(n[2]+n[2]),b:ka(n[3]+n[3]),format:t?"name":"hex"}:!1))))))))))}function Ca(e){return typeof e=="number"?!Number.isNaN(e):Aa.CSS_UNIT.test(e)}class pn{constructor(t="",n={}){if(t instanceof pn)return t;typeof t=="number"&&(t=XB(t)),this.originalInput=t;const a=JB(t);this.originalInput=t,this.r=a.r,this.g=a.g,this.b=a.b,this.a=a.a,this.roundA=Math.round(100*this.a)/100,this.format=n.format??a.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=a.ok}isDark(){return this.getBrightness()<128}isLight(){return!this.isDark()}getBrightness(){const t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3}getLuminance(){const t=this.toRgb();let n,a,o;const s=t.r/255,r=t.g/255,l=t.b/255;return s<=.03928?n=s/12.92:n=Math.pow((s+.055)/1.055,2.4),r<=.03928?a=r/12.92:a=Math.pow((r+.055)/1.055,2.4),l<=.03928?o=l/12.92:o=Math.pow((l+.055)/1.055,2.4),.2126*n+.7152*a+.0722*o}getAlpha(){return this.a}setAlpha(t){return this.a=fk(t),this.roundA=Math.round(100*this.a)/100,this}isMonochrome(){const{s:t}=this.toHsl();return t===0}toHsv(){const t=Ny(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}}toHsvString(){const t=Ny(this.r,this.g,this.b),n=Math.round(t.h*360),a=Math.round(t.s*100),o=Math.round(t.v*100);return this.a===1?`hsv(${n}, ${a}%, ${o}%)`:`hsva(${n}, ${a}%, ${o}%, ${this.roundA})`}toHsl(){const t=Ry(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}}toHslString(){const t=Ry(this.r,this.g,this.b),n=Math.round(t.h*360),a=Math.round(t.s*100),o=Math.round(t.l*100);return this.a===1?`hsl(${n}, ${a}%, ${o}%)`:`hsla(${n}, ${a}%, ${o}%, ${this.roundA})`}toHex(t=!1){return Iy(this.r,this.g,this.b,t)}toHexString(t=!1){return"#"+this.toHex(t)}toHex8(t=!1){return qB(this.r,this.g,this.b,this.a,t)}toHex8String(t=!1){return"#"+this.toHex8(t)}toHexShortString(t=!1){return this.a===1?this.toHexString(t):this.toHex8String(t)}toRgb(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}}toRgbString(){const t=Math.round(this.r),n=Math.round(this.g),a=Math.round(this.b);return this.a===1?`rgb(${t}, ${n}, ${a})`:`rgba(${t}, ${n}, ${a}, ${this.roundA})`}toPercentageRgb(){const t=n=>`${Math.round(jn(n,255)*100)}%`;return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}}toPercentageRgbString(){const t=n=>Math.round(jn(n,255)*100);return this.a===1?`rgb(${t(this.r)}%, ${t(this.g)}%, ${t(this.b)}%)`:`rgba(${t(this.r)}%, ${t(this.g)}%, ${t(this.b)}%, ${this.roundA})`}toCmyk(){return{...Py(this.r,this.g,this.b)}}toCmykString(){const{c:t,m:n,y:a,k:o}=Py(this.r,this.g,this.b);return`cmyk(${t}, ${n}, ${a}, ${o})`}toName(){if(this.a===0)return"transparent";if(this.a<1)return!1;const t="#"+Iy(this.r,this.g,this.b,!1);for(const[n,a]of Object.entries(Qp))if(t===a)return n;return!1}toString(t){const n=!!t;t=t??this.format;let a=!1;const o=this.a<1&&this.a>=0;return!n&&o&&(t.startsWith("hex")||t==="name")?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(a=this.toRgbString()),t==="prgb"&&(a=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(a=this.toHexString()),t==="hex3"&&(a=this.toHexString(!0)),t==="hex4"&&(a=this.toHex8String(!0)),t==="hex8"&&(a=this.toHex8String()),t==="name"&&(a=this.toName()),t==="hsl"&&(a=this.toHslString()),t==="hsv"&&(a=this.toHsvString()),t==="cmyk"&&(a=this.toCmykString()),a||this.toHexString())}toNumber(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)}clone(){return new pn(this.toString())}lighten(t=10){const n=this.toHsl();return n.l+=t/100,n.l=Uu(n.l),new pn(n)}brighten(t=10){const n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(t/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(t/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(t/100)))),new pn(n)}darken(t=10){const n=this.toHsl();return n.l-=t/100,n.l=Uu(n.l),new pn(n)}tint(t=10){return this.mix("white",t)}shade(t=10){return this.mix("black",t)}desaturate(t=10){const n=this.toHsl();return n.s-=t/100,n.s=Uu(n.s),new pn(n)}saturate(t=10){const n=this.toHsl();return n.s+=t/100,n.s=Uu(n.s),new pn(n)}greyscale(){return this.desaturate(100)}spin(t){const n=this.toHsl(),a=(n.h+t)%360;return n.h=a<0?360+a:a,new pn(n)}mix(t,n=50){const a=this.toRgb(),o=new pn(t).toRgb(),s=n/100,r={r:(o.r-a.r)*s+a.r,g:(o.g-a.g)*s+a.g,b:(o.b-a.b)*s+a.b,a:(o.a-a.a)*s+a.a};return new pn(r)}analogous(t=6,n=30){const a=this.toHsl(),o=360/n,s=[this];for(a.h=(a.h-(o*t>>1)+720)%360;--t;)a.h=(a.h+o)%360,s.push(new pn(a));return s}complement(){const t=this.toHsl();return t.h=(t.h+180)%360,new pn(t)}monochromatic(t=6){const n=this.toHsv(),{h:a}=n,{s:o}=n;let{v:s}=n;const r=[],l=1/t;for(;t--;)r.push(new pn({h:a,s:o,v:s})),s=(s+l)%1;return r}splitcomplement(){const t=this.toHsl(),{h:n}=t;return[this,new pn({h:(n+72)%360,s:t.s,l:t.l}),new pn({h:(n+216)%360,s:t.s,l:t.l})]}onBackground(t){const n=this.toRgb(),a=new pn(t).toRgb(),o=n.a+a.a*(1-n.a);return new pn({r:(n.r*n.a+a.r*a.a*(1-n.a))/o,g:(n.g*n.a+a.g*a.a*(1-n.a))/o,b:(n.b*n.a+a.b*a.a*(1-n.a))/o,a:o})}triad(){return this.polyad(3)}tetrad(){return this.polyad(4)}polyad(t){const n=this.toHsl(),{h:a}=n,o=[this],s=360/t;for(let r=1;r{let a={},o=e.color;if(o){const s=o.match(/var\((.*?)\)/);s&&(o=window.getComputedStyle(window.document.documentElement).getPropertyValue(s[1]));const r=new pn(o),l=e.dark?r.tint(20).toString():ws(r,20);if(e.plain)a=n.cssVarBlock({"bg-color":e.dark?ws(r,90):r.tint(90).toString(),"text-color":o,"border-color":e.dark?ws(r,50):r.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":o,"hover-border-color":o,"active-bg-color":l,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":l}),t.value&&(a[n.cssVarBlockName("disabled-bg-color")]=e.dark?ws(r,90):r.tint(90).toString(),a[n.cssVarBlockName("disabled-text-color")]=e.dark?ws(r,50):r.tint(50).toString(),a[n.cssVarBlockName("disabled-border-color")]=e.dark?ws(r,80):r.tint(80).toString());else{const u=e.dark?ws(r,30):r.tint(30).toString(),c=r.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(a=n.cssVarBlock({"bg-color":o,"text-color":c,"border-color":o,"hover-bg-color":u,"hover-text-color":c,"hover-border-color":u,"active-bg-color":l,"active-border-color":l}),t.value){const d=e.dark?ws(r,50):r.tint(50).toString();a[n.cssVarBlockName("disabled-bg-color")]=d,a[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,a[n.cssVarBlockName("disabled-border-color")]=d}}}return a})}var n8=se({name:"ElButton",__name:"button",props:Zp,emits:LB,setup(e,{expose:t,emit:n}){const a=e,o=n,s=t8(a),r=fe("button"),{_ref:l,_size:u,_type:c,_disabled:d,_props:f,_plain:v,_round:g,_text:p,_dashed:h,shouldAddSpace:m,handleClick:b}=zB(a,o),k=w(()=>[r.b(),r.m(c.value),r.m(u.value),r.is("disabled",d.value),r.is("loading",a.loading),r.is("plain",v.value),r.is("round",g.value),r.is("circle",a.circle),r.is("text",p.value),r.is("dashed",h.value),r.is("link",a.link),r.is("has-bg",a.bg)]);return t({ref:l,size:u,type:c,disabled:d,shouldAddSpace:m}),(y,S)=>(x(),oe(it(e.tag),dt({ref_key:"_ref",ref:l},i(f),{class:k.value,style:i(s),onClick:i(b)}),{default:J(()=>[e.loading?(x(),B(Fe,{key:0},[y.$slots.loading?ee(y.$slots,"loading",{key:0}):(x(),oe(i(De),{key:1,class:T(i(r).is("loading"))},{default:J(()=>[(x(),oe(it(e.loadingIcon)))]),_:1},8,["class"]))],64)):e.icon||y.$slots.icon?(x(),oe(i(De),{key:1},{default:J(()=>[e.icon?(x(),oe(it(e.icon),{key:0})):ee(y.$slots,"icon",{key:1})]),_:3})):te("v-if",!0),y.$slots.default?(x(),B("span",{key:2,class:T({[i(r).em("text","expand")]:i(m)})},[ee(y.$slots,"default")],2)):te("v-if",!0)]),_:3},16,["class","style","onClick"]))}}),a8=n8;const o8={size:Zp.size,type:Zp.type,direction:{type:G(String),values:["horizontal","vertical"],default:"horizontal"}};var s8=se({name:"ElButtonGroup",__name:"button-group",props:o8,setup(e){const t=e;St(dk,At({size:Vt(t,"size"),type:Vt(t,"type")}));const n=fe("button");return(a,o)=>(x(),B("div",{class:T([i(n).b("group"),i(n).bm("group",t.direction)])},[ee(a.$slots,"default")],2))}}),pk=s8;const In=rt(a8,{ButtonGroup:pk}),hk=an(pk),r8=e=>ye(e)&&e.length===2&&e.every(t=>As(t)),l8=Ce({modelValue:{type:Date},range:{type:G(Array),validator:r8},controllerType:{type:String,values:["button","select"],default:"button"},formatter:{type:G(Function)}}),i8={[at]:e=>As(e),[Sn]:e=>As(e)},_y=["hours","minutes","seconds"],oo="EP_PICKER_BASE",cm="ElPopperOptions",vk=Symbol("commonPickerContextKey"),wl="HH:mm:ss",Os="YYYY-MM-DD",u8={date:Os,dates:Os,week:"gggg[w]ww",year:"YYYY",years:"YYYY",month:"YYYY-MM",months:"YYYY-MM",datetime:`${Os} ${wl}`,monthrange:"YYYY-MM",yearrange:"YYYY",daterange:Os,datetimerange:`${Os} ${wl}`};function bs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var pc={exports:{}},c8=pc.exports,Ay;function d8(){return Ay||(Ay=1,(function(e,t){(function(n,a){e.exports=a()})(c8,(function(){var n=1e3,a=6e4,o=36e5,s="millisecond",r="second",l="minute",u="hour",c="day",d="week",f="month",v="quarter",g="year",p="date",h="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,b=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,k={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(H){var U=["th","st","nd","rd"],W=H%100;return"["+H+(U[(W-20)%10]||U[W]||U[0])+"]"}},y=function(H,U,W){var P=String(H);return!P||P.length>=U?H:""+Array(U+1-P.length).join(W)+H},S={s:y,z:function(H){var U=-H.utcOffset(),W=Math.abs(U),P=Math.floor(W/60),I=W%60;return(U<=0?"+":"-")+y(P,2,"0")+":"+y(I,2,"0")},m:function H(U,W){if(U.date()1)return H(D[0])}else{var F=U.name;E[F]=U,I=F}return!P&&I&&(C=I),I||!P&&C},R=function(H,U){if(O(H))return H.clone();var W=typeof U=="object"?U:{};return W.date=H,W.args=arguments,new _(W)},A=S;A.l=N,A.i=O,A.w=function(H,U){return R(H,{locale:U.$L,utc:U.$u,x:U.$x,$offset:U.$offset})};var _=(function(){function H(W){this.$L=N(W.locale,null,!0),this.parse(W),this.$x=this.$x||W.x||{},this[$]=!0}var U=H.prototype;return U.parse=function(W){this.$d=(function(P){var I=P.date,L=P.utc;if(I===null)return new Date(NaN);if(A.u(I))return new Date;if(I instanceof Date)return new Date(I);if(typeof I=="string"&&!/Z$/i.test(I)){var D=I.match(m);if(D){var F=D[2]-1||0,q=(D[7]||"0").substring(0,3);return L?new Date(Date.UTC(D[1],F,D[3]||1,D[4]||0,D[5]||0,D[6]||0,q)):new Date(D[1],F,D[3]||1,D[4]||0,D[5]||0,D[6]||0,q)}}return new Date(I)})(W),this.init()},U.init=function(){var W=this.$d;this.$y=W.getFullYear(),this.$M=W.getMonth(),this.$D=W.getDate(),this.$W=W.getDay(),this.$H=W.getHours(),this.$m=W.getMinutes(),this.$s=W.getSeconds(),this.$ms=W.getMilliseconds()},U.$utils=function(){return A},U.isValid=function(){return this.$d.toString()!==h},U.isSame=function(W,P){var I=R(W);return this.startOf(P)<=I&&I<=this.endOf(P)},U.isAfter=function(W,P){return R(W)[e>0?e-1:void 0,e,eArray.from(Array.from({length:e}).keys()),mk=e=>e.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim(),gk=e=>e.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g,"").trim(),Ly=function(e,t){const n=As(e),a=As(t);return n&&a?e.getTime()===t.getTime():!n&&!a?e===t:!1},bk=function(e,t){const n=ye(e),a=ye(t);return n&&a?e.length!==t.length?!1:e.every((o,s)=>Ly(o,t[s])):!n&&!a?Ly(e,t):!1},Dy=function(e,t,n){const a=ia(t)||t==="x"?st(e).locale(n):st(e,t).locale(n);return a.isValid()?a:void 0},By=function(e,t,n){return ia(t)?e:t==="x"?+e:st(e).locale(n).format(t)},Jf=(e,t)=>{const n=[],a=t?.();for(let o=0;oye(e)?e.map(t=>t.toDate()):e.toDate(),dm=Ce({disabledHours:{type:G(Function)},disabledMinutes:{type:G(Function)},disabledSeconds:{type:G(Function)}}),yk=Ce({visible:Boolean,actualVisible:{type:Boolean,default:void 0},format:{type:String,default:""}}),fm=Ce({automaticDropdown:{type:Boolean,default:!0},id:{type:G([Array,String])},name:{type:G([Array,String])},popperClass:zt.popperClass,popperStyle:zt.popperStyle,format:String,valueFormat:String,dateFormat:String,timeFormat:String,type:{type:String,default:""},clearable:{type:Boolean,default:!0},clearIcon:{type:G([String,Object]),default:Vo},editable:{type:Boolean,default:!0},saveOnBlur:{type:Boolean,default:!0},prefixIcon:{type:G([String,Object]),default:""},size:Tn,readonly:Boolean,disabled:{type:Boolean,default:void 0},placeholder:{type:String,default:""},popperOptions:{type:G(Object),default:()=>({})},modelValue:{type:G([Date,Array,String,Number]),default:""},rangeSeparator:{type:String,default:"-"},startPlaceholder:String,endPlaceholder:String,defaultValue:{type:G([Date,Array])},defaultTime:{type:G([Date,Array])},isRange:Boolean,...dm,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,tabindex:{type:G([String,Number]),default:0},validateEvent:{type:Boolean,default:!0},unlinkPanels:Boolean,placement:{type:G(String),values:Do,default:"bottom"},fallbackPlacements:{type:G(Array),default:["bottom","top","right","left"]},...Pr,...aa(["ariaLabel"]),showNow:{type:Boolean,default:!0},showConfirm:{type:Boolean,default:!0},showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean}),p8=Ce({id:{type:G(Array)},name:{type:G(Array)},modelValue:{type:G([Array,String])},startPlaceholder:String,endPlaceholder:String,disabled:Boolean}),wk=(e,t)=>{const{lang:n}=Ct(),a=M(!1),o=M(!1),s=M(null),r=w(()=>{const{modelValue:p}=e;return!p||ye(p)&&!p.filter(Boolean).length}),l=p=>{if(!bk(e.modelValue,p)){let h;ye(p)?h=p.map(m=>By(m,e.valueFormat,n.value)):p&&(h=By(p,e.valueFormat,n.value)),t(at,p&&h,n.value)}},u=w(()=>{let p;if(r.value?c.value.getDefaultValue&&(p=c.value.getDefaultValue()):ye(e.modelValue)?p=e.modelValue.map(h=>Dy(h,e.valueFormat,n.value)):p=Dy(e.modelValue??"",e.valueFormat,n.value),c.value.getRangeAvailableTime){const h=c.value.getRangeAvailableTime(p);sn(h,p)||(p=h,r.value||l(hc(p)))}return ye(p)&&p.some(h=>!h)&&(p=[]),p}),c=M({});return{parsedValue:u,pickerActualVisible:o,pickerOptions:c,pickerVisible:a,userInput:s,valueIsEmpty:r,emitInput:l,onCalendarChange:p=>{t("calendar-change",p)},onPanelChange:(p,h,m)=>{t("panel-change",p,h,m)},onPick:(p="",h=!1)=>{a.value=h;let m;ye(p)?m=p.map(b=>b.toDate()):m=p&&p.toDate(),s.value=null,l(m)},onSetPickerOption:p=>{c.value[p[0]]=p[1],c.value.panelReady=!0}}},h8=["id","name","placeholder","value","disabled"],v8=["id","name","placeholder","value","disabled"];var m8=se({name:"PickerRangeTrigger",inheritAttrs:!1,__name:"picker-range-trigger",props:p8,emits:["mouseenter","mouseleave","click","touchstart","focus","blur","startInput","endInput","startChange","endChange"],setup(e,{expose:t,emit:n}){const a=e,o=n,{formItem:s}=Dn(),{inputId:r}=Ia(At({id:w(()=>a.id?.[0])}),{formItemContext:s}),l=Wd(),u=fe("date"),c=fe("range"),d=M(),f=M(),{wrapperRef:v,isFocused:g}=ms(d,{disabled:w(()=>a.disabled)}),p=O=>{o("click",O)},h=O=>{o("mouseenter",O)},m=O=>{o("mouseleave",O)},b=O=>{o("touchstart",O)},k=O=>{o("startInput",O)},y=O=>{o("endInput",O)},S=O=>{o("startChange",O)},C=O=>{o("endChange",O)};return t({focus:()=>{d.value?.focus()},blur:()=>{d.value?.blur(),f.value?.blur()}}),(O,N)=>(x(),B("div",{ref_key:"wrapperRef",ref:v,class:T([i(u).is("active",i(g)),O.$attrs.class]),style:Ke(O.$attrs.style),onClick:p,onMouseenter:h,onMouseleave:m,onTouchstartPassive:b},[ee(O.$slots,"prefix"),z("input",dt(i(l),{id:i(r),ref_key:"inputRef",ref:d,name:O.name&&O.name[0],placeholder:O.startPlaceholder,value:O.modelValue&&O.modelValue[0],class:i(c).b("input"),disabled:O.disabled,onInput:k,onChange:S}),null,16,h8),ee(O.$slots,"range-separator"),z("input",dt(i(l),{id:O.id&&O.id[1],ref_key:"endInputRef",ref:f,name:O.name&&O.name[1],placeholder:O.endPlaceholder,value:O.modelValue&&O.modelValue[1],class:i(c).b("input"),disabled:O.disabled,onInput:y,onChange:C}),null,16,v8),ee(O.$slots,"suffix")],38))}}),g8=m8,b8=se({name:"Picker",__name:"picker",props:fm,emits:[at,yt,"focus","blur","clear","calendar-change","panel-change","visible-change","keydown"],setup(e,{expose:t,emit:n}){const a=e,o=n,s=fs(),r=fe("date"),l=fe("input"),u=fe("range"),{formItem:c}=Dn(),d=_e(cm,{}),f=hu(a,null),v=M(),g=M(),p=M(null);let h=!1;const m=un(),b=wk(a,o),{parsedValue:k,pickerActualVisible:y,userInput:S,pickerVisible:C,pickerOptions:E,valueIsEmpty:$,emitInput:O,onPick:N,onSetPickerOption:R,onCalendarChange:A,onPanelChange:_}=b,{isFocused:V,handleFocus:H,handleBlur:U}=ms(g,{disabled:m,beforeFocus(){return a.readonly},afterFocus(){a.automaticDropdown&&(C.value=!0)},beforeBlur(de){return!h&&v.value?.isFocusInsideContent(de)},afterBlur(){ae.value&&!a.saveOnBlur?$.value||E.value.handleCancel?.():We(),C.value=!1,h=!1,a.validateEvent&&c?.validate("blur").catch(de=>pt(de))}}),W=M(!1),P=w(()=>[r.b("editor"),r.bm("editor",a.type),l.e("wrapper"),r.is("disabled",m.value),r.is("active",C.value),u.b("editor"),Ee?u.bm("editor",Ee.value):"",s.class]),I=w(()=>[l.e("icon"),u.e("close-icon"),ce.value?"":u.em("close-icon","hidden")]);le(C,de=>{de?Re(()=>{de&&(p.value=a.modelValue)}):(S.value=null,Re(()=>{L(a.modelValue)}))});const L=(de,Ge)=>{(Ge||!bk(de,p.value))&&(o(yt,de),Ge&&(p.value=de),a.validateEvent&&c?.validate("change").catch($t=>pt($t)))},D=de=>{o("keydown",de)},F=w(()=>g.value?Array.from(g.value.$el.querySelectorAll("input")):[]),q=(de,Ge,$t)=>{const tn=F.value;tn.length&&(!$t||$t==="min"?(tn[0].setSelectionRange(de,Ge),tn[0].focus()):$t==="max"&&(tn[1].setSelectionRange(de,Ge),tn[1].focus()))},j=()=>{y.value=!0},X=()=>{o("visible-change",!0)},Q=()=>{y.value=!1,C.value=!1,o("visible-change",!1)},he=()=>{C.value=!0},ue=()=>{C.value=!1},ge=w(()=>{const de=Pe(k.value);return ye(S.value)?[S.value[0]||de&&de[0]||"",S.value[1]||de&&de[1]||""]:S.value!==null?S.value:ae.value&&$.value&&!a.saveOnBlur||!ae.value&&$.value||!C.value&&$.value?"":de?ne.value||K.value||Z.value?de.join(", "):de:""}),ie=w(()=>a.type.includes("time")),ae=w(()=>a.type.startsWith("time")),ne=w(()=>a.type==="dates"),K=w(()=>a.type==="months"),Z=w(()=>a.type==="years"),re=w(()=>a.prefixIcon||(ie.value?BC:j4)),ce=w(()=>a.clearable&&!m.value&&!a.readonly&&!$.value&&(W.value||V.value)),ve=de=>{a.readonly||m.value||(ce.value&&(de?.stopPropagation(),E.value.handleClear?E.value.handleClear():O(f.valueOnClear.value),L(f.valueOnClear.value,!0),Q()),o("clear"))},ke=async de=>{a.readonly||m.value||(de.target?.tagName!=="INPUT"||V.value||!a.automaticDropdown)&&(C.value=!0)},Ne=()=>{a.readonly||m.value||!$.value&&a.clearable&&(W.value=!0)},Ie=()=>{W.value=!1},$e=de=>{a.readonly||m.value||(de.touches[0].target?.tagName!=="INPUT"||V.value||!a.automaticDropdown)&&(C.value=!0)},pe=w(()=>a.type.includes("range")),Ee=Cn(),me=w(()=>i(v)?.popperRef?.contentRef),Me=Mv(g,de=>{const Ge=i(me),$t=xn(g);Ge&&(de.target===Ge||de.composedPath().includes(Ge))||de.target===$t||$t&&de.composedPath().includes($t)||(C.value=!1)});Bt(()=>{Me?.()});const We=()=>{if(!(ae.value&&!a.saveOnBlur)){if(S.value){const de=Ze(ge.value);de&&(Ae(de)&&O(hc(de)),S.value=null)}S.value===""&&(O(f.valueOnClear.value),L(f.valueOnClear.value,!0),S.value=null)}},Ze=de=>de?E.value.parseUserInput(de):null,Pe=de=>de?ye(de)?de.map(Ge=>Ge.format(a.format)):de.format(a.format):null,Ae=de=>E.value.isValidValue(de),je=async de=>{if(a.readonly||m.value)return;const Ge=jt(de);if(D(de),Ge===we.esc){C.value===!0&&(C.value=!1,de.preventDefault(),de.stopPropagation());return}if(Ge===we.down&&(E.value.handleFocusPicker&&(de.preventDefault(),de.stopPropagation()),C.value===!1&&(C.value=!0,await Re()),E.value.handleFocusPicker)){E.value.handleFocusPicker();return}if(Ge===we.tab){h=!0;return}if(Ge===we.enter||Ge===we.numpadEnter){C.value?(S.value===null||S.value===""||Ae(Ze(ge.value)))&&(We(),C.value=!1):C.value=!0,de.preventDefault(),de.stopPropagation();return}if(S.value){de.stopPropagation();return}E.value.handleKeydownInput&&E.value.handleKeydownInput(de)},Rt=de=>{S.value=de,C.value||(C.value=!0)},Ue=de=>{const Ge=de.target;S.value?S.value=[Ge.value,S.value[1]]:S.value=[Ge.value,null]},lt=de=>{const Ge=de.target;S.value?S.value=[S.value[0],Ge.value]:S.value=[null,Ge.value]},mt=()=>{const de=S.value,Ge=Ze(de&&de[0]),$t=i(k);if(Ge&&Ge.isValid()){S.value=[Pe(Ge),ge.value?.[1]||null];const tn=[Ge,$t&&($t[1]||null)];Ae(tn)&&(O(hc(tn)),S.value=null)}},kt=()=>{const de=i(S),Ge=Ze(de&&de[1]),$t=i(k);if(Ge&&Ge.isValid()){S.value=[i(ge)?.[0]||null,Pe(Ge)];const tn=[$t&&$t[0],Ge];Ae(tn)&&(O(hc(tn)),S.value=null)}},be=()=>{g.value?.focus()},ze=()=>{g.value?.blur()};return St(oo,{props:a,emptyValues:f}),St(vk,b),t({focus:be,blur:ze,handleOpen:he,handleClose:ue,onPick:N}),(de,Ge)=>(x(),oe(i(Ln),dt({ref_key:"refPopper",ref:v,visible:i(C),effect:"light",pure:"",trigger:"click"},de.$attrs,{role:"dialog",teleported:"",transition:`${i(r).namespace.value}-zoom-in-top`,"popper-class":[`${i(r).namespace.value}-picker__popper`,de.popperClass],"popper-style":de.popperStyle,"popper-options":i(d),"fallback-placements":de.fallbackPlacements,"gpu-acceleration":!1,placement:de.placement,"stop-popper-mouse-event":!1,"hide-after":0,persistent:"",onBeforeShow:j,onShow:X,onHide:Q}),{default:J(()=>[pe.value?(x(),oe(g8,{key:1,id:de.id,ref_key:"inputRef",ref:g,"model-value":ge.value,name:de.name,disabled:i(m),readonly:!de.editable||de.readonly,"start-placeholder":de.startPlaceholder,"end-placeholder":de.endPlaceholder,class:T(P.value),style:Ke(de.$attrs.style),"aria-label":de.ariaLabel,tabindex:de.tabindex,autocomplete:"off",role:"combobox",onClick:ke,onFocus:i(H),onBlur:i(U),onStartInput:Ue,onStartChange:mt,onEndInput:lt,onEndChange:kt,onMousedown:ke,onMouseenter:Ne,onMouseleave:Ie,onTouchstartPassive:$e,onKeydown:je},{prefix:J(()=>[re.value?(x(),oe(i(De),{key:0,class:T([i(l).e("icon"),i(u).e("icon")])},{default:J(()=>[(x(),oe(it(re.value)))]),_:1},8,["class"])):te("v-if",!0)]),"range-separator":J(()=>[ee(de.$slots,"range-separator",{},()=>[z("span",{class:T(i(u).b("separator"))},Se(de.rangeSeparator),3)])]),suffix:J(()=>[de.clearIcon?(x(),oe(i(De),{key:0,class:T(I.value),onMousedown:Xe(i(Dt),["prevent"]),onClick:ve},{default:J(()=>[(x(),oe(it(de.clearIcon)))]),_:1},8,["class","onMousedown"])):te("v-if",!0)]),_:3},8,["id","model-value","name","disabled","readonly","start-placeholder","end-placeholder","class","style","aria-label","tabindex","onFocus","onBlur"])):(x(),oe(i(ea),{key:0,id:de.id,ref_key:"inputRef",ref:g,"container-role":"combobox","model-value":ge.value,name:de.name,size:i(Ee),disabled:i(m),placeholder:de.placeholder,class:T([i(r).b("editor"),i(r).bm("editor",de.type),i(r).is("focus",i(C)),de.$attrs.class]),style:Ke(de.$attrs.style),readonly:!de.editable||de.readonly||ne.value||K.value||Z.value||de.type==="week","aria-label":de.ariaLabel,tabindex:de.tabindex,"validate-event":!1,onInput:Rt,onFocus:i(H),onBlur:i(U),onKeydown:je,onChange:We,onMousedown:ke,onMouseenter:Ne,onMouseleave:Ie,onTouchstartPassive:$e,onClick:Ge[0]||(Ge[0]=Xe(()=>{},["stop"]))},{prefix:J(()=>[re.value?(x(),oe(i(De),{key:0,class:T(i(l).e("icon")),onMousedown:Xe(ke,["prevent"]),onTouchstartPassive:$e},{default:J(()=>[(x(),oe(it(re.value)))]),_:1},8,["class"])):te("v-if",!0)]),suffix:J(()=>[ce.value&&de.clearIcon?(x(),oe(i(De),{key:0,class:T(`${i(l).e("icon")} clear-icon`),onMousedown:Xe(i(Dt),["prevent"]),onClick:ve},{default:J(()=>[(x(),oe(it(de.clearIcon)))]),_:1},8,["class","onMousedown"])):te("v-if",!0)]),_:1},8,["id","model-value","name","size","disabled","placeholder","class","style","readonly","aria-label","tabindex","onFocus","onBlur"]))]),content:J(()=>[ee(de.$slots,"default",{visible:i(C),actualVisible:i(y),parsedValue:i(k),format:de.format,dateFormat:de.dateFormat,timeFormat:de.timeFormat,unlinkPanels:de.unlinkPanels,type:de.type,defaultValue:de.defaultValue,showNow:de.showNow,showConfirm:de.showConfirm,showFooter:de.showFooter,showWeekNumber:de.showWeekNumber,onPick:Ge[1]||(Ge[1]=(...$t)=>i(N)&&i(N)(...$t)),onSelectRange:q,onSetPickerOption:Ge[2]||(Ge[2]=(...$t)=>i(R)&&i(R)(...$t)),onCalendarChange:Ge[3]||(Ge[3]=(...$t)=>i(A)&&i(A)(...$t)),onClear:ve,onPanelChange:Ge[4]||(Ge[4]=(...$t)=>i(_)&&i(_)(...$t)),onMousedown:Ge[5]||(Ge[5]=Xe(()=>{},["stop"]))})]),_:3},16,["visible","transition","popper-class","popper-style","popper-options","fallback-placements","placement"]))}}),Sk=b8;const ks=new Map;if(Mt){let e;document.addEventListener("mousedown",t=>e=t),document.addEventListener("mouseup",t=>{if(e){for(const n of ks.values())for(const{documentHandler:a}of n)a(t,e);e=void 0}})}function Fy(e,t){let n=[];return ye(t.arg)?n=t.arg:ha(t.arg)&&n.push(t.arg),function(a,o){const s=t.instance.popperRef,r=a.target,l=o?.target,u=!t||!t.instance,c=!r||!l,d=e.contains(r)||e.contains(l),f=e===r,v=n.length&&n.some(p=>p?.contains(r))||n.length&&n.includes(l),g=s&&(s.contains(r)||s.contains(l));u||c||d||f||v||g||t.value(a,o)}}const zs={beforeMount(e,t){ks.has(e)||ks.set(e,[]),ks.get(e).push({documentHandler:Fy(e,t),bindingFn:t.value})},updated(e,t){ks.has(e)||ks.set(e,[]);const n=ks.get(e),a=n.findIndex(s=>s.bindingFn===t.oldValue),o={documentHandler:Fy(e,t),bindingFn:t.value};a>=0?n.splice(a,1,o):n.push(o)},unmounted(e){ks.delete(e)}},y8=100,w8=600,Gu="_RepeatClick",nd={beforeMount(e,t){const n=t.value,{interval:a=y8,delay:o=w8}=Ve(n)?{}:n;let s,r;const l=()=>Ve(n)?n():n.handler(),u=()=>{r&&(clearTimeout(r),r=void 0),s&&(clearInterval(s),s=void 0)},c=d=>{d.button===0&&(u(),l(),document.addEventListener("mouseup",u,{once:!0}),r=setTimeout(()=>{s=setInterval(()=>{l()},a)},o))};e[Gu]={start:c,clear:u},e.addEventListener("mousedown",c)},unmounted(e){if(!e[Gu])return;const{start:t,clear:n}=e[Gu];t&&e.removeEventListener("mousedown",t),n&&(n(),document.removeEventListener("mouseup",n)),e[Gu]=null}},eh="_trap-focus-children",rr=[],Vy=e=>{if(rr.length===0)return;const t=jt(e),n=rr[rr.length-1][eh];if(n.length>0&&t===we.tab){if(n.length===1){e.preventDefault(),document.activeElement!==n[0]&&n[0].focus();return}const a=e.shiftKey,o=e.target===n[0],s=e.target===n[n.length-1];o&&a&&(e.preventDefault(),n[n.length-1].focus()),s&&!a&&(e.preventDefault(),n[0].focus())}},S8={beforeMount(e){e[eh]=Ab(e),rr.push(e),rr.length<=1&&document.addEventListener("keydown",Vy)},updated(e){Re(()=>{e[eh]=Ab(e)})},unmounted(){rr.shift(),rr.length===0&&document.removeEventListener("keydown",Vy)}};var zy=!1,er,th,nh,vc,mc,Ck,gc,ah,oh,sh,kk,rh,lh,Ek,xk;function fa(){if(!zy){zy=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),n=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(rh=/\b(iPhone|iP[ao]d)/.exec(e),lh=/\b(iP[ao]d)/.exec(e),sh=/Android/i.exec(e),Ek=/FBAN\/\w+;/i.exec(e),xk=/Mobile/i.exec(e),kk=!!/Win64/.exec(e),t){er=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,er&&document&&document.documentMode&&(er=document.documentMode);var a=/(?:Trident\/(\d+.\d+))/.exec(e);Ck=a?parseFloat(a[1])+4:er,th=t[2]?parseFloat(t[2]):NaN,nh=t[3]?parseFloat(t[3]):NaN,vc=t[4]?parseFloat(t[4]):NaN,vc?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),mc=t&&t[1]?parseFloat(t[1]):NaN):mc=NaN}else er=th=nh=mc=vc=NaN;if(n){if(n[1]){var o=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);gc=o?parseFloat(o[1].replace("_",".")):!0}else gc=!1;ah=!!n[2],oh=!!n[3]}else gc=ah=oh=!1}}var ih={ie:function(){return fa()||er},ieCompatibilityMode:function(){return fa()||Ck>er},ie64:function(){return ih.ie()&&kk},firefox:function(){return fa()||th},opera:function(){return fa()||nh},webkit:function(){return fa()||vc},safari:function(){return ih.webkit()},chrome:function(){return fa()||mc},windows:function(){return fa()||ah},osx:function(){return fa()||gc},linux:function(){return fa()||oh},iphone:function(){return fa()||rh},mobile:function(){return fa()||rh||lh||sh||xk},nativeApp:function(){return fa()||Ek},android:function(){return fa()||sh},ipad:function(){return fa()||lh}},C8=ih,k8=!!(typeof window<"u"&&window.document&&window.document.createElement),E8={canUseDOM:k8},Tk=E8,$k;Tk.canUseDOM&&($k=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function x8(e,t){if(!Tk.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,a=n in document;if(!a){var o=document.createElement("div");o.setAttribute(n,"return;"),a=typeof o[n]=="function"}return!a&&$k&&e==="wheel"&&(a=document.implementation.hasFeature("Events.wheel","3.0")),a}var T8=x8,Hy=10,Ky=40,Wy=800;function Ok(e){var t=0,n=0,a=0,o=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),a=t*Hy,o=n*Hy,"deltaY"in e&&(o=e.deltaY),"deltaX"in e&&(a=e.deltaX),(a||o)&&e.deltaMode&&(e.deltaMode==1?(a*=Ky,o*=Ky):(a*=Wy,o*=Wy)),a&&!t&&(t=a<1?-1:1),o&&!n&&(n=o<1?-1:1),{spinX:t,spinY:n,pixelX:a,pixelY:o}}Ok.getEventType=function(){return C8.firefox()?"DOMMouseScroll":T8("wheel")?"wheel":"mousewheel"};var $8=Ok;const bc="_Mousewheel",jy=function(e,t){if(e&&e.addEventListener){Rk(e);const n=function(a){const o=$8(a);t&&Reflect.apply(t,this,[a,o])};e[bc]={wheelHandler:n},e.addEventListener("wheel",n,{passive:!0})}},Rk=e=>{e[bc]?.wheelHandler&&(e.removeEventListener("wheel",e[bc].wheelHandler),e[bc]=null)},O8={beforeMount(e,t){jy(e,t.value)},unmounted(e){Rk(e)},updated(e,t){t.value!==t.oldValue&&jy(e,t.value)}},R8=Ce({...yk,datetimeRole:String,parsedValue:{type:G(Object)}}),Nk=({getAvailableHours:e,getAvailableMinutes:t,getAvailableSeconds:n})=>{const a=(r,l,u,c)=>{const d={hour:e,minute:t,second:n};let f=r;return["hour","minute","second"].forEach(v=>{if(d[v]){let g;const p=d[v];switch(v){case"minute":g=p(f.hour(),l,c);break;case"second":g=p(f.hour(),f.minute(),l,c);break;default:g=p(l,c);break}if(g?.length&&!g.includes(f[v]())){const h=u?0:g.length-1;f=f[v](g[h])}}}),f},o={};return{timePickerOptions:o,getAvailableTime:a,onSetOption:([r,l])=>{o[r]=l}}},Zf=e=>{const t=(a,o)=>a||o,n=a=>a!==!0;return e.map(t).filter(n)},Ik=(e,t,n)=>({getHoursList:(r,l)=>Jf(24,e&&(()=>e?.(r,l))),getMinutesList:(r,l,u)=>Jf(60,t&&(()=>t?.(r,l,u))),getSecondsList:(r,l,u,c)=>Jf(60,n&&(()=>n?.(r,l,u,c)))}),Pk=(e,t,n)=>{const{getHoursList:a,getMinutesList:o,getSecondsList:s}=Ik(e,t,n);return{getAvailableHours:(c,d)=>Zf(a(c,d)),getAvailableMinutes:(c,d,f)=>Zf(o(c,d,f)),getAvailableSeconds:(c,d,f,v)=>Zf(s(c,d,f,v))}},Mk=(e,t)=>{const n=M(e.parsedValue);return le(()=>e.visible,a=>{const o=mg(t.modelValue),s=mg(t.valueOnClear);if(a&&o===s){n.value=s;return}a||(n.value=e.parsedValue)}),n},N8=Ce({role:{type:String,required:!0},spinnerDate:{type:G(Object),required:!0},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:G(String),default:""},...dm}),I8=["onClick"],P8=["onMouseenter"];var M8=se({__name:"basic-time-spinner",props:N8,emits:[yt,"select-range","set-option"],setup(e,{emit:t}){const n=e,{isRange:a,format:o,saveOnBlur:s}=_e(oo).props,r=t,l=fe("time"),{getHoursList:u,getMinutesList:c,getSecondsList:d}=Ik(n.disabledHours,n.disabledMinutes,n.disabledSeconds);let f=!1;const v={hours:!1,minutes:!1,seconds:!1},g=M(),p={hours:M(),minutes:M(),seconds:M()},h=w(()=>n.showSeconds?_y:_y.slice(0,2)),m=w(()=>{const{spinnerDate:F}=n;return{hours:F.hour(),minutes:F.minute(),seconds:F.second()}}),b=w(()=>{const{hours:F,minutes:q}=i(m),{role:j,spinnerDate:X}=n,Q=a?void 0:X;return{hours:u(j,Q),minutes:c(F,j,Q),seconds:d(F,q,j,Q)}}),k=w(()=>{const{hours:F,minutes:q,seconds:j}=i(m);return{hours:Xf(F,23),minutes:Xf(q,59),seconds:Xf(j,59)}}),y=Mo(F=>{f=!1,E(F)},200),S=F=>{if(!n.amPmMode)return"";const q=n.amPmMode==="A";let j=F<12?" am":" pm";return q&&(j=j.toUpperCase()),j},C=F=>{let q=[0,0];const j=o||wl,X=j.indexOf("HH"),Q=j.indexOf("mm"),he=j.indexOf("ss");switch(F){case"hours":X!==-1&&(q=[X,X+2]);break;case"minutes":Q!==-1&&(q=[Q,Q+2]);break;case"seconds":he!==-1&&(q=[he,he+2]);break}const[ue,ge]=q;r("select-range",ue,ge),g.value=F},E=F=>{N(F,i(m)[F])},$=()=>{E("hours"),E("minutes"),E("seconds")},O=F=>F.querySelector(`.${l.namespace.value}-scrollbar__wrap`),N=(F,q)=>{if(n.arrowControl)return;const j=i(p[F]);j&&j.$el&&(s||(v[F]=!0,eo(()=>{v[F]=!1})),O(j.$el).scrollTop=Math.max(0,q*R(F)))},R=F=>{const q=i(p[F])?.$el.querySelector("li");return q&&Number.parseFloat(Yo(q,"height"))||0},A=()=>{V(1)},_=()=>{V(-1)},V=F=>{g.value||C("hours");const q=g.value,j=i(m)[q],X=H(q,j,F,g.value==="hours"?24:60);U(q,X),N(q,X),Re(()=>C(q))},H=(F,q,j,X)=>{let Q=(q+j+X)%X;const he=i(b)[F];for(;he[Q]&&Q!==q;)Q=(Q+j+X)%X;return Q},U=(F,q)=>{if(i(b)[F][q])return;const{hours:j,minutes:X,seconds:Q}=i(m);let he;switch(F){case"hours":he=n.spinnerDate.hour(q).minute(X).second(Q);break;case"minutes":he=n.spinnerDate.hour(j).minute(q).second(Q);break;case"seconds":he=n.spinnerDate.hour(j).minute(X).second(q);break}r(yt,he)},W=(F,{value:q,disabled:j})=>{j||(U(F,q),C(F),N(F,q))},P=F=>{if(!s&&v[F])return;const q=i(p[F]);q&&(f=!0,y(F),U(F,Math.min(Math.round((O(q.$el).scrollTop-(I(F)*.5-10)/R(F)+3)/R(F)),F==="hours"?23:59)))},I=F=>i(p[F]).$el.offsetHeight,L=()=>{const F=q=>{const j=i(p[q]);j&&j.$el&&(O(j.$el).onscroll=()=>{P(q)})};F("hours"),F("minutes"),F("seconds")};ht(()=>{Re(()=>{!n.arrowControl&&L(),$(),n.role==="start"&&C("hours")})});const D=(F,q)=>{p[q].value=F??void 0};return r("set-option",[`${n.role}_scrollDown`,V]),r("set-option",[`${n.role}_emitSelectRange`,C]),le(()=>n.spinnerDate,()=>{f||$()}),(F,q)=>(x(),B("div",{class:T([i(l).b("spinner"),{"has-seconds":F.showSeconds}])},[F.arrowControl?te("v-if",!0):(x(!0),B(Fe,{key:0},gt(h.value,j=>(x(),oe(i(ao),{key:j,ref_for:!0,ref:X=>D(X,j),class:T(i(l).be("spinner","wrapper")),"wrap-style":"max-height: inherit;","view-class":i(l).be("spinner","list"),noresize:"",tag:"ul",onMouseenter:X=>C(j),onMousemove:X=>E(j)},{default:J(()=>[(x(!0),B(Fe,null,gt(b.value[j],(X,Q)=>(x(),B("li",{key:Q,class:T([i(l).be("spinner","item"),i(l).is("active",Q===m.value[j]),i(l).is("disabled",X)]),onClick:he=>W(j,{value:Q,disabled:X})},[j==="hours"?(x(),B(Fe,{key:0},[wt(Se(("0"+(F.amPmMode?Q%12||12:Q)).slice(-2))+Se(S(Q)),1)],64)):(x(),B(Fe,{key:1},[wt(Se(("0"+Q).slice(-2)),1)],64))],10,I8))),128))]),_:2},1032,["class","view-class","onMouseenter","onMousemove"]))),128)),F.arrowControl?(x(!0),B(Fe,{key:1},gt(h.value,j=>(x(),B("div",{key:j,class:T([i(l).be("spinner","wrapper"),i(l).is("arrow")]),onMouseenter:X=>C(j)},[ut((x(),oe(i(De),{class:T(["arrow-up",i(l).be("spinner","arrow")])},{default:J(()=>[Y(i(ef))]),_:1},8,["class"])),[[i(nd),_]]),ut((x(),oe(i(De),{class:T(["arrow-down",i(l).be("spinner","arrow")])},{default:J(()=>[Y(i(Fo))]),_:1},8,["class"])),[[i(nd),A]]),z("ul",{class:T(i(l).be("spinner","list"))},[(x(!0),B(Fe,null,gt(k.value[j],(X,Q)=>(x(),B("li",{key:Q,class:T([i(l).be("spinner","item"),i(l).is("active",X===m.value[j]),i(l).is("disabled",b.value[j][X])])},[i(He)(X)?(x(),B(Fe,{key:0},[j==="hours"?(x(),B(Fe,{key:0},[wt(Se(("0"+(F.amPmMode?X%12||12:X)).slice(-2))+Se(S(X)),1)],64)):(x(),B(Fe,{key:1},[wt(Se(("0"+X).slice(-2)),1)],64))],64)):te("v-if",!0)],2))),128))],2)],42,P8))),128)):te("v-if",!0)],2))}}),uh=M8,_8=se({__name:"panel-time-pick",props:R8,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const n=e,a=t,o=_e(oo),{arrowControl:s,disabledHours:r,disabledMinutes:l,disabledSeconds:u,defaultValue:c}=o.props,{getAvailableHours:d,getAvailableMinutes:f,getAvailableSeconds:v}=Pk(r,l,u),g=fe("time"),{t:p,lang:h}=Ct(),m=M([0,2]),b=Mk(n,{modelValue:w(()=>o.props.modelValue),valueOnClear:w(()=>o?.emptyValues?o.emptyValues.valueOnClear.value:null)}),k=w(()=>Tt(n.actualVisible)?`${g.namespace.value}-zoom-in-top`:""),y=w(()=>n.format.includes("ss")),S=w(()=>n.format.includes("A")?"A":n.format.includes("a")?"a":""),C=I=>{const L=st(I).locale(h.value),D=U(L);return L.isSame(D)},E=()=>{const I=b.value;a("pick",I,!1),Re(()=>{b.value=I})},$=(I=!1,L=!1)=>{L||a("pick",n.parsedValue,I)},O=I=>{n.visible&&a("pick",U(I).millisecond(0),!0)},N=(I,L)=>{a("select-range",I,L),m.value=[I,L]},R=I=>{const L=n.format,D=L.indexOf("HH"),F=L.indexOf("mm"),q=L.indexOf("ss"),j=[],X=[];D!==-1&&(j.push(D),X.push("hours")),F!==-1&&(j.push(F),X.push("minutes")),q!==-1&&y.value&&(j.push(q),X.push("seconds"));const Q=(j.indexOf(m.value[0])+I+j.length)%j.length;_.start_emitSelectRange(X[Q])},A=I=>{const L=jt(I),{left:D,right:F,up:q,down:j}=we;if([D,F].includes(L)){R(L===D?-1:1),I.preventDefault();return}if([q,j].includes(L)){const X=L===q?-1:1;_.start_scrollDown(X),I.preventDefault();return}},{timePickerOptions:_,onSetOption:V,getAvailableTime:H}=Nk({getAvailableHours:d,getAvailableMinutes:f,getAvailableSeconds:v}),U=I=>H(I,n.datetimeRole||"",!0),W=I=>I?st(I,n.format).locale(h.value):null,P=()=>st(c).locale(h.value);return a("set-picker-option",["isValidValue",C]),a("set-picker-option",["parseUserInput",W]),a("set-picker-option",["handleKeydownInput",A]),a("set-picker-option",["getRangeAvailableTime",U]),a("set-picker-option",["getDefaultValue",P]),a("set-picker-option",["handleCancel",E]),(I,L)=>(x(),oe(Vn,{name:k.value},{default:J(()=>[I.actualVisible||I.visible?(x(),B("div",{key:0,class:T(i(g).b("panel"))},[z("div",{class:T([i(g).be("panel","content"),{"has-seconds":y.value}])},[Y(uh,{ref:"spinner",role:I.datetimeRole||"start","arrow-control":i(s),"show-seconds":y.value,"am-pm-mode":S.value,"spinner-date":I.parsedValue,"disabled-hours":i(r),"disabled-minutes":i(l),"disabled-seconds":i(u),onChange:O,onSetOption:i(V),onSelectRange:N},null,8,["role","arrow-control","show-seconds","am-pm-mode","spinner-date","disabled-hours","disabled-minutes","disabled-seconds","onSetOption"])],2),z("div",{class:T(i(g).be("panel","footer"))},[z("button",{type:"button",class:T([i(g).be("panel","btn"),"cancel"]),onClick:E},Se(i(p)("el.datepicker.cancel")),3),z("button",{type:"button",class:T([i(g).be("panel","btn"),"confirm"]),onClick:L[0]||(L[0]=D=>$())},Se(i(p)("el.datepicker.confirm")),3)],2)],2)):te("v-if",!0)]),_:1},8,["name"]))}}),ad=_8;const A8=Ce({...yk,parsedValue:{type:G(Array)}}),L8=["disabled"];var D8=se({__name:"panel-time-range",props:A8,emits:["pick","select-range","set-picker-option"],setup(e,{emit:t}){const n=e,a=t,o=(ne,K)=>{const Z=[];for(let re=ne;re<=K;re++)Z.push(re);return Z},{t:s,lang:r}=Ct(),l=fe("time"),u=fe("picker"),c=_e(oo),{arrowControl:d,disabledHours:f,disabledMinutes:v,disabledSeconds:g,defaultValue:p}=c.props,h=w(()=>[l.be("range-picker","body"),l.be("panel","content"),l.is("arrow",d),C.value?"has-seconds":""]),m=w(()=>[l.be("range-picker","body"),l.be("panel","content"),l.is("arrow",d),C.value?"has-seconds":""]),b=w(()=>n.parsedValue[0]),k=w(()=>n.parsedValue[1]),y=Mk(n,{modelValue:w(()=>c.props.modelValue),valueOnClear:w(()=>c?.emptyValues?c.emptyValues.valueOnClear.value:null)}),S=()=>{const ne=y.value;a("pick",ne,!1),Re(()=>{y.value=ne})},C=w(()=>n.format.includes("ss")),E=w(()=>n.format.includes("A")?"A":n.format.includes("a")?"a":""),$=(ne=!1)=>{a("pick",[b.value,k.value],ne)},O=ne=>{A(ne.millisecond(0),k.value)},N=ne=>{A(b.value,ne.millisecond(0))},R=ne=>{const K=ne.map(re=>st(re).locale(r.value)),Z=q(K);return K[0].isSame(Z[0])&&K[1].isSame(Z[1])},A=(ne,K)=>{n.visible&&a("pick",[ne,K],!0)},_=w(()=>b.value>k.value),V=M([0,2]),H=(ne,K)=>{a("select-range",ne,K,"min"),V.value=[ne,K]},U=w(()=>C.value?11:8),W=(ne,K)=>{a("select-range",ne,K,"max");const Z=i(U);V.value=[ne+Z,K+Z]},P=ne=>{const K=C.value?[0,3,6,11,14,17]:[0,3,8,11],Z=["hours","minutes"].concat(C.value?["seconds"]:[]),re=(K.indexOf(V.value[0])+ne+K.length)%K.length,ce=K.length/2;re{const K=jt(ne),{left:Z,right:re,up:ce,down:ve}=we;if([Z,re].includes(K)){P(K===Z?-1:1),ne.preventDefault();return}if([ce,ve].includes(K)){const ke=K===ce?-1:1;he[`${V.value[0]{const Z=f?f(ne):[],re=ne==="start",ce=(K||(re?k.value:b.value)).hour();return Vf(Z,re?o(ce+1,23):o(0,ce-1))},D=(ne,K,Z)=>{const re=v?v(ne,K):[],ce=K==="start",ve=Z||(ce?k.value:b.value);if(ne!==ve.hour())return re;const ke=ve.minute();return Vf(re,ce?o(ke+1,59):o(0,ke-1))},F=(ne,K,Z,re)=>{const ce=g?g(ne,K,Z):[],ve=Z==="start",ke=re||(ve?k.value:b.value),Ne=ke.hour(),Ie=ke.minute();if(ne!==Ne||K!==Ie)return ce;const $e=ke.second();return Vf(ce,ve?o($e+1,59):o(0,$e-1))},q=([ne,K])=>[ue(ne,"start",!0,K),ue(K,"end",!1,ne)],{getAvailableHours:j,getAvailableMinutes:X,getAvailableSeconds:Q}=Pk(L,D,F),{timePickerOptions:he,getAvailableTime:ue,onSetOption:ge}=Nk({getAvailableHours:j,getAvailableMinutes:X,getAvailableSeconds:Q}),ie=ne=>ne?ye(ne)?ne.map(K=>st(K,n.format).locale(r.value)):st(ne,n.format).locale(r.value):null,ae=()=>{if(ye(p))return p.map(K=>st(K).locale(r.value));const ne=st(p).locale(r.value);return[ne,ne.add(60,"m")]};return a("set-picker-option",["parseUserInput",ie]),a("set-picker-option",["isValidValue",R]),a("set-picker-option",["handleKeydownInput",I]),a("set-picker-option",["getDefaultValue",ae]),a("set-picker-option",["getRangeAvailableTime",q]),a("set-picker-option",["handleCancel",S]),(ne,K)=>ne.actualVisible?(x(),B("div",{key:0,class:T([i(l).b("range-picker"),i(u).b("panel")])},[z("div",{class:T(i(l).be("range-picker","content"))},[z("div",{class:T(i(l).be("range-picker","cell"))},[z("div",{class:T(i(l).be("range-picker","header"))},Se(i(s)("el.datepicker.startTime")),3),z("div",{class:T(h.value)},[Y(uh,{ref:"minSpinner",role:"start","show-seconds":C.value,"am-pm-mode":E.value,"arrow-control":i(d),"spinner-date":b.value,"disabled-hours":L,"disabled-minutes":D,"disabled-seconds":F,onChange:O,onSetOption:i(ge),onSelectRange:H},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2),z("div",{class:T(i(l).be("range-picker","cell"))},[z("div",{class:T(i(l).be("range-picker","header"))},Se(i(s)("el.datepicker.endTime")),3),z("div",{class:T(m.value)},[Y(uh,{ref:"maxSpinner",role:"end","show-seconds":C.value,"am-pm-mode":E.value,"arrow-control":i(d),"spinner-date":k.value,"disabled-hours":L,"disabled-minutes":D,"disabled-seconds":F,onChange:N,onSetOption:i(ge),onSelectRange:W},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2)],2),z("div",{class:T(i(l).be("panel","footer"))},[z("button",{type:"button",class:T([i(l).be("panel","btn"),"cancel"]),onClick:K[0]||(K[0]=Z=>S())},Se(i(s)("el.datepicker.cancel")),3),z("button",{type:"button",class:T([i(l).be("panel","btn"),"confirm"]),disabled:_.value,onClick:K[1]||(K[1]=Z=>$())},Se(i(s)("el.datepicker.confirm")),11,L8)],2)],2)):te("v-if",!0)}}),B8=D8,yc={exports:{}},F8=yc.exports,Uy;function V8(){return Uy||(Uy=1,(function(e,t){(function(n,a){e.exports=a()})(F8,(function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},a=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,o=/\d/,s=/\d\d/,r=/\d\d?/,l=/\d*[^-_:/,()\s\d]+/,u={},c=function(m){return(m=+m)+(m>68?1900:2e3)},d=function(m){return function(b){this[m]=+b}},f=[/[+-]\d\d:?(\d\d)?|Z/,function(m){(this.zone||(this.zone={})).offset=(function(b){if(!b||b==="Z")return 0;var k=b.match(/([+-]|\d\d)/g),y=60*k[1]+(+k[2]||0);return y===0?0:k[0]==="+"?-y:y})(m)}],v=function(m){var b=u[m];return b&&(b.indexOf?b:b.s.concat(b.f))},g=function(m,b){var k,y=u.meridiem;if(y){for(var S=1;S<=24;S+=1)if(m.indexOf(y(S,0,b))>-1){k=S>12;break}}else k=m===(b?"pm":"PM");return k},p={A:[l,function(m){this.afternoon=g(m,!1)}],a:[l,function(m){this.afternoon=g(m,!0)}],Q:[o,function(m){this.month=3*(m-1)+1}],S:[o,function(m){this.milliseconds=100*+m}],SS:[s,function(m){this.milliseconds=10*+m}],SSS:[/\d{3}/,function(m){this.milliseconds=+m}],s:[r,d("seconds")],ss:[r,d("seconds")],m:[r,d("minutes")],mm:[r,d("minutes")],H:[r,d("hours")],h:[r,d("hours")],HH:[r,d("hours")],hh:[r,d("hours")],D:[r,d("day")],DD:[s,d("day")],Do:[l,function(m){var b=u.ordinal,k=m.match(/\d+/);if(this.day=k[0],b)for(var y=1;y<=31;y+=1)b(y).replace(/\[|\]/g,"")===m&&(this.day=y)}],w:[r,d("week")],ww:[s,d("week")],M:[r,d("month")],MM:[s,d("month")],MMM:[l,function(m){var b=v("months"),k=(v("monthsShort")||b.map((function(y){return y.slice(0,3)}))).indexOf(m)+1;if(k<1)throw new Error;this.month=k%12||k}],MMMM:[l,function(m){var b=v("months").indexOf(m)+1;if(b<1)throw new Error;this.month=b%12||b}],Y:[/[+-]?\d+/,d("year")],YY:[s,function(m){this.year=c(m)}],YYYY:[/\d{4}/,d("year")],Z:f,ZZ:f};function h(m){var b,k;b=m,k=u&&u.formats;for(var y=(m=b.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(R,A,_){var V=_&&_.toUpperCase();return A||k[_]||n[_]||k[V].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(H,U,W){return U||W.slice(1)}))}))).match(a),S=y.length,C=0;C-1)return new Date((I==="X"?1e3:1)*P);var F=h(I)(P),q=F.year,j=F.month,X=F.day,Q=F.hours,he=F.minutes,ue=F.seconds,ge=F.milliseconds,ie=F.zone,ae=F.week,ne=new Date,K=X||(q||j?1:ne.getDate()),Z=q||ne.getFullYear(),re=0;q&&!j||(re=j>0?j-1:ne.getMonth());var ce,ve=Q||0,ke=he||0,Ne=ue||0,Ie=ge||0;return ie?new Date(Date.UTC(Z,re,K,ve,ke,Ne,Ie+60*ie.offset*1e3)):L?new Date(Date.UTC(Z,re,K,ve,ke,Ne,Ie)):(ce=new Date(Z,re,K,ve,ke,Ne,Ie),ae&&(ce=D(ce).week(ae).toDate()),ce)}catch{return new Date("")}})(E,N,$,k),this.init(),V&&V!==!0&&(this.$L=this.locale(V).$L),_&&E!=this.format(N)&&(this.$d=new Date("")),u={}}else if(N instanceof Array)for(var H=N.length,U=1;U<=H;U+=1){O[1]=N[U-1];var W=k.apply(this,O);if(W.isValid()){this.$d=W.$d,this.$L=W.$L,this.init();break}U===H&&(this.$d=new Date(""))}else S.call(this,C)}}}))})(yc)),yc.exports}var z8=V8();const pm=bs(z8);st.extend(pm);var H8=se({name:"ElTimePicker",install:null,props:{...fm,isRange:Boolean},emits:[at],setup(e,t){const n=M(),[a,o]=e.isRange?["timerange",B8]:["time",ad],s=r=>t.emit(at,r);return St(cm,e.popperOptions),t.expose({focus:()=>{n.value?.focus()},blur:()=>{n.value?.blur()},handleOpen:()=>{n.value?.handleOpen()},handleClose:()=>{n.value?.handleClose()}}),()=>{const r=e.format??wl;return Y(Sk,dt(e,{ref:n,type:a,format:r,"onUpdate:modelValue":s}),{default:l=>Y(o,l,null)})}}});const K8=rt(H8),us=Ce({type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:lo},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),W8={close:e=>e instanceof MouseEvent,click:e=>e instanceof MouseEvent},j8=["aria-label"],U8=["aria-label"];var q8=se({name:"ElTag",__name:"tag",props:us,emits:W8,setup(e,{emit:t}){const n=e,a=t,o=Cn(),{t:s}=Ct(),r=fe("tag"),l=w(()=>{const{type:f,hit:v,effect:g,closable:p,round:h}=n;return[r.b(),r.is("closable",p),r.m(f||"primary"),r.m(o.value),r.m(g),r.is("hit",v),r.is("round",h)]}),u=f=>{a("close",f)},c=f=>{a("click",f)},d=f=>{f?.component?.subTree?.component?.bum&&(f.component.subTree.component.bum=null)};return(f,v)=>e.disableTransitions?(x(),B("span",{key:0,class:T(l.value),style:Ke({backgroundColor:e.color}),onClick:c},[z("span",{class:T(i(r).e("content"))},[ee(f.$slots,"default")],2),e.closable?(x(),B("button",{key:0,"aria-label":i(s)("el.tag.close"),class:T(i(r).e("close")),type:"button",onClick:Xe(u,["stop"])},[Y(i(De),null,{default:J(()=>[Y(i(Ha))]),_:1})],10,j8)):te("v-if",!0)],6)):(x(),oe(Vn,{key:1,name:`${i(r).namespace.value}-zoom-in-center`,appear:"",onVnodeMounted:d},{default:J(()=>[z("span",{class:T(l.value),style:Ke({backgroundColor:e.color}),onClick:c},[z("span",{class:T(i(r).e("content"))},[ee(f.$slots,"default")],2),e.closable?(x(),B("button",{key:0,"aria-label":i(s)("el.tag.close"),class:T(i(r).e("close")),type:"button",onClick:Xe(u,["stop"])},[Y(i(De),null,{default:J(()=>[Y(i(Ha))]),_:1})],10,U8)):te("v-if",!0)],6)]),_:3},8,["name"]))}}),Y8=q8;const ts=rt(Y8),_k=Symbol("ElSelectGroup"),bu=Symbol("ElSelect"),od={label:"label",value:"value",disabled:"disabled",options:"options"};function yu(e){const t=M({...od,...e.props});let n={...e.props};return le(()=>e.props,l=>{sn(l,n)||(t.value={...od,...l},n={...l})},{deep:!0}),{aliasProps:t,getLabel:l=>wn(l,t.value.label),getValue:l=>wn(l,t.value.value),getDisabled:l=>wn(l,t.value.disabled),getOptions:l=>wn(l,t.value.options)}}const Ak=Ce({name:String,id:String,modelValue:{type:G([Array,String,Number,Boolean,Object]),default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:Tn,effect:{type:G(String),default:"light"},disabled:{type:Boolean,default:void 0},clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperStyle:{type:G([String,Object])},popperOptions:{type:G(Object),default:()=>({})},remote:Boolean,debounce:{type:Number,default:300},loadingText:String,noMatchText:String,noDataText:String,remoteMethod:{type:G(Function)},filterMethod:{type:G(Function)},multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,tagTooltip:{type:G(Object),default:()=>({})},maxCollapseTags:{type:Number,default:1},teleported:zt.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:Kt,default:Vo},fitInputWidth:Boolean,suffixIcon:{type:Kt,default:Fo},tagType:{...us.type,default:"info"},tagEffect:{...us.effect,default:"light"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:G(String),values:Do,default:"bottom-start"},fallbackPlacements:{type:G(Array),default:["bottom-start","top-start","right","left"]},tabindex:{type:[String,Number],default:0},appendTo:zt.appendTo,options:{type:G(Array)},props:{type:G(Object),default:()=>od},...Pr,...aa(["ariaLabel"])});nk.scroll;const ch="ElOption",G8=Ce({value:{type:[String,Number,Boolean,Object],required:!0},label:{type:[String,Number]},created:Boolean,disabled:Boolean});function X8(e,t){const n=_e(bu);n||nn(ch,"usage: ");const a=_e(_k,{disabled:!1}),o=w(()=>d(Nn(n.props.modelValue),e.value)),s=w(()=>{if(n.props.multiple){const g=Nn(n.props.modelValue??[]);return!o.value&&g.length>=n.props.multipleLimit&&n.props.multipleLimit>0}else return!1}),r=w(()=>e.label??(ot(e.value)?"":e.value)),l=w(()=>e.value||e.label||""),u=w(()=>e.disabled||t.groupDisabled||s.value),c=ft(),d=(g=[],p)=>{if(ot(e.value)){const h=n.props.valueKey;return g&&g.some(m=>qt(wn(m,h))===wn(p,h))}else return g&&g.includes(p)},f=()=>{u.value||(n.states.hoveringIndex=n.optionsArray.indexOf(c.proxy))},v=g=>{t.visible=new RegExp(Lv(g),"i").test(String(r.value))||e.created};return le(()=>r.value,()=>{!e.created&&!n.props.remote&&n.setSelected()}),le(()=>e.value,(g,p)=>{const{remote:h,valueKey:m}=n.props;if((h?g!==p:!sn(g,p))&&(n.onOptionDestroy(p,c.proxy),n.onOptionCreate(c.proxy)),!e.created&&!h){if(m&&ot(g)&&ot(p)&&g[m]===p[m])return;n.setSelected()}}),le(()=>a.disabled,()=>{t.groupDisabled=a.disabled},{immediate:!0}),{select:n,currentLabel:r,currentValue:l,itemSelected:o,isDisabled:u,hoverItem:f,updateOption:v}}var J8=se({name:ch,componentName:ch,props:G8,setup(e){const t=fe("select"),n=zn(),a=w(()=>[t.be("dropdown","item"),t.is("disabled",i(l)),t.is("selected",i(r)),t.is("hovering",i(v))]),o=At({index:-1,groupDisabled:!1,visible:!0,hover:!1}),{currentLabel:s,itemSelected:r,isDisabled:l,select:u,hoverItem:c,updateOption:d}=X8(e,o),{visible:f,hover:v}=Mn(o),g=ft().proxy;u.onOptionCreate(g),Bt(()=>{const h=g.value;Re(()=>{const{selected:m}=u.states,b=m.some(k=>k.value===g.value);u.states.cachedOptions.get(h)===g&&!b&&u.states.cachedOptions.delete(h)}),u.onOptionDestroy(h,g)});function p(){l.value||u.handleOptionSelect(g)}return{ns:t,id:n,containerKls:a,currentLabel:s,itemSelected:r,isDisabled:l,select:u,visible:f,hover:v,states:o,hoverItem:c,updateOption:d,selectOptionClick:p}}});const Z8=["id","aria-disabled","aria-selected"];function Q8(e,t,n,a,o,s){return ut((x(),B("li",{id:e.id,class:T(e.containerKls),role:"option","aria-disabled":e.isDisabled||void 0,"aria-selected":e.itemSelected,onMousemove:t[0]||(t[0]=(...r)=>e.hoverItem&&e.hoverItem(...r)),onClick:t[1]||(t[1]=Xe((...r)=>e.selectOptionClick&&e.selectOptionClick(...r),["stop"]))},[ee(e.$slots,"default",{},()=>[z("span",null,Se(e.currentLabel),1)])],42,Z8)),[[Pt,e.visible]])}var hm=$n(J8,[["render",Q8]]),eF=se({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:Boolean},setup(e){const t=fe("select"),n=M(),a=ft(),o=M([]);St(_k,At({...Mn(e)}));const s=w(()=>o.value.some(c=>c.visible===!0)),r=c=>c.type.name==="ElOption"&&!!c.component?.proxy,l=c=>{const d=Nn(c),f=[];return d.forEach(v=>{Ut(v)&&(r(v)?f.push(v.component.proxy):ye(v.children)&&v.children.length?f.push(...l(v.children)):v.component?.subTree&&f.push(...l(v.component.subTree)))}),f},u=()=>{o.value=l(a.subTree)};return ht(()=>{u()}),su(n,u,{attributes:!0,subtree:!0,childList:!0}),{groupRef:n,visible:s,ns:t}}});function tF(e,t,n,a,o,s){return ut((x(),B("ul",{ref:"groupRef",class:T(e.ns.be("group","wrap"))},[z("li",{class:T(e.ns.be("group","title"))},Se(e.label),3),z("li",null,[z("ul",{class:T(e.ns.b("group"))},[ee(e.$slots,"default")],2)])],2)),[[Pt,e.visible]])}var vm=$n(eF,[["render",tF]]),nF=se({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const e=_e(bu),t=fe("select"),n=w(()=>e.props.popperClass),a=w(()=>e.props.multiple),o=w(()=>e.props.fitInputWidth),s=M("");function r(){const l=e.selectRef?.offsetWidth;l?s.value=`${l-J1}px`:s.value=""}return ht(()=>{r(),en(e.selectRef,r)}),{ns:t,minWidth:s,popperClass:n,isMultiple:a,isFitInputWidth:o}}});function aF(e,t,n,a,o,s){return x(),B("div",{class:T([e.ns.b("dropdown"),e.ns.is("multiple",e.isMultiple),e.popperClass]),style:Ke({[e.isFitInputWidth?"width":"minWidth"]:e.minWidth})},[e.$slots.header?(x(),B("div",{key:0,class:T(e.ns.be("dropdown","header"))},[ee(e.$slots,"header")],2)):te("v-if",!0),ee(e.$slots,"default"),e.$slots.footer?(x(),B("div",{key:1,class:T(e.ns.be("dropdown","footer"))},[ee(e.$slots,"footer")],2)):te("v-if",!0)],6)}var oF=$n(nF,[["render",aF]]);const sF=(e,t)=>{const{t:n}=Ct(),a=vn(),o=zn(),s=fe("select"),r=fe("input"),l=At({inputValue:"",options:new Map,cachedOptions:new Map,optionValues:[],selected:[],selectionWidth:0,collapseItemWidth:0,selectedLabel:"",hoveringIndex:-1,previousQuery:null,inputHovering:!1,menuVisibleOnFocus:!1,isBeforeHide:!1}),u=M(),c=M(),d=M(),f=M(),v=M(),g=M(),p=M(),h=M(),m=M(),b=M(),k=M(),y=M(!1),S=M(),C=M(!1),{form:E,formItem:$}=Dn(),{inputId:O}=Ia(e,{formItemContext:$}),{valueOnClear:N,isEmptyValue:R}=hu(e),{isComposing:A,handleCompositionStart:_,handleCompositionUpdate:V,handleCompositionEnd:H}=pu({afterComposition:Te=>Rt(Te)}),U=un(),{wrapperRef:W,isFocused:P,handleBlur:I}=ms(v,{disabled:U,afterFocus(){e.automaticDropdown&&!y.value&&(y.value=!0,l.menuVisibleOnFocus=!0)},beforeBlur(Te){return d.value?.isFocusInsideContent(Te)||f.value?.isFocusInsideContent(Te)},afterBlur(){y.value=!1,l.menuVisibleOnFocus=!1,e.validateEvent&&$?.validate?.("blur").catch(Te=>pt(Te))}}),L=w(()=>ye(e.modelValue)?e.modelValue.length>0:!R(e.modelValue)),D=w(()=>E?.statusIcon??!1),F=w(()=>e.clearable&&!U.value&&L.value&&(P.value||l.inputHovering)),q=w(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),j=w(()=>s.is("reverse",!!(q.value&&y.value))),X=w(()=>$?.validateState||""),Q=w(()=>X.value&&nf[X.value]),he=w(()=>e.remote?e.debounce:0),ue=w(()=>e.remote&&!l.inputValue&&l.options.size===0),ge=w(()=>e.loading?e.loadingText||n("el.select.loading"):e.filterable&&l.inputValue&&l.options.size>0&&ie.value===0?e.noMatchText||n("el.select.noMatch"):l.options.size===0?e.noDataText||n("el.select.noData"):null),ie=w(()=>ae.value.filter(Te=>Te.visible).length),ae=w(()=>{const Te=Array.from(l.options.values()),vt=[];return l.optionValues.forEach(Lt=>{const Yt=Te.findIndex(En=>En.value===Lt);Yt>-1&&vt.push(Te[Yt])}),vt.length>=Te.length?vt:Te}),ne=w(()=>Array.from(l.cachedOptions.values())),K=w(()=>{const Te=ae.value.filter(vt=>!vt.created).some(vt=>vt.currentLabel===l.inputValue);return e.filterable&&e.allowCreate&&l.inputValue!==""&&!Te}),Z=()=>{e.filterable&&Ve(e.filterMethod)||e.filterable&&e.remote&&Ve(e.remoteMethod)||ae.value.forEach(Te=>{Te.updateOption?.(l.inputValue)})},re=Cn(),ce=w(()=>["small"].includes(re.value)?"small":"default"),ve=w({get(){return y.value&&(e.loading||!ue.value||e.remote&&!!a.empty)&&(!C.value||!ia(l.previousQuery))},set(Te){y.value=Te}}),ke=w(()=>{if(e.multiple&&!Tt(e.modelValue))return Nn(e.modelValue).length===0&&!l.inputValue;const Te=ye(e.modelValue)?e.modelValue[0]:e.modelValue;return e.filterable||Tt(Te)?!l.inputValue:!0}),Ne=w(()=>{const Te=e.placeholder??n("el.select.placeholder");return e.multiple||!L.value?Te:l.selectedLabel}),Ie=w(()=>Xc?null:"mouseenter");le(()=>e.modelValue,(Te,vt)=>{e.multiple&&e.filterable&&!e.reserveKeyword&&(l.inputValue="",$e("")),Ee(),!sn(Te,vt)&&e.validateEvent&&$?.validate("change").catch(Lt=>pt(Lt))},{flush:"post",deep:!0}),le(()=>y.value,Te=>{Te?$e(l.inputValue):(l.inputValue="",l.previousQuery=null,l.isBeforeHide=!0,l.menuVisibleOnFocus=!1)}),le(()=>l.options.entries(),()=>{Mt&&(Ee(),e.defaultFirstOption&&(e.filterable||e.remote)&&ie.value&&pe())},{flush:"post"}),le([()=>l.hoveringIndex,ae],([Te])=>{He(Te)&&Te>-1?S.value=ae.value[Te]||{}:S.value={},ae.value.forEach(vt=>{vt.hover=S.value===vt})}),wa(()=>{l.isBeforeHide||Z()});const $e=Te=>{l.previousQuery===Te||A.value||(l.previousQuery=Te,e.filterable&&Ve(e.filterMethod)?e.filterMethod(Te):e.filterable&&e.remote&&Ve(e.remoteMethod)&&e.remoteMethod(Te),e.defaultFirstOption&&(e.filterable||e.remote)&&ie.value?Re(pe):Re(Me))},pe=()=>{const Te=ae.value.filter(Yt=>Yt.visible&&!Yt.disabled&&!Yt.states.groupDisabled),vt=Te.find(Yt=>Yt.created),Lt=Te[0];l.hoveringIndex=Ge(ae.value.map(Yt=>Yt.value),vt||Lt)},Ee=()=>{if(e.multiple)l.selectedLabel="";else{const vt=me(ye(e.modelValue)?e.modelValue[0]:e.modelValue);l.selectedLabel=vt.currentLabel,l.selected=[vt];return}const Te=[];Tt(e.modelValue)||Nn(e.modelValue).forEach(vt=>{Te.push(me(vt))}),l.selected=Te},me=Te=>{let vt;const Lt=mi(Te);for(let Yt=l.cachedOptions.size-1;Yt>=0;Yt--){const En=ne.value[Yt];if(Lt?wn(En.value,e.valueKey)===wn(Te,e.valueKey):En.value===Te){vt={index:ae.value.filter(vo=>!vo.created).indexOf(En),value:Te,currentLabel:En.currentLabel,get isDisabled(){return En.isDisabled}};break}}return vt||{index:-1,value:Te,currentLabel:Lt?Te.label:Te??""}},Me=()=>{const Te=l.selected.length;if(Te>0){const vt=l.selected[Te-1];l.hoveringIndex=ae.value.findIndex(Lt=>oa(vt)===oa(Lt))}else l.hoveringIndex=-1},We=()=>{l.selectionWidth=Number.parseFloat(window.getComputedStyle(c.value).width)},Ze=()=>{l.collapseItemWidth=b.value.getBoundingClientRect().width},Pe=()=>{d.value?.updatePopper?.()},Ae=()=>{f.value?.updatePopper?.()},je=()=>{l.inputValue.length>0&&!y.value&&(y.value=!0),$e(l.inputValue)},Rt=Te=>{if(l.inputValue=Te.target.value,e.remote)C.value=!0,Ue();else return je()},Ue=ou(()=>{je(),C.value=!1},he),lt=Te=>{sn(e.modelValue,Te)||t(yt,Te)},mt=Te=>MS(Te,vt=>{const Lt=l.cachedOptions.get(vt);return!Lt?.disabled&&!Lt?.states.groupDisabled}),kt=Te=>{const vt=jt(Te);if(e.multiple&&vt!==we.delete&&Te.target.value.length<=0){const Lt=Nn(e.modelValue).slice(),Yt=mt(Lt);if(Yt<0)return;const En=Lt[Yt];Lt.splice(Yt,1),t(at,Lt),lt(Lt),t("remove-tag",En)}},be=(Te,vt)=>{const Lt=l.selected.indexOf(vt);if(Lt>-1&&!U.value){const Yt=Nn(e.modelValue).slice();Yt.splice(Lt,1),t(at,Yt),lt(Yt),t("remove-tag",vt.value)}Te.stopPropagation(),ct()},ze=Te=>{Te.stopPropagation();const vt=e.multiple?[]:N.value;if(e.multiple)for(const Lt of l.selected)Lt.isDisabled&&vt.push(Lt.value);t(at,vt),lt(vt),l.hoveringIndex=-1,y.value=!1,t("clear"),ct()},de=Te=>{if(e.multiple){const vt=Nn(e.modelValue??[]).slice(),Lt=Ge(vt,Te);Lt>-1?vt.splice(Lt,1):(e.multipleLimit<=0||vt.length{$t(Te)})},Ge=(Te,vt)=>Tt(vt)?-1:ot(vt.value)?Te.findIndex(Lt=>sn(wn(Lt,e.valueKey),oa(vt))):Te.indexOf(vt.value),$t=Te=>{const vt=ye(Te)?Te[Te.length-1]:Te;let Lt=null;if(!bn(vt?.value)){const Yt=ae.value.filter(En=>En.value===vt.value);Yt.length>0&&(Lt=Yt[0].$el)}if(d.value&&Lt){const Yt=d.value?.popperRef?.contentRef?.querySelector?.(`.${s.be("dropdown","wrap")}`);Yt&&Fv(Yt,Lt)}k.value?.handleScroll()},tn=Te=>{l.options.set(Te.value,Te),l.cachedOptions.set(Te.value,Te)},_n=(Te,vt)=>{l.options.get(Te)===vt&&l.options.delete(Te)},Be=w(()=>d.value?.popperRef?.contentRef),nt=()=>{l.isBeforeHide=!1,Re(()=>{k.value?.update(),$t(l.selected)})},ct=()=>{v.value?.focus()},kn=()=>{if(y.value){y.value=!1,Re(()=>v.value?.blur());return}v.value?.blur()},Wt=Te=>{ze(Te)},yn=Te=>{if(y.value=!1,P.value){const vt=new FocusEvent("blur",Te);Re(()=>I(vt))}},Qe=()=>{l.inputValue.length>0?l.inputValue="":y.value=!1},tt=Te=>{U.value||e.filterable&&y.value&&Te&&!p.value?.contains(Te.target)||(Xc&&(l.inputHovering=!0),l.menuVisibleOnFocus?l.menuVisibleOnFocus=!1:y.value=!y.value)},bt=()=>{if(!y.value)tt();else{const Te=ae.value[l.hoveringIndex];Te&&!Te.isDisabled&&de(Te)}},oa=Te=>ot(Te.value)?wn(Te.value,e.valueKey):Te.value,ho=w(()=>ae.value.filter(Te=>Te.visible).every(Te=>Te.isDisabled)),Wa=w(()=>e.multiple?e.collapseTags?l.selected.slice(0,e.maxCollapseTags):l.selected:[]),Ou=w(()=>e.multiple?e.collapseTags?l.selected.slice(e.maxCollapseTags):[]:[]),js=Te=>{if(!y.value){y.value=!0;return}if(!(l.options.size===0||ie.value===0||A.value)&&!ho.value){Te==="next"?(l.hoveringIndex++,l.hoveringIndex===l.options.size&&(l.hoveringIndex=0)):Te==="prev"&&(l.hoveringIndex--,l.hoveringIndex<0&&(l.hoveringIndex=l.options.size-1));const vt=ae.value[l.hoveringIndex];(vt.isDisabled||!vt.visible)&&js(Te),Re(()=>$t(S.value))}},Ru=(Te,vt,Lt,Yt)=>{for(let En=vt;En>=0&&En{const Lt=l.options.size;if(Lt===0)return;const Yt=ar(Te,0,Lt-1),En=ae.value,vo=vt==="up"?-1:1,Ar=Ru(En,Yt,vo,Lt)??Ru(En,Yt-vo,-vo,Lt);Ar!=null&&(l.hoveringIndex=Ar,Re(()=>$t(S.value)))},yf=Te=>{const vt=jt(Te);let Lt=!0;switch(vt){case we.up:js("prev");break;case we.down:js("next");break;case we.enter:case we.numpadEnter:A.value||bt();break;case we.esc:Qe();break;case we.backspace:Lt=!1,kt(Te);return;case we.home:if(!y.value)return;zo(0,"down");break;case we.end:if(!y.value)return;zo(l.options.size-1,"up");break;case we.pageUp:if(!y.value)return;zo(l.hoveringIndex-10,"up");break;case we.pageDown:if(!y.value)return;zo(l.hoveringIndex+10,"down");break;default:Lt=!1;break}Lt&&(Te.preventDefault(),Te.stopPropagation())},wf=()=>{if(!c.value)return 0;const Te=window.getComputedStyle(c.value);return Number.parseFloat(Te.gap||"6px")},Sf=w(()=>{const Te=wf(),vt=e.filterable?Te+Ad:0;return{maxWidth:`${b.value&&e.maxCollapseTags===1?l.selectionWidth-l.collapseItemWidth-Te-vt:l.selectionWidth-vt}px`}}),Cf=w(()=>({maxWidth:`${l.selectionWidth}px`})),kf=Te=>{t("popup-scroll",Te)};en(c,We),en(W,Pe),en(m,Ae),en(b,Ze);let _r;return le(()=>ve.value,Te=>{Te?_r=en(h,Pe).stop:(_r?.(),_r=void 0),t("visible-change",Te)}),ht(()=>{Ee()}),{inputId:O,contentId:o,nsSelect:s,nsInput:r,states:l,isFocused:P,expanded:y,optionsArray:ae,hoverOption:S,selectSize:re,filteredOptionsCount:ie,updateTooltip:Pe,updateTagTooltip:Ae,debouncedOnInputChange:Ue,onInput:Rt,deletePrevTag:kt,deleteTag:be,deleteSelected:ze,handleOptionSelect:de,scrollToOption:$t,hasModelValue:L,shouldShowPlaceholder:ke,currentPlaceholder:Ne,mouseEnterEventName:Ie,needStatusIcon:D,showClearBtn:F,iconComponent:q,iconReverse:j,validateState:X,validateIcon:Q,showNewOption:K,updateOptions:Z,collapseTagSize:ce,setSelected:Ee,selectDisabled:U,emptyText:ge,handleCompositionStart:_,handleCompositionUpdate:V,handleCompositionEnd:H,handleKeydown:yf,onOptionCreate:tn,onOptionDestroy:_n,handleMenuEnter:nt,focus:ct,blur:kn,handleClearClick:Wt,handleClickOutside:yn,handleEsc:Qe,toggleMenu:tt,selectOption:bt,getValueKey:oa,navigateOptions:js,dropdownMenuVisible:ve,showTagList:Wa,collapseTagList:Ou,popupScroll:kf,getOption:me,tagStyle:Sf,collapseTagStyle:Cf,popperRef:Be,inputRef:v,tooltipRef:d,tagTooltipRef:f,prefixRef:g,suffixRef:p,selectRef:u,wrapperRef:W,selectionRef:c,scrollbarRef:k,menuRef:h,tagMenuRef:m,collapseItemRef:b}};var rF=se({name:"ElOptions",setup(e,{slots:t}){const n=_e(bu);let a=[];return()=>{const o=t.default?.(),s=[];function r(l){ye(l)&&l.forEach(u=>{const c=(u?.type||{})?.name;c==="ElOptionGroup"?r(!Le(u.children)&&!ye(u.children)&&Ve(u.children?.default)?u.children?.default():u.children):c==="ElOption"?s.push(u.props?.value):ye(u.children)&&r(u.children)})}return o.length&&r(o[0]?.children),sn(s,a)||(a=s,n&&(n.states.optionValues=s)),o}}});const qy="ElSelect",Ai=new WeakMap,lF=e=>(...t)=>{const n=t[0];if(!n||n.includes('Slot "default" invoked outside of the render function')&&t[2]?.includes("ElTreeSelect"))return;const a=Ai.get(e)?.originalWarnHandler;if(a){a(...t);return}console.warn(...t)},iF=e=>{let t=Ai.get(e);return t||(t={originalWarnHandler:e.config.warnHandler,handler:lF(e),count:0},Ai.set(e,t)),t};var uF=se({name:qy,componentName:qy,components:{ElSelectMenu:oF,ElOption:hm,ElOptions:rF,ElOptionGroup:vm,ElTag:ts,ElScrollbar:ao,ElTooltip:Ln,ElIcon:De},directives:{ClickOutside:zs},props:Ak,emits:[at,yt,"remove-tag","clear","visible-change","focus","blur","popup-scroll"],setup(e,{emit:t,slots:n}){const a=ft(),o=iF(a.appContext);o.count+=1,a.appContext.config.warnHandler=o.handler;const s=w(()=>{const{modelValue:k,multiple:y}=e,S=y?[]:void 0;return ye(k)?y?k:S:y?S:k}),r=At({...Mn(e),modelValue:s}),l=sF(r,t),{calculatorRef:u,inputStyle:c}=Av(),{getLabel:d,getValue:f,getOptions:v,getDisabled:g}=yu(e),p=k=>({label:d(k),value:f(k),disabled:g(k)}),h=k=>k.reduce((y,S)=>(y.push(S),S.children&&S.children.length>0&&y.push(...h(S.children)),y),[]),m=k=>{Ta(k||[]).forEach(y=>{if(ot(y)&&(y.type.name==="ElOption"||y.type.name==="ElTree")){const S=y.type.name;if(S==="ElTree")h(y.props?.data||[]).forEach(C=>{C.currentLabel=C.label||(ot(C.value)?"":C.value),l.onOptionCreate(C)});else if(S==="ElOption"){const C={...y.props};C.currentLabel=C.label||(ot(C.value)?"":C.value),l.onOptionCreate(C)}}})};le(()=>[e.persistent||l.expanded.value||!n.default?void 0:n.default?.(),s.value],()=>{e.persistent||l.expanded.value||(l.states.options.clear(),m(n.default?.()))},{immediate:!0}),St(bu,At({props:r,states:l.states,selectRef:l.selectRef,optionsArray:l.optionsArray,setSelected:l.setSelected,handleOptionSelect:l.handleOptionSelect,onOptionCreate:l.onOptionCreate,onOptionDestroy:l.onOptionDestroy}));const b=w(()=>e.multiple?l.states.selected.map(k=>k.currentLabel):l.states.selectedLabel);return Bt(()=>{const k=Ai.get(a.appContext);k&&(k.count-=1,k.count<=0&&(a.appContext.config.warnHandler=k.originalWarnHandler,Ai.delete(a.appContext)))}),{...l,modelValue:s,selectedLabel:b,calculatorRef:u,inputStyle:c,getLabel:d,getValue:f,getOptions:v,getDisabled:g,getOptionProps:p}}});const cF=["id","value","name","disabled","autocomplete","tabindex","readonly","aria-activedescendant","aria-controls","aria-expanded","aria-label"],dF=["textContent"],fF={key:1};function pF(e,t,n,a,o,s){const r=It("el-tag"),l=It("el-tooltip"),u=It("el-icon"),c=It("el-option"),d=It("el-option-group"),f=It("el-options"),v=It("el-scrollbar"),g=It("el-select-menu"),p=iv("click-outside");return ut((x(),B("div",dt({ref:"selectRef",class:[e.nsSelect.b(),e.nsSelect.m(e.selectSize)]},{[ti(e.mouseEnterEventName)]:t[11]||(t[11]=h=>e.states.inputHovering=!0)},{onMouseleave:t[12]||(t[12]=h=>e.states.inputHovering=!1)}),[Y(l,{ref:"tooltipRef",visible:e.dropdownMenuVisible,placement:e.placement,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,pure:"",trigger:"click",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:e.persistent,"append-to":e.appendTo,"show-arrow":e.showArrow,offset:e.offset,onBeforeShow:e.handleMenuEnter,onHide:t[10]||(t[10]=h=>e.states.isBeforeHide=!1)},{default:J(()=>[z("div",{ref:"wrapperRef",class:T([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)]),onClick:t[7]||(t[7]=Xe((...h)=>e.toggleMenu&&e.toggleMenu(...h),["prevent"]))},[e.$slots.prefix?(x(),B("div",{key:0,ref:"prefixRef",class:T(e.nsSelect.e("prefix"))},[ee(e.$slots,"prefix")],2)):te("v-if",!0),z("div",{ref:"selectionRef",class:T([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.states.selected.length)])},[e.multiple?ee(e.$slots,"tag",{key:0,data:e.states.selected,deleteTag:e.deleteTag,selectDisabled:e.selectDisabled},()=>[(x(!0),B(Fe,null,gt(e.showTagList,h=>(x(),B("div",{key:e.getValueKey(h),class:T(e.nsSelect.e("selected-item"))},[Y(r,{closable:!e.selectDisabled&&!h.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:Ke(e.tagStyle),onClose:m=>e.deleteTag(m,h)},{default:J(()=>[z("span",{class:T(e.nsSelect.e("tags-text"))},[ee(e.$slots,"label",{index:h.index,label:h.currentLabel,value:h.value},()=>[wt(Se(h.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","style","onClose"])],2))),128)),e.collapseTags&&e.states.selected.length>e.maxCollapseTags?(x(),oe(l,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":e.tagTooltip?.fallbackPlacements??["bottom","top","right","left"],effect:e.tagTooltip?.effect??e.effect,placement:e.tagTooltip?.placement??"bottom","popper-class":e.tagTooltip?.popperClass??e.popperClass,"popper-style":e.tagTooltip?.popperStyle??e.popperStyle,teleported:e.tagTooltip?.teleported??e.teleported,"append-to":e.tagTooltip?.appendTo??e.appendTo,"popper-options":e.tagTooltip?.popperOptions??e.popperOptions,transition:e.tagTooltip?.transition,"show-after":e.tagTooltip?.showAfter,"hide-after":e.tagTooltip?.hideAfter,"auto-close":e.tagTooltip?.autoClose,offset:e.tagTooltip?.offset},{default:J(()=>[z("div",{ref:"collapseItemRef",class:T(e.nsSelect.e("selected-item"))},[Y(r,{closable:!1,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:Ke(e.collapseTagStyle)},{default:J(()=>[z("span",{class:T(e.nsSelect.e("tags-text"))}," + "+Se(e.states.selected.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect","style"])],2)]),content:J(()=>[z("div",{ref:"tagMenuRef",class:T(e.nsSelect.e("selection"))},[(x(!0),B(Fe,null,gt(e.collapseTagList,h=>(x(),B("div",{key:e.getValueKey(h),class:T(e.nsSelect.e("selected-item"))},[Y(r,{class:"in-tooltip",closable:!e.selectDisabled&&!h.isDisabled,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:m=>e.deleteTag(m,h)},{default:J(()=>[z("span",{class:T(e.nsSelect.e("tags-text"))},[ee(e.$slots,"label",{index:h.index,label:h.currentLabel,value:h.value},()=>[wt(Se(h.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","onClose"])],2))),128))],2)]),_:3},8,["disabled","fallback-placements","effect","placement","popper-class","popper-style","teleported","append-to","popper-options","transition","show-after","hide-after","auto-close","offset"])):te("v-if",!0)]):te("v-if",!0),z("div",{class:T([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable||e.selectDisabled||!e.states.inputValue&&!e.isFocused)])},[z("input",{id:e.inputId,ref:"inputRef",value:e.states.inputValue,type:"text",name:e.name,class:T([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,autocomplete:e.autocomplete,style:Ke(e.inputStyle),tabindex:e.tabindex,role:"combobox",readonly:!e.filterable,spellcheck:"false","aria-activedescendant":e.hoverOption?.id||"","aria-controls":e.contentId,"aria-expanded":e.dropdownMenuVisible,"aria-label":e.ariaLabel,"aria-autocomplete":"none","aria-haspopup":"listbox",onKeydown:t[0]||(t[0]=(...h)=>e.handleKeydown&&e.handleKeydown(...h)),onCompositionstart:t[1]||(t[1]=(...h)=>e.handleCompositionStart&&e.handleCompositionStart(...h)),onCompositionupdate:t[2]||(t[2]=(...h)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...h)),onCompositionend:t[3]||(t[3]=(...h)=>e.handleCompositionEnd&&e.handleCompositionEnd(...h)),onInput:t[4]||(t[4]=(...h)=>e.onInput&&e.onInput(...h)),onChange:t[5]||(t[5]=Xe(()=>{},["stop"])),onClick:t[6]||(t[6]=Xe((...h)=>e.toggleMenu&&e.toggleMenu(...h),["stop"]))},null,46,cF),e.filterable?(x(),B("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:T(e.nsSelect.e("input-calculator")),textContent:Se(e.states.inputValue)},null,10,dF)):te("v-if",!0)],2),e.shouldShowPlaceholder?(x(),B("div",{key:1,class:T([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?ee(e.$slots,"label",{key:0,index:e.getOption(e.modelValue).index,label:e.currentPlaceholder,value:e.modelValue},()=>[z("span",null,Se(e.currentPlaceholder),1)]):(x(),B("span",fF,Se(e.currentPlaceholder),1))],2)):te("v-if",!0)],2),z("div",{ref:"suffixRef",class:T(e.nsSelect.e("suffix"))},[e.iconComponent&&!e.showClearBtn?(x(),oe(u,{key:0,class:T([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.iconReverse])},{default:J(()=>[(x(),oe(it(e.iconComponent)))]),_:1},8,["class"])):te("v-if",!0),e.showClearBtn&&e.clearIcon?(x(),oe(u,{key:1,class:T([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.nsSelect.e("clear")]),onClick:e.handleClearClick},{default:J(()=>[(x(),oe(it(e.clearIcon)))]),_:1},8,["class","onClick"])):te("v-if",!0),e.validateState&&e.validateIcon&&e.needStatusIcon?(x(),oe(u,{key:2,class:T([e.nsInput.e("icon"),e.nsInput.e("validateIcon"),e.nsInput.is("loading",e.validateState==="validating")])},{default:J(()=>[(x(),oe(it(e.validateIcon)))]),_:1},8,["class"])):te("v-if",!0)],2)],2)]),content:J(()=>[Y(g,{ref:"menuRef"},{default:J(()=>[e.$slots.header?(x(),B("div",{key:0,class:T(e.nsSelect.be("dropdown","header")),onClick:t[8]||(t[8]=Xe(()=>{},["stop"]))},[ee(e.$slots,"header")],2)):te("v-if",!0),ut(Y(v,{id:e.contentId,ref:"scrollbarRef",tag:"ul","wrap-class":e.nsSelect.be("dropdown","wrap"),"view-class":e.nsSelect.be("dropdown","list"),class:T([e.nsSelect.is("empty",e.filteredOptionsCount===0)]),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical",onScroll:e.popupScroll},{default:J(()=>[e.showNewOption?(x(),oe(c,{key:0,value:e.states.inputValue,created:!0},null,8,["value"])):te("v-if",!0),Y(f,null,{default:J(()=>[ee(e.$slots,"default",{},()=>[(x(!0),B(Fe,null,gt(e.options,(h,m)=>(x(),B(Fe,{key:m},[e.getOptions(h)?.length?(x(),oe(d,{key:0,label:e.getLabel(h),disabled:e.getDisabled(h)},{default:J(()=>[(x(!0),B(Fe,null,gt(e.getOptions(h),b=>(x(),oe(c,dt({key:e.getValue(b)},{ref_for:!0},e.getOptionProps(b)),null,16))),128))]),_:2},1032,["label","disabled"])):(x(),oe(c,dt({key:1,ref_for:!0},e.getOptionProps(h)),null,16))],64))),128))])]),_:3})]),_:3},8,["id","wrap-class","view-class","class","aria-label","onScroll"]),[[Pt,e.states.options.size>0&&!e.loading]]),e.$slots.loading&&e.loading?(x(),B("div",{key:1,class:T(e.nsSelect.be("dropdown","loading"))},[ee(e.$slots,"loading")],2)):e.loading||e.filteredOptionsCount===0?(x(),B("div",{key:2,class:T(e.nsSelect.be("dropdown","empty"))},[ee(e.$slots,"empty",{},()=>[z("span",null,Se(e.emptyText),1)])],2)):te("v-if",!0),e.$slots.footer?(x(),B("div",{key:3,class:T(e.nsSelect.be("dropdown","footer")),onClick:t[9]||(t[9]=Xe(()=>{},["stop"]))},[ee(e.$slots,"footer")],2)):te("v-if",!0)]),_:3},512)]),_:3},8,["visible","placement","teleported","popper-class","popper-style","popper-options","fallback-placements","effect","transition","persistent","append-to","show-arrow","offset","onBeforeShow"])],16)),[[p,e.handleClickOutside,e.popperRef]])}var hF=$n(uF,[["render",pF]]);const Hs=rt(hF,{Option:hm,OptionGroup:vm}),sd=an(hm),vF=an(vm),mF=(e,t)=>{const n=e.subtract(1,"month").endOf("month").date();return _s(t).map((a,o)=>n-(t-o-1))},gF=e=>_s(e.daysInMonth()).map((t,n)=>n+1),bF=e=>_s(e.length/7).map(t=>{const n=t*7;return e.slice(n,n+7)}),yF=Ce({selectedDay:{type:G(Object)},range:{type:G(Array)},date:{type:G(Object),required:!0},hideHeader:{type:Boolean}}),wF={pick:e=>ot(e)};var wc={exports:{}},SF=wc.exports,Yy;function CF(){return Yy||(Yy=1,(function(e,t){(function(n,a){e.exports=a()})(SF,(function(){return function(n,a,o){var s=a.prototype,r=function(f){return f&&(f.indexOf?f:f.s)},l=function(f,v,g,p,h){var m=f.name?f:f.$locale(),b=r(m[v]),k=r(m[g]),y=b||k.map((function(C){return C.slice(0,p)}));if(!h)return y;var S=m.weekStart;return y.map((function(C,E){return y[(E+(S||0))%7]}))},u=function(){return o.Ls[o.locale()]},c=function(f,v){return f.formats[v]||(function(g){return g.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(p,h,m){return h||m.slice(1)}))})(f.formats[v.toUpperCase()])},d=function(){var f=this;return{months:function(v){return v?v.format("MMMM"):l(f,"months")},monthsShort:function(v){return v?v.format("MMM"):l(f,"monthsShort","months",3)},firstDayOfWeek:function(){return f.$locale().weekStart||0},weekdays:function(v){return v?v.format("dddd"):l(f,"weekdays")},weekdaysMin:function(v){return v?v.format("dd"):l(f,"weekdaysMin","weekdays",2)},weekdaysShort:function(v){return v?v.format("ddd"):l(f,"weekdaysShort","weekdays",3)},longDateFormat:function(v){return c(f.$locale(),v)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};s.localeData=function(){return d.bind(this)()},o.localeData=function(){var f=u();return{firstDayOfWeek:function(){return f.weekStart||0},weekdays:function(){return o.weekdays()},weekdaysShort:function(){return o.weekdaysShort()},weekdaysMin:function(){return o.weekdaysMin()},months:function(){return o.months()},monthsShort:function(){return o.monthsShort()},longDateFormat:function(v){return c(f,v)},meridiem:f.meridiem,ordinal:f.ordinal}},o.months=function(){return l(u(),"months")},o.monthsShort=function(){return l(u(),"monthsShort","months",3)},o.weekdays=function(f){return l(u(),"weekdays",null,null,f)},o.weekdaysShort=function(f){return l(u(),"weekdaysShort","weekdays",3,f)},o.weekdaysMin=function(f){return l(u(),"weekdaysMin","weekdays",2,f)}}}))})(wc)),wc.exports}var kF=CF();const Lk=bs(kF),EF=(e,t)=>{st.extend(Lk);const n=st.localeData().firstDayOfWeek(),{t:a,lang:o}=Ct(),s=st().locale(o.value),r=w(()=>!!e.range&&!!e.range.length),l=w(()=>{let v=[];if(r.value){const[g,p]=e.range,h=_s(p.date()-g.date()+1).map(k=>({text:g.date()+k,type:"current"}));let m=h.length%7;m=m===0?0:7-m;const b=_s(m).map((k,y)=>({text:y+1,type:"next"}));v=h.concat(b)}else{const g=e.date.startOf("month").day(),p=mF(e.date,(g-n+7)%7).map(b=>({text:b,type:"prev"})),h=gF(e.date).map(b=>({text:b,type:"current"}));v=[...p,...h];const m=_s(7-(v.length%7||7)).map((b,k)=>({text:k+1,type:"next"}));v=v.concat(m)}return bF(v)}),u=w(()=>{const v=n;return v===0?Af.map(g=>a(`el.datepicker.weeks.${g}`)):Af.slice(v).concat(Af.slice(0,v)).map(g=>a(`el.datepicker.weeks.${g}`))}),c=(v,g)=>{switch(g){case"prev":return e.date.startOf("month").subtract(1,"month").date(v);case"next":return e.date.startOf("month").add(1,"month").date(v);case"current":return e.date.date(v)}};return{now:s,isInRange:r,rows:l,weekDays:u,getFormattedDate:c,handlePickDay:({text:v,type:g})=>{t("pick",c(v,g))},getSlotData:({text:v,type:g})=>{const p=c(v,g);return{isSelected:p.isSame(e.selectedDay),type:`${g}-month`,day:p.format("YYYY-MM-DD"),date:p.toDate()}}}},xF={key:0},TF=["onClick"];var $F=se({name:"DateTable",__name:"date-table",props:yF,emits:wF,setup(e,{expose:t,emit:n}){const a=e,{isInRange:o,now:s,rows:r,weekDays:l,getFormattedDate:u,handlePickDay:c,getSlotData:d}=EF(a,n),f=fe("calendar-table"),v=fe("calendar-day"),g=({text:p,type:h})=>{const m=[h];if(h==="current"){const b=u(p,h);b.isSame(a.selectedDay,"day")&&m.push(v.is("selected")),b.isSame(s,"day")&&m.push(v.is("today"))}return m};return t({getFormattedDate:u}),(p,h)=>(x(),B("table",{class:T([i(f).b(),i(f).is("range",i(o))]),cellspacing:"0",cellpadding:"0"},[e.hideHeader?te("v-if",!0):(x(),B("thead",xF,[z("tr",null,[(x(!0),B(Fe,null,gt(i(l),m=>(x(),B("th",{key:m,scope:"col"},Se(m),1))),128))])])),z("tbody",null,[(x(!0),B(Fe,null,gt(i(r),(m,b)=>(x(),B("tr",{key:b,class:T({[i(f).e("row")]:!0,[i(f).em("row","hide-border")]:b===0&&e.hideHeader})},[(x(!0),B(Fe,null,gt(m,(k,y)=>(x(),B("td",{key:y,class:T(g(k)),onClick:S=>i(c)(k)},[z("div",{class:T(i(v).b())},[ee(p.$slots,"date-cell",{data:i(d)(k)},()=>[z("span",null,Se(k.text),1)])],2)],10,TF))),128))],2))),128))])],2))}}),Gy=$F;const OF=(e,t)=>{const n=e.endOf("month"),a=t.startOf("month"),o=n.isSame(a,"week")?a.add(1,"week"):a;return[[e,n],[o.startOf("week"),t]]},RF=(e,t)=>{const n=e.endOf("month"),a=e.add(1,"month").startOf("month"),o=n.isSame(a,"week")?a.add(1,"week"):a,s=o.endOf("month"),r=t.startOf("month"),l=s.isSame(r,"week")?r.add(1,"week"):r;return[[e,n],[o.startOf("week"),s],[l.startOf("week"),t]]},NF=(e,t,n)=>{const{lang:a}=Ct(),o=M(),s=st().locale(a.value),r=w({get(){return e.modelValue?u.value:o.value},set(b){if(!b)return;o.value=b;const k=b.toDate();t(Sn,k),t(at,k)}}),l=w(()=>{if(!e.range||!ye(e.range)||e.range.length!==2||e.range.some(y=>!As(y)))return[];const[b,k]=e.range.map(y=>st(y).locale(a.value));return b.isAfter(k)?(pt(n,"end time should be greater than start time"),[]):b.isSame(k,"month")?g(b,k):b.add(1,"month").month()!==k.month()?(pt(n,"start time and end time interval must not exceed two months"),[]):g(b,k)}),u=w(()=>e.modelValue?st(e.modelValue).locale(a.value):r.value||(l.value.length?l.value[0][0]:s)),c=w(()=>u.value.subtract(1,"month").date(1)),d=w(()=>u.value.add(1,"month").date(1)),f=w(()=>u.value.subtract(1,"year").date(1)),v=w(()=>u.value.add(1,"year").date(1)),g=(b,k)=>{const y=b.startOf("week"),S=k.endOf("week"),C=y.get("month"),E=S.get("month");return C===E?[[y,S]]:(C+1)%12===E?OF(y,S):C+2===E||(C+1)%11===E?RF(y,S):(pt(n,"start time and end time interval must not exceed two months"),[])},p=b=>{r.value=b},h=b=>{const k={"prev-month":c.value,"next-month":d.value,"prev-year":f.value,"next-year":v.value,today:s}[b];k.isSame(u.value,"day")||p(k)};return{calculateValidatedDateRange:g,date:u,realSelectedDay:r,pickDay:p,selectDate:h,validatedRange:l,handleDateChange:b=>{b==="today"?h("today"):p(b)}}},IF=Ce({date:{type:G(Object),required:!0},formatter:{type:G(Function)}}),PF={"date-change":e=>ot(e)||Le(e)};var MF=se({name:"SelectController",__name:"select-controller",props:IF,emits:PF,setup(e,{emit:t}){const n=e,a=t,o=fe("calendar-select"),{t:s,lang:r}=Ct(),l=Array.from({length:12},(p,h)=>{const m=h+1;return{value:m,label:Ve(n.formatter)?n.formatter(m,"month"):m}}),u=w(()=>n.date.year()),c=w(()=>n.date.month()+1),d=w(()=>{const p=[];for(let h=-10;h<10;h++){const m=u.value+h;if(m>0){const b=Ve(n.formatter)?n.formatter(m,"year"):m;p.push({value:m,label:b})}}return p}),f=p=>{a("date-change",st(new Date(p,c.value-1,1)).locale(r.value))},v=p=>{a("date-change",st(new Date(u.value,p-1,1)).locale(r.value))},g=()=>{a("date-change","today")};return(p,h)=>(x(),B(Fe,null,[Y(i(Hs),{"model-value":u.value,size:"small",class:T(i(o).e("year")),"validate-event":!1,options:d.value,onChange:f},null,8,["model-value","class","options"]),Y(i(Hs),{"model-value":c.value,size:"small",class:T(i(o).e("month")),"validate-event":!1,options:i(l),onChange:v},null,8,["model-value","class","options"]),Y(i(In),{size:"small",onClick:g},{default:J(()=>[wt(Se(i(s)("el.datepicker.today")),1)]),_:1})],64))}}),_F=MF;const Xy="ElCalendar";var AF=se({name:Xy,__name:"calendar",props:l8,emits:i8,setup(e,{expose:t,emit:n}){const a=fe("calendar"),{calculateValidatedDateRange:o,date:s,pickDay:r,realSelectedDay:l,selectDate:u,validatedRange:c,handleDateChange:d}=NF(e,n,Xy),{t:f}=Ct(),v=w(()=>{const g=`el.datepicker.month${s.value.format("M")}`;return`${s.value.year()} ${f("el.datepicker.year")} ${f(g)}`});return t({selectedDay:l,pickDay:r,selectDate:u,calculateValidatedDateRange:o}),(g,p)=>(x(),B("div",{class:T(i(a).b())},[z("div",{class:T(i(a).e("header"))},[ee(g.$slots,"header",{date:v.value},()=>[z("div",{class:T(i(a).e("title"))},Se(v.value),3),i(c).length===0&&e.controllerType==="button"?(x(),B("div",{key:0,class:T(i(a).e("button-group"))},[Y(i(hk),null,{default:J(()=>[Y(i(In),{size:"small",onClick:p[0]||(p[0]=h=>i(u)("prev-month"))},{default:J(()=>[wt(Se(i(f)("el.datepicker.prevMonth")),1)]),_:1}),Y(i(In),{size:"small",onClick:p[1]||(p[1]=h=>i(u)("today"))},{default:J(()=>[wt(Se(i(f)("el.datepicker.today")),1)]),_:1}),Y(i(In),{size:"small",onClick:p[2]||(p[2]=h=>i(u)("next-month"))},{default:J(()=>[wt(Se(i(f)("el.datepicker.nextMonth")),1)]),_:1})]),_:1})],2)):i(c).length===0&&e.controllerType==="select"?(x(),B("div",{key:1,class:T(i(a).e("select-controller"))},[Y(_F,{date:i(s),formatter:e.formatter,onDateChange:i(d)},null,8,["date","formatter","onDateChange"])],2)):te("v-if",!0)])],2),i(c).length===0?(x(),B("div",{key:0,class:T(i(a).e("body"))},[Y(Gy,{date:i(s),"selected-day":i(l),onPick:i(r)},ua({_:2},[g.$slots["date-cell"]?{name:"date-cell",fn:J(h=>[ee(g.$slots,"date-cell",Jo(Zo(h)))]),key:"0"}:void 0]),1032,["date","selected-day","onPick"])],2)):(x(),B("div",{key:1,class:T(i(a).e("body"))},[(x(!0),B(Fe,null,gt(i(c),(h,m)=>(x(),oe(Gy,{key:m,date:h[0],"selected-day":i(l),range:h,"hide-header":m!==0,onPick:i(r)},ua({_:2},[g.$slots["date-cell"]?{name:"date-cell",fn:J(b=>[ee(g.$slots,"date-cell",dt({ref_for:!0},b))]),key:"0"}:void 0]),1032,["date","selected-day","range","hide-header","onPick"]))),128))],2))],2))}}),LF=AF;const DF=rt(LF),BF=Ce({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:G([String,Object,Array]),default:""},headerClass:String,bodyClass:String,footerClass:String,shadow:{type:String,values:["always","hover","never"],default:void 0}});var FF=se({name:"ElCard",__name:"card",props:BF,setup(e){const t=gs("card"),n=fe("card");return(a,o)=>(x(),B("div",{class:T([i(n).b(),i(n).is(`${e.shadow||i(t)?.shadow||"always"}-shadow`)])},[a.$slots.header||e.header?(x(),B("div",{key:0,class:T([i(n).e("header"),e.headerClass])},[ee(a.$slots,"header",{},()=>[wt(Se(e.header),1)])],2)):te("v-if",!0),z("div",{class:T([i(n).e("body"),e.bodyClass]),style:Ke(e.bodyStyle)},[ee(a.$slots,"default")],6),a.$slots.footer||e.footer?(x(),B("div",{key:1,class:T([i(n).e("footer"),e.footerClass])},[ee(a.$slots,"footer",{},()=>[wt(Se(e.footer),1)])],2)):te("v-if",!0)],2))}}),VF=FF;const zF=rt(VF),HF=Ce({initialIndex:{type:Number,default:0},height:{type:String,default:""},trigger:{type:String,values:["hover","click"],default:"hover"},autoplay:{type:Boolean,default:!0},interval:{type:Number,default:3e3},indicatorPosition:{type:String,values:["","none","outside"],default:""},arrow:{type:String,values:["always","hover","never"],default:"hover"},type:{type:String,values:["","card"],default:""},cardScale:{type:Number,default:.83},loop:{type:Boolean,default:!0},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},pauseOnHover:{type:Boolean,default:!0},motionBlur:Boolean}),KF={change:(e,t)=>[e,t].every(He)},Dk=Symbol("carouselContextKey"),Li="ElCarouselItem",WF=Ce({name:{type:String,default:""},label:{type:[String,Number],default:""}}),Jy=300,jF=(e,t,n)=>{const{children:a,addChild:o,removeChild:s,ChildrenSorter:r}=Qd(ft(),Li),l=vn(),u=M(-1),c=M(null),d=M(!1),f=M(),v=M(0),g=M(!0),p=w(()=>e.arrow!=="never"&&!i(b)),h=w(()=>a.value.some(Q=>Q.props.label.toString().length>0)),m=w(()=>e.type==="card"),b=w(()=>e.direction==="vertical"),k=w(()=>e.height!=="auto"?{height:e.height}:{height:`${v.value}px`,overflow:"hidden"}),y=Rs(Q=>{N(Q)},Jy,{trailing:!0}),S=Rs(Q=>{P(Q)},Jy),C=Q=>g.value?u.value<=1?Q<=1:Q>1:!0;function E(){c.value&&(clearInterval(c.value),c.value=null)}function $(){e.interval<=0||!e.autoplay||c.value||(c.value=setInterval(()=>O(),e.interval))}const O=()=>{u.valueie.props.name===Q);ge.length>0&&(Q=a.value.indexOf(ge[0]))}if(Q=Number(Q),Number.isNaN(Q)||Q!==Math.floor(Q)){pt(n,"index must be integer.");return}const he=a.value.length,ue=u.value;Q<0?u.value=e.loop?he-1:0:Q>=he?u.value=e.loop?0:he-1:u.value=Q,ue===u.value&&R(ue),D()}function R(Q){a.value.forEach((he,ue)=>{he.translateItem(ue,u.value,Q)})}function A(Q,he){const ue=i(a),ge=ue.length;if(ge===0||!Q.states.inStage)return!1;const ie=he+1,ae=he-1,ne=ge-1,K=ue[ne].states.active,Z=ue[0].states.active,re=ue[ie]?.states?.active,ce=ue[ae]?.states?.active;return he===ne&&Z||re?"left":he===0&&K||ce?"right":!1}function _(){d.value=!0,e.pauseOnHover&&E()}function V(){d.value=!1,$()}function H(Q){i(b)||a.value.forEach((he,ue)=>{Q===A(he,ue)&&(he.states.hover=!0)})}function U(){i(b)||a.value.forEach(Q=>{Q.states.hover=!1})}function W(Q){u.value=Q}function P(Q){e.trigger==="hover"&&Q!==u.value&&(u.value=Q)}function I(){N(u.value-1)}function L(){N(u.value+1)}function D(){E(),(!e.pauseOnHover||!d.value)&&$()}function F(Q){e.height==="auto"&&(v.value=Q)}function q(){const Q=l.default?.();if(!Q)return null;const he=Ta(Q).filter(ue=>Ut(ue)&&ue.type.name===Li);return he?.length===2&&e.loop&&!m.value?(g.value=!0,he):(g.value=!1,null)}le(()=>u.value,(Q,he)=>{R(he),g.value&&(Q=Q%2,he=he%2),he>-1&&t(yt,Q,he)});const j=w({get:()=>g.value?u.value%2:u.value,set:Q=>u.value=Q});le(()=>e.autoplay,Q=>{Q?$():E()}),le(()=>e.loop,()=>{N(u.value)}),le(()=>e.interval,()=>{D()});const X=Xt();return ht(()=>{le(()=>a.value,()=>{a.value.length>0&&N(e.initialIndex)},{immediate:!0}),X.value=en(f.value,()=>{R()}),$()}),Bt(()=>{E(),f.value&&X.value&&X.value.stop()}),St(Dk,{root:f,isCardType:m,isVertical:b,items:a,loop:e.loop,cardScale:e.cardScale,addItem:o,removeItem:s,setActiveItem:N,setContainerHeight:F}),{root:f,activeIndex:u,exposeActiveIndex:j,arrowDisplay:p,hasLabel:h,hover:d,isCardType:m,items:a,isVertical:b,containerStyle:k,isItemsTwoLength:g,handleButtonEnter:H,handleButtonLeave:U,handleIndicatorClick:W,handleMouseEnter:_,handleMouseLeave:V,setActiveItem:N,prev:I,next:L,PlaceholderItem:q,isTwoLengthShow:C,ItemsSorter:r,throttledArrowClick:y,throttledIndicatorHover:S}},UF=["aria-label"],qF=["aria-label"],YF=["onMouseenter","onClick"],GF=["aria-label"],XF={key:0},JF={key:2,xmlns:"http://www.w3.org/2000/svg",version:"1.1",style:{display:"none"}},Zy="ElCarousel";var ZF=se({name:Zy,__name:"carousel",props:HF,emits:KF,setup(e,{expose:t,emit:n}){const a=e,{root:o,activeIndex:s,exposeActiveIndex:r,arrowDisplay:l,hasLabel:u,hover:c,isCardType:d,items:f,isVertical:v,containerStyle:g,handleButtonEnter:p,handleButtonLeave:h,handleIndicatorClick:m,handleMouseEnter:b,handleMouseLeave:k,setActiveItem:y,prev:S,next:C,PlaceholderItem:E,isTwoLengthShow:$,ItemsSorter:O,throttledArrowClick:N,throttledIndicatorHover:R}=jF(a,n,Zy),A=fe("carousel"),{t:_}=Ct(),V=w(()=>{const P=[A.b(),A.m(a.direction)];return i(d)&&P.push(A.m("card")),P.push(A.is("vertical-outside",i(v)&&a.indicatorPosition==="outside")),P}),H=w(()=>{const P=[A.e("indicators"),A.em("indicators",a.direction)];return i(u)&&P.push(A.em("indicators","labels")),a.indicatorPosition==="outside"&&P.push(A.em("indicators","outside")),i(v)&&P.push(A.em("indicators","right")),P});function U(P){if(!a.motionBlur)return;const I=i(v)?`${A.namespace.value}-transitioning-vertical`:`${A.namespace.value}-transitioning`;P.currentTarget.classList.add(I)}function W(P){if(!a.motionBlur)return;const I=i(v)?`${A.namespace.value}-transitioning-vertical`:`${A.namespace.value}-transitioning`;P.currentTarget.classList.remove(I)}return t({activeIndex:r,setActiveItem:y,prev:S,next:C}),(P,I)=>(x(),B("div",{ref_key:"root",ref:o,class:T(V.value),onMouseenter:I[6]||(I[6]=Xe((...L)=>i(b)&&i(b)(...L),["stop"])),onMouseleave:I[7]||(I[7]=Xe((...L)=>i(k)&&i(k)(...L),["stop"]))},[i(l)?(x(),oe(Vn,{key:0,name:"carousel-arrow-left",persisted:""},{default:J(()=>[ut(z("button",{type:"button",class:T([i(A).e("arrow"),i(A).em("arrow","left")]),"aria-label":i(_)("el.carousel.leftArrow"),onMouseenter:I[0]||(I[0]=L=>i(p)("left")),onMouseleave:I[1]||(I[1]=(...L)=>i(h)&&i(h)(...L)),onClick:I[2]||(I[2]=Xe(L=>i(N)(i(s)-1),["stop"]))},[Y(i(De),null,{default:J(()=>[Y(i(is))]),_:1})],42,UF),[[Pt,(e.arrow==="always"||i(c))&&(e.loop||i(s)>0)]])]),_:1})):te("v-if",!0),i(l)?(x(),oe(Vn,{key:1,name:"carousel-arrow-right",persisted:""},{default:J(()=>[ut(z("button",{type:"button",class:T([i(A).e("arrow"),i(A).em("arrow","right")]),"aria-label":i(_)("el.carousel.rightArrow"),onMouseenter:I[3]||(I[3]=L=>i(p)("right")),onMouseleave:I[4]||(I[4]=(...L)=>i(h)&&i(h)(...L)),onClick:I[5]||(I[5]=Xe(L=>i(N)(i(s)+1),["stop"]))},[Y(i(De),null,{default:J(()=>[Y(i(na))]),_:1})],42,qF),[[Pt,(e.arrow==="always"||i(c))&&(e.loop||i(s)[e.indicatorPosition!=="none"?(x(),B("ul",{key:0,class:T(H.value)},[(x(!0),B(Fe,null,gt(i(f),(L,D)=>ut((x(),B("li",{key:D,class:T([i(A).e("indicator"),i(A).em("indicator",e.direction),i(A).is("active",D===i(s))]),onMouseenter:F=>i(R)(D),onClick:Xe(F=>i(m)(D),["stop"])},[z("button",{class:T(i(A).e("button")),"aria-label":i(_)("el.carousel.indicator",{index:D+1})},[i(u)?(x(),B("span",XF,Se(L.props.label),1)):te("v-if",!0)],10,GF)],42,YF)),[[Pt,i($)(D)]])),128))],2)):te("v-if",!0)]),_:1}),e.motionBlur?(x(),B("svg",JF,[...I[8]||(I[8]=[z("defs",null,[z("filter",{id:"elCarouselHorizontal"},[z("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"12,0"})]),z("filter",{id:"elCarouselVertical"},[z("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"0,10"})])],-1)])])):te("v-if",!0)],34))}}),QF=ZF;const eV=e=>{const t=_e(Dk),n=ft();t||pt(Li,"usage: "),n||pt(Li,"compositional hook can only be invoked inside setups");const a=M(),o=M(!1),s=M(0),r=M(1),l=M(!1),u=M(!1),c=M(!1),d=M(!1),{isCardType:f,isVertical:v,cardScale:g}=t;function p(S,C,E){const $=E-1,O=C-1,N=C+1,R=E/2;return C===0&&S===$?-1:C===$&&S===0?E:S=R?E+1:S>N&&S-C>=R?-2:S}function h(S,C){const E=i(v)?t.root.value?.offsetHeight||0:t.root.value?.offsetWidth||0;return c.value?E*((2-g)*(S-C)+1)/4:S{const $=i(f),O=t.items.value.length??NaN,N=S===C;!$&&!Tt(E)&&(d.value=N||S===E),!N&&O>2&&t.loop&&(S=p(S,C,O));const R=i(v);l.value=N,$?(c.value=Math.round(Math.abs(S-C))<=1,s.value=h(S,C),r.value=i(l)?1:g):s.value=m(S,C,R),u.value=!0,N&&a.value&&t.setContainerHeight(a.value.offsetHeight)};function k(){if(t&&i(f)){const S=t.items.value.findIndex(({uid:C})=>C===n.uid);t.setActiveItem(S)}}const y={props:e,states:At({hover:o,translate:s,scale:r,active:l,ready:u,inStage:c,animating:d}),uid:n.uid,getVnode:()=>n.vnode,translateItem:b};return t.addItem(y),Bt(()=>{t.removeItem(y)}),{carouselItemRef:a,active:l,animating:d,hover:o,inStage:c,isVertical:v,translate:s,isCardType:f,scale:r,ready:u,handleItemClick:k}};var tV=se({name:Li,__name:"carousel-item",props:WF,setup(e){const t=e,n=fe("carousel"),{carouselItemRef:a,active:o,animating:s,hover:r,inStage:l,isVertical:u,translate:c,isCardType:d,scale:f,ready:v,handleItemClick:g}=eV(t),p=w(()=>[n.e("item"),n.is("active",o.value),n.is("in-stage",l.value),n.is("hover",r.value),n.is("animating",s.value),{[n.em("item","card")]:d.value,[n.em("item","card-vertical")]:d.value&&u.value}]),h=w(()=>({transform:[`${`translate${i(u)?"Y":"X"}`}(${i(c)}px)`,`scale(${i(f)})`].join(" ")}));return(m,b)=>ut((x(),B("div",{ref_key:"carouselItemRef",ref:a,class:T(p.value),style:Ke(h.value),onClick:b[0]||(b[0]=(...k)=>i(g)&&i(g)(...k))},[i(d)?ut((x(),B("div",{key:0,class:T(i(n).e("mask"))},null,2)),[[Pt,!i(o)]]):te("v-if",!0),ee(m.$slots,"default")],6)),[[Pt,i(v)]])}}),Bk=tV;const nV=rt(QF,{CarouselItem:Bk}),aV=an(Bk),Fk=Ce({modelValue:{type:G([Number,String,Array,Object])},options:{type:G(Array),default:()=>[]},props:{type:G(Object),default:()=>({})}}),oV={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:Dt,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500,checkOnClickNode:!1,checkOnClickLeaf:!0,showPrefix:!0},sV=Ce({...Fk,border:{type:Boolean,default:!0},renderLabel:{type:Function}}),Qy=e=>!0,rV={[at]:Qy,[yt]:Qy,close:()=>!0,"expand-change":e=>e},lV=e=>w(()=>({...oV,...e.props})),Vk={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:{type:Boolean,default:void 0},checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},border:Boolean,size:Tn,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},ariaLabel:String,...aa(["ariaControls"])},zk={[at]:e=>Le(e)||He(e)||Ht(e),change:e=>Le(e)||He(e)||Ht(e)},Ll=Symbol("checkboxGroupContextKey"),iV=Ce({modelValue:{type:G(Array),default:()=>[]},disabled:{type:Boolean,default:void 0},min:Number,max:Number,size:Tn,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0},options:{type:G(Array)},props:{type:G(Object),default:()=>Hk},type:{type:String,values:["checkbox","button"],default:"checkbox"},...aa(["ariaLabel"])}),uV={[at]:e=>ye(e),change:e=>ye(e)},Hk={label:"label",value:"value",disabled:"disabled"},cV=({model:e,isChecked:t})=>{const n=_e(Ll,void 0),a=_e(Mr,void 0),o=w(()=>{const s=n?.max?.value,r=n?.min?.value;return!Tt(s)&&e.value.length>=s&&!t.value||!Tt(r)&&e.value.length<=r&&t.value});return{isDisabled:un(w(()=>n===void 0?a?.disabled??o.value:n.disabled?.value||o.value)),isLimitDisabled:o}},dV=(e,{model:t,isLimitExceeded:n,hasOwnLabel:a,isDisabled:o,isLabeledByFormItem:s})=>{const r=_e(Ll,void 0),{formItem:l}=Dn(),{emit:u}=ft();function c(p){return[!0,e.trueValue,e.trueLabel].includes(p)?e.trueValue??e.trueLabel??!0:e.falseValue??e.falseLabel??!1}function d(p,h){u(yt,c(p),h)}function f(p){if(n.value)return;const h=p.target;u(yt,c(h.checked),p)}async function v(p){n.value||!a.value&&!o.value&&s.value&&(p.composedPath().some(h=>h.tagName==="LABEL")||(t.value=c([!1,e.falseValue,e.falseLabel].includes(t.value)),await Re(),d(t.value,p)))}const g=w(()=>r?.validateEvent||e.validateEvent);return le(()=>e.modelValue,()=>{g.value&&l?.validate("change").catch(p=>pt(p))}),{handleChange:f,onClickRoot:v}},fV=e=>{const t=M(!1),{emit:n}=ft(),a=_e(Ll,void 0),o=w(()=>Tt(a)===!1),s=M(!1),r=w({get(){return o.value?a?.modelValue?.value:e.modelValue??t.value},set(l){o.value&&ye(l)?(s.value=a?.max?.value!==void 0&&l.length>a?.max.value&&l.length>r.value.length,s.value===!1&&a?.changeEvent?.(l)):(n(at,l),t.value=l)}});return{model:r,isGroup:o,isLimitExceeded:s}},pV=(e,t,{model:n})=>{const a=_e(Ll,void 0),o=M(!1),s=w(()=>va(e.value)?e.label:e.value),r=w(()=>{const l=n.value;return Ht(l)?l:ye(l)?ot(s.value)?l.map(qt).some(u=>sn(u,s.value)):l.map(qt).includes(s.value):l!=null?l===e.trueValue||l===e.trueLabel:!!l});return{checkboxButtonSize:Cn(w(()=>a?.size?.value),{prop:!0}),isChecked:r,isFocused:o,checkboxSize:Cn(w(()=>a?.size?.value)),hasOwnLabel:w(()=>!!t.default||!va(s.value)),actualValue:s}},Kk=(e,t)=>{const{formItem:n}=Dn(),{model:a,isGroup:o,isLimitExceeded:s}=fV(e),{isFocused:r,isChecked:l,checkboxButtonSize:u,checkboxSize:c,hasOwnLabel:d,actualValue:f}=pV(e,t,{model:a}),{isDisabled:v}=cV({model:a,isChecked:l}),{inputId:g,isLabeledByFormItem:p}=Ia(e,{formItemContext:n,disableIdGeneration:d,disableIdManagement:o}),{handleChange:h,onClickRoot:m}=dV(e,{model:a,isLimitExceeded:s,hasOwnLabel:d,isDisabled:v,isLabeledByFormItem:p});return(()=>{function k(){ye(a.value)&&!a.value.includes(f.value)?a.value.push(f.value):a.value=e.trueValue??e.trueLabel??!0}e.checked&&k()})(),To({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},w(()=>o.value&&va(e.value))),To({from:"true-label",replacement:"true-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},w(()=>!!e.trueLabel)),To({from:"false-label",replacement:"false-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},w(()=>!!e.falseLabel)),{inputId:g,isLabeledByFormItem:p,isChecked:l,isDisabled:v,isFocused:r,checkboxButtonSize:u,checkboxSize:c,hasOwnLabel:d,model:a,actualValue:f,handleChange:h,onClickRoot:m}},hV=["id","indeterminate","name","tabindex","disabled"];var vV=se({name:"ElCheckbox",__name:"checkbox",props:Vk,emits:zk,setup(e){const t=e,{inputId:n,isLabeledByFormItem:a,isChecked:o,isDisabled:s,isFocused:r,checkboxSize:l,hasOwnLabel:u,model:c,actualValue:d,handleChange:f,onClickRoot:v}=Kk(t,vn()),g=w(()=>t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":t.trueValue??t.trueLabel??!0,"false-value":t.falseValue??t.falseLabel??!1}:{value:d.value}),p=fe("checkbox"),h=w(()=>[p.b(),p.m(l.value),p.is("disabled",s.value),p.is("bordered",t.border),p.is("checked",o.value)]),m=w(()=>[p.e("input"),p.is("disabled",s.value),p.is("checked",o.value),p.is("indeterminate",t.indeterminate),p.is("focus",r.value)]);return(b,k)=>(x(),oe(it(!i(u)&&i(a)?"span":"label"),{for:!i(u)&&i(a)?null:i(n),class:T(h.value),"aria-controls":e.indeterminate?e.ariaControls:null,"aria-checked":e.indeterminate?"mixed":void 0,"aria-label":e.ariaLabel,onClick:i(v)},{default:J(()=>[z("span",{class:T(m.value)},[ut(z("input",dt({id:i(n),"onUpdate:modelValue":k[0]||(k[0]=y=>Jt(c)?c.value=y:null),class:i(p).e("original"),type:"checkbox",indeterminate:e.indeterminate,name:e.name,tabindex:e.tabindex,disabled:i(s)},g.value,{onChange:k[1]||(k[1]=(...y)=>i(f)&&i(f)(...y)),onFocus:k[2]||(k[2]=y=>r.value=!0),onBlur:k[3]||(k[3]=y=>r.value=!1),onClick:k[4]||(k[4]=Xe(()=>{},["stop"]))}),null,16,hV),[[q1,i(c)]]),z("span",{class:T(i(p).e("inner"))},null,2)],2),i(u)?(x(),B("span",{key:0,class:T(i(p).e("label"))},[ee(b.$slots,"default"),b.$slots.default?te("v-if",!0):(x(),B(Fe,{key:0},[wt(Se(e.label),1)],64))],2)):te("v-if",!0)]),_:3},8,["for","class","aria-controls","aria-checked","aria-label","onClick"]))}}),Wk=vV;const mV=["name","tabindex","disabled"];var gV=se({name:"ElCheckboxButton",__name:"checkbox-button",props:Vk,emits:zk,setup(e){const t=e,{isFocused:n,isChecked:a,isDisabled:o,checkboxButtonSize:s,model:r,actualValue:l,handleChange:u}=Kk(t,vn()),c=w(()=>t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":t.trueValue??t.trueLabel??!0,"false-value":t.falseValue??t.falseLabel??!1}:{value:l.value}),d=_e(Ll,void 0),f=fe("checkbox"),v=w(()=>{const p=d?.fill?.value??"";return{backgroundColor:p,borderColor:p,color:d?.textColor?.value??"",boxShadow:p?`-1px 0 0 0 ${p}`:void 0}}),g=w(()=>[f.b("button"),f.bm("button",s.value),f.is("disabled",o.value),f.is("checked",a.value),f.is("focus",n.value)]);return(p,h)=>(x(),B("label",{class:T(g.value)},[ut(z("input",dt({"onUpdate:modelValue":h[0]||(h[0]=m=>Jt(r)?r.value=m:null),class:i(f).be("button","original"),type:"checkbox",name:e.name,tabindex:e.tabindex,disabled:i(o)},c.value,{onChange:h[1]||(h[1]=(...m)=>i(u)&&i(u)(...m)),onFocus:h[2]||(h[2]=m=>n.value=!0),onBlur:h[3]||(h[3]=m=>n.value=!1),onClick:h[4]||(h[4]=Xe(()=>{},["stop"]))}),null,16,mV),[[q1,i(r)]]),p.$slots.default||e.label?(x(),B("span",{key:0,class:T(i(f).be("button","inner")),style:Ke(i(a)?v.value:void 0)},[ee(p.$slots,"default",{},()=>[wt(Se(e.label),1)])],6)):te("v-if",!0)],2))}}),mm=gV,bV=se({name:"ElCheckboxGroup",__name:"checkbox-group",props:iV,emits:uV,setup(e,{emit:t}){const n=e,a=t,o=fe("checkbox"),s=un(),{formItem:r}=Dn(),{inputId:l,isLabeledByFormItem:u}=Ia(n,{formItemContext:r}),c=async p=>{a(at,p),await Re(),a(yt,p)},d=w({get(){return n.modelValue},set(p){c(p)}}),f=w(()=>({...Hk,...n.props})),v=p=>{const{label:h,value:m,disabled:b}=f.value,k={label:p[h],value:p[m],disabled:p[b]};return{...tu(p,[h,m,b]),...k}},g=w(()=>n.type==="button"?mm:Wk);return St(Ll,{...ss(Mn(n),["size","min","max","validateEvent","fill","textColor"]),disabled:s,modelValue:d,changeEvent:c}),le(()=>n.modelValue,(p,h)=>{n.validateEvent&&!sn(p,h)&&r?.validate("change").catch(m=>pt(m))}),(p,h)=>(x(),oe(it(e.tag),{id:i(l),class:T(i(o).b("group")),role:"group","aria-label":i(u)?void 0:e.ariaLabel||"checkbox-group","aria-labelledby":i(u)?i(r)?.labelId:void 0},{default:J(()=>[ee(p.$slots,"default",{},()=>[(x(!0),B(Fe,null,gt(e.options,(m,b)=>(x(),oe(it(g.value),dt({key:b},{ref_for:!0},v(m)),null,16))),128))])]),_:3},8,["id","class","aria-label","aria-labelledby"]))}}),jk=bV;const so=rt(Wk,{CheckboxButton:mm,CheckboxGroup:jk}),yV=an(mm),gm=an(jk),Uk=Ce({modelValue:{type:[String,Number,Boolean],default:void 0},size:Tn,disabled:{type:Boolean,default:void 0},label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),wV=Ce({...Uk,border:Boolean}),qk={[at]:e=>Le(e)||He(e)||Ht(e),[yt]:e=>Le(e)||He(e)||Ht(e)},Yk=Symbol("radioGroupKey"),SV=Ce({...Uk}),Gk={label:"label",value:"value",disabled:"disabled"},CV=Ce({id:{type:String,default:void 0},size:Tn,disabled:{type:Boolean,default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},options:{type:G(Array)},props:{type:G(Object),default:()=>Gk},type:{type:String,values:["radio","button"],default:"radio"},...aa(["ariaLabel"])}),kV=qk,Xk=(e,t)=>{const n=M(),a=_e(Yk,void 0),o=w(()=>!!a),s=w(()=>va(e.value)?e.label:e.value),r=w({get(){return o.value?a.modelValue:e.modelValue},set(f){o.value?a.changeEvent(f):t&&t(at,f),n.value.checked=e.modelValue===s.value}}),l=Cn(w(()=>a?.size)),u=un(w(()=>a?.disabled)),c=M(!1),d=w(()=>u.value||o.value&&r.value!==s.value?-1:0);return To({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},w(()=>o.value&&va(e.value))),{radioRef:n,isGroup:o,radioGroup:a,focus:c,size:l,disabled:u,tabIndex:d,modelValue:r,actualValue:s}},EV=["value","name","disabled","checked"];var xV=se({name:"ElRadio",__name:"radio",props:wV,emits:qk,setup(e,{emit:t}){const n=e,a=t,o=fe("radio"),{radioRef:s,radioGroup:r,focus:l,size:u,disabled:c,modelValue:d,actualValue:f}=Xk(n,a);function v(){Re(()=>a(yt,d.value))}return(g,p)=>(x(),B("label",{class:T([i(o).b(),i(o).is("disabled",i(c)),i(o).is("focus",i(l)),i(o).is("bordered",e.border),i(o).is("checked",i(d)===i(f)),i(o).m(i(u))])},[z("span",{class:T([i(o).e("input"),i(o).is("disabled",i(c)),i(o).is("checked",i(d)===i(f))])},[ut(z("input",{ref_key:"radioRef",ref:s,"onUpdate:modelValue":p[0]||(p[0]=h=>Jt(d)?d.value=h:null),class:T(i(o).e("original")),value:i(f),name:e.name||i(r)?.name,disabled:i(c),checked:i(d)===i(f),type:"radio",onFocus:p[1]||(p[1]=h=>l.value=!0),onBlur:p[2]||(p[2]=h=>l.value=!1),onChange:v,onClick:p[3]||(p[3]=Xe(()=>{},["stop"]))},null,42,EV),[[vv,i(d)]]),z("span",{class:T(i(o).e("inner"))},null,2)],2),z("span",{class:T(i(o).e("label")),onKeydown:p[4]||(p[4]=Xe(()=>{},["stop"]))},[ee(g.$slots,"default",{},()=>[wt(Se(e.label),1)])],34)],2))}}),Jk=xV;const TV=["value","name","disabled"];var $V=se({name:"ElRadioButton",__name:"radio-button",props:SV,setup(e){const t=e,n=fe("radio"),{radioRef:a,focus:o,size:s,disabled:r,modelValue:l,radioGroup:u,actualValue:c}=Xk(t),d=w(()=>({backgroundColor:u?.fill||"",borderColor:u?.fill||"",boxShadow:u?.fill?`-1px 0 0 0 ${u.fill}`:"",color:u?.textColor||""}));return(f,v)=>(x(),B("label",{class:T([i(n).b("button"),i(n).is("active",i(l)===i(c)),i(n).is("disabled",i(r)),i(n).is("focus",i(o)),i(n).bm("button",i(s))])},[ut(z("input",{ref_key:"radioRef",ref:a,"onUpdate:modelValue":v[0]||(v[0]=g=>Jt(l)?l.value=g:null),class:T(i(n).be("button","original-radio")),value:i(c),type:"radio",name:e.name||i(u)?.name,disabled:i(r),onFocus:v[1]||(v[1]=g=>o.value=!0),onBlur:v[2]||(v[2]=g=>o.value=!1),onClick:v[3]||(v[3]=Xe(()=>{},["stop"]))},null,42,TV),[[vv,i(l)]]),z("span",{class:T(i(n).be("button","inner")),style:Ke(i(l)===i(c)?d.value:{}),onKeydown:v[4]||(v[4]=Xe(()=>{},["stop"]))},[ee(f.$slots,"default",{},()=>[wt(Se(e.label),1)])],38)],2))}}),bm=$V;const OV=["id","aria-label","aria-labelledby"];var RV=se({name:"ElRadioGroup",__name:"radio-group",props:CV,emits:kV,setup(e,{emit:t}){const n=e,a=t,o=fe("radio"),s=zn(),r=M(),{formItem:l}=Dn(),{inputId:u,isLabeledByFormItem:c}=Ia(n,{formItemContext:l}),d=h=>{a(at,h),Re(()=>a(yt,h))};ht(()=>{const h=r.value.querySelectorAll("[type=radio]"),m=h[0];!Array.from(h).some(b=>b.checked)&&m&&(m.tabIndex=0)});const f=w(()=>n.name||s.value),v=w(()=>({...Gk,...n.props})),g=h=>{const{label:m,value:b,disabled:k}=v.value,y={label:h[m],value:h[b],disabled:h[k]};return{...tu(h,[m,b,k]),...y}},p=w(()=>n.type==="button"?bm:Jk);return St(Yk,At({...Mn(n),changeEvent:d,name:f})),le(()=>n.modelValue,(h,m)=>{n.validateEvent&&!sn(h,m)&&l?.validate("change").catch(b=>pt(b))}),(h,m)=>(x(),B("div",{id:i(u),ref_key:"radioGroupRef",ref:r,class:T(i(o).b("group")),role:"radiogroup","aria-label":i(c)?void 0:e.ariaLabel||"radio-group","aria-labelledby":i(c)?i(l).labelId:void 0},[ee(h.$slots,"default",{},()=>[(x(!0),B(Fe,null,gt(e.options,(b,k)=>(x(),oe(it(p.value),dt({key:k},{ref_for:!0},g(b)),null,16))),128))])],10,OV))}}),Zk=RV;const Qk=rt(Jk,{RadioButton:bm,RadioGroup:Zk}),NV=an(Zk),IV=an(bm),sf=Symbol();function PV(e){return!!(ye(e)?e.every(({type:t})=>t===gn):e?.type===gn)}var MV=se({name:"NodeContent",props:{node:{type:Object,required:!0}},setup(e){const t=fe("cascader-node"),{renderLabelFn:n}=_e(sf),{node:a}=e,{data:o,label:s}=a,r=()=>{const l=n?.({node:a,data:o});return PV(l)?s:l??s};return()=>Y("span",{class:t.e("label")},[r()])}});const _V=["id","aria-haspopup","aria-owns","aria-expanded","tabindex"];var AV=se({name:"ElCascaderNode",__name:"node",props:{node:{type:Object,required:!0},menuId:String},emits:["expand"],setup(e,{emit:t}){const n=e,a=t,o=_e(sf),s=fe("cascader-node"),r=w(()=>o.isHoverMenu),l=w(()=>o.config.multiple),u=w(()=>o.config.checkStrictly),c=w(()=>o.config.showPrefix),d=w(()=>o.checkedNodes[0]?.uid),f=w(()=>n.node.isDisabled),v=w(()=>n.node.isLeaf),g=w(()=>u.value&&!v.value||!f.value),p=w(()=>m(o.expandingNode)),h=w(()=>u.value&&o.checkedNodes.some(m)),m=N=>{const{level:R,uid:A}=n.node;return N?.pathNodes[R-1]?.uid===A},b=()=>{p.value||o.expandNode(n.node)},k=N=>{const{node:R}=n;N!==R.checked&&o.handleCheckChange(R,N)},y=()=>{o.lazyLoad(n.node,()=>{v.value||b()})},S=N=>{r.value&&(C(),!v.value&&a("expand",N))},C=()=>{const{node:N}=n;!g.value||N.loading||(N.loaded?b():y())},E=()=>{v.value&&!f.value&&!u.value&&!l.value?O(!0):(o.config.checkOnClickNode&&(l.value||u.value)||v.value&&o.config.checkOnClickLeaf)&&!f.value?$(!n.node.checked):r.value||C()},$=N=>{u.value?(k(N),n.node.loaded&&b()):O(N)},O=N=>{n.node.loaded?(k(N),!u.value&&b()):y()};return(N,R)=>(x(),B("li",{id:`${e.menuId}-${e.node.uid}`,role:"menuitem","aria-haspopup":!v.value,"aria-owns":v.value?void 0:e.menuId,"aria-expanded":p.value,tabindex:g.value?-1:void 0,class:T([i(s).b(),i(s).is("selectable",u.value),i(s).is("active",e.node.checked),i(s).is("disabled",!g.value),p.value&&"in-active-path",h.value&&"in-checked-path"]),onMouseenter:S,onFocus:S,onClick:E},[te(" prefix "),l.value&&c.value?(x(),oe(i(so),{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:f.value,onClick:R[0]||(R[0]=Xe(()=>{},["stop"])),"onUpdate:modelValue":$},null,8,["model-value","indeterminate","disabled"])):u.value&&c.value?(x(),oe(i(Qk),{key:1,"model-value":d.value,label:e.node.uid,disabled:f.value,"onUpdate:modelValue":$,onClick:R[1]||(R[1]=Xe(()=>{},["stop"]))},{default:J(()=>[te(` + Add an empty element to avoid render label, + do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485 + `),R[2]||(R[2]=z("span",null,null,-1))]),_:1},8,["model-value","label","disabled"])):v.value&&e.node.checked?(x(),oe(i(De),{key:2,class:T(i(s).e("prefix"))},{default:J(()=>[Y(i(vu))]),_:1},8,["class"])):te("v-if",!0),te(" content "),Y(i(MV),{node:e.node},null,8,["node"]),te(" postfix "),v.value?te("v-if",!0):(x(),B(Fe,{key:3},[e.node.loading?(x(),oe(i(De),{key:0,class:T([i(s).is("loading"),i(s).e("postfix")])},{default:J(()=>[Y(i(Ao))]),_:1},8,["class"])):(x(),oe(i(De),{key:1,class:T(["arrow-right",i(s).e("postfix")])},{default:J(()=>[Y(i(na))]),_:1},8,["class"]))],64))],42,_V))}}),LV=AV,DV=se({name:"ElCascaderMenu",__name:"menu",props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(e){const t=e,n=ft(),a=fe("cascader-menu"),{t:o}=Ct(),s=zn();let r,l;const u=_e(sf),c=M(),d=w(()=>!t.nodes.length),f=w(()=>!u.initialLoaded),v=w(()=>`${s.value}-${t.index}`),g=b=>{r=b.target},p=b=>{if(!(!u.isHoverMenu||!r||!c.value))if(r.contains(b.target)){h();const k=n.vnode.el,{left:y}=k.getBoundingClientRect(),{offsetWidth:S,offsetHeight:C}=k,E=b.clientX-y,$=r.offsetTop,O=$+r.offsetHeight,N=k.querySelector(`.${a.e("wrap")}`)?.scrollTop||0;c.value.innerHTML=` + + + `}else l||(l=window.setTimeout(m,u.config.hoverThreshold))},h=()=>{l&&(clearTimeout(l),l=void 0)},m=()=>{c.value&&(c.value.innerHTML="",h())};return(b,k)=>(x(),oe(i(ao),{key:v.value,tag:"ul",role:"menu",class:T(i(a).b()),"wrap-class":i(a).e("wrap"),"view-class":[i(a).e("list"),i(a).is("empty",d.value)],onMousemove:p,onMouseleave:m},{default:J(()=>[(x(!0),B(Fe,null,gt(e.nodes,y=>(x(),oe(LV,{key:y.uid,node:y,"menu-id":v.value,onExpand:g},null,8,["node","menu-id"]))),128)),f.value?(x(),B("div",{key:0,class:T(i(a).e("empty-text"))},[Y(i(De),{size:"14",class:T(i(a).is("loading"))},{default:J(()=>[Y(i(Ao))]),_:1},8,["class"]),wt(" "+Se(i(o)("el.cascader.loading")),1)],2)):d.value?(x(),B("div",{key:1,class:T(i(a).e("empty-text"))},[ee(b.$slots,"empty",{},()=>[wt(Se(i(o)("el.cascader.noData")),1)])],2)):i(u)?.isHoverMenu?(x(),B(Fe,{key:2},[te(" eslint-disable vue/html-self-closing "),(x(),B("svg",{ref_key:"hoverZone",ref:c,class:T(i(a).e("hover-zone"))},null,2))],2112)):te("v-if",!0),te(" eslint-enable vue/html-self-closing ")]),_:3},8,["class","wrap-class","view-class"]))}}),BV=DV;let FV=0;const VV=e=>{const t=[e];let{parent:n}=e;for(;n;)t.unshift(n),n=n.parent;return t};var dh=class fh{constructor(t,n,a,o=!1){this.data=t,this.config=n,this.parent=a,this.root=o,this.uid=FV++,this.checked=!1,this.indeterminate=!1,this.loading=!1;const{value:s,label:r,children:l}=n,u=t[l],c=VV(this);this.level=o?0:a?a.level+1:1,this.value=t[s],this.label=t[r],this.pathNodes=c,this.pathValues=c.map(d=>d.value),this.pathLabels=c.map(d=>d.label),this.childrenData=u,this.children=(u||[]).map(d=>new fh(d,n,this)),this.loaded=!n.lazy||this.isLeaf||!ia(u),this.text=""}get isDisabled(){const{data:t,parent:n,config:a}=this,{disabled:o,checkStrictly:s}=a;return(Ve(o)?o(t,this):!!t[o])||!s&&!!n?.isDisabled}get isLeaf(){const{data:t,config:n,childrenData:a,loaded:o}=this,{lazy:s,leaf:r}=n,l=Ve(r)?r(t,this):t[r];return Tt(l)?s&&!o?!1:!(ye(a)&&a.length):!!l}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(t){const{childrenData:n,children:a}=this,o=new fh(t,this.config,this);return ye(n)?n.push(t):this.childrenData=[t],a.push(o),o}calcText(t,n){const a=t?this.pathLabels.join(n):this.label;return this.text=a,a}broadcast(t){this.children.forEach(n=>{n&&(n.broadcast(t),n.onParentCheck?.(t))})}emit(){const{parent:t}=this;t&&(t.onChildCheck?.(),t.emit())}onParentCheck(t){this.isDisabled||this.setCheckState(t)}onChildCheck(){const{children:t}=this,n=t.filter(o=>!o.isDisabled),a=n.length?n.every(o=>o.checked):!1;this.setCheckState(a)}setCheckState(t){const n=this.children.length,a=this.children.reduce((o,s)=>o+(s.checked?1:s.indeterminate?.5:0),0);this.checked=this.loaded&&this.children.filter(o=>!o.isDisabled).every(o=>o.loaded&&o.checked)&&t,this.indeterminate=this.loaded&&a!==n&&a>0}doCheck(t){if(this.checked===t)return;const{checkStrictly:n,multiple:a}=this.config;n||!a?this.checked=t:(this.broadcast(t),this.setCheckState(t),this.emit())}};const ph=(e,t)=>e.reduce((n,a)=>(a.isLeaf?n.push(a):(!t&&n.push(a),n=n.concat(ph(a.children,t))),n),[]);var e0=class{constructor(e,t){this.config=t;const n=(e||[]).map(a=>new dh(a,this.config));this.nodes=n,this.allNodes=ph(n,!1),this.leafNodes=ph(n,!0)}getNodes(){return this.nodes}getFlattedNodes(e){return e?this.leafNodes:this.allNodes}appendNode(e,t){const n=t?t.appendChild(e):new dh(e,this.config);t||this.nodes.push(n),this.appendAllNodesAndLeafNodes(n)}appendNodes(e,t){e.length>0?e.forEach(n=>this.appendNode(n,t)):t&&t.isLeaf&&this.leafNodes.push(t)}appendAllNodesAndLeafNodes(e){this.allNodes.push(e),e.isLeaf&&this.leafNodes.push(e),e.children&&e.children.forEach(t=>{this.appendAllNodesAndLeafNodes(t)})}getNodeByValue(e,t=!1){return va(e)?null:this.getFlattedNodes(t).find(n=>sn(n.value,e)||sn(n.pathValues,e))||null}getSameNode(e){return e&&this.getFlattedNodes(!1).find(({value:t,level:n})=>sn(e.value,t)&&e.level===n)||null}};const t0=e=>{if(!e)return 0;const t=e.id.split("-");return Number(t[t.length-2])},zV=e=>{if(!e)return;const t=e.querySelector("input");t?t.click():qS(e)&&e.click()},HV=(e,t)=>{const n=t.slice(0),a=n.map(s=>s.uid),o=e.reduce((s,r)=>{const l=a.indexOf(r.uid);return l>-1&&(s.push(r),n.splice(l,1),a.splice(l,1)),s},[]);return o.push(...n),o};var KV=se({name:"ElCascaderPanel",__name:"index",props:sV,emits:rV,setup(e,{expose:t,emit:n}){const a=e,o=n;let s=!1;const r=fe("cascader"),l=lV(a),u=vn();let c;const d=M(!0),f=M(!1),v=M([]),g=M(),p=M([]),h=M(),m=M([]),b=w(()=>l.value.expandTrigger==="hover"),k=w(()=>a.renderLabel||u.default),y=()=>{const{options:P}=a,I=l.value;s=!1,c=new e0(P,I),p.value=[c.getNodes()],I.lazy&&ia(a.options)?(d.value=!1,S(void 0,L=>{L&&(c=new e0(L,I),p.value=[c.getNodes()]),d.value=!0,_(!1,!0)})):_(!1,!0)},S=(P,I)=>{const L=l.value;P=P||new dh({},L,void 0,!0),P.loading=!0;const D=q=>{const j=P,X=j.root?null:j;j.loading=!1,j.loaded=!0,j.childrenData=j.childrenData||[],q&&c?.appendNodes(q,X),q&&I?.(q),P.level===0&&(f.value=!0)},F=()=>{P.loading=!1,P.loaded=!1,P.level===0&&(d.value=!0)};L.lazyLoad(P,D,F)},C=(P,I)=>{const{level:L}=P,D=p.value.slice(0,L);let F;P.isLeaf?F=P.pathNodes[L-2]:(F=P,D.push(P.children)),h.value?.uid!==F?.uid&&(h.value=P,p.value=D,!I&&o("expand-change",P?.pathValues||[]))},E=(P,I,L=!0)=>{const{checkStrictly:D,multiple:F}=l.value,q=m.value[0];s=!0,!F&&q?.doCheck(!1),P.doCheck(I),A(),L&&!F&&!D&&o("close"),!L&&!F&&$(P)},$=P=>{P&&(P=P.parent,$(P),P&&C(P))},O=P=>c?.getFlattedNodes(P),N=P=>O(P)?.filter(({checked:I})=>I!==!1),R=()=>{m.value.forEach(P=>P.doCheck(!1)),A(),p.value=p.value.slice(0,1),h.value=void 0,o("expand-change",[])},A=()=>{const{checkStrictly:P,multiple:I}=l.value,L=m.value,D=HV(L,N(!P)),F=D.map(q=>q.valueByOption);m.value=D,g.value=I?F:F[0]??null},_=(P=!1,I=!1)=>{const{modelValue:L}=a,{lazy:D,multiple:F,checkStrictly:q}=l.value,j=!q;if(!(!d.value||s||!I&&sn(L,g.value)))if(D&&!P){const X=uy(bM(Zn(L))).map(Q=>c?.getNodeByValue(Q)).filter(Q=>!!Q&&!Q.loaded&&!Q.loading);X.length?X.forEach(Q=>{S(Q,()=>_(!1,I))}):_(!0,I)}else V(uy((F?Zn(L):[L]).map(X=>c?.getNodeByValue(X,j))),I),g.value=es(L??void 0)},V=(P,I=!0)=>{const{checkStrictly:L}=l.value,D=m.value,F=P.filter(X=>!!X&&(L||X.isLeaf)),q=c?.getSameNode(h.value),j=I&&q||F[0];j?j.pathNodes.forEach(X=>C(X,!0)):h.value=void 0,D.forEach(X=>X.doCheck(!1)),At(F).forEach(X=>X.doCheck(!0)),m.value=F,Re(H)},H=()=>{Mt&&v.value.forEach(P=>{const I=P?.$el;if(I){const L=I.querySelector(`.${r.namespace.value}-scrollbar__wrap`);let D=I.querySelector(`.${r.b("node")}.in-active-path`);if(!D){const F=I.querySelectorAll(`.${r.b("node")}.${r.is("active")}`);D=F[F.length-1]}Fv(L,D)}})},U=P=>{const I=P.target,L=jt(P);switch(L){case we.up:case we.down:P.preventDefault(),cc(YS(I,L===we.up?-1:1,`.${r.b("node")}[tabindex="-1"]`));break;case we.left:{P.preventDefault();const D=v.value[t0(I)-1]?.$el.querySelector(`.${r.b("node")}[aria-expanded="true"]`);cc(D);break}case we.right:{P.preventDefault();const D=v.value[t0(I)+1]?.$el.querySelector(`.${r.b("node")}[tabindex="-1"]`);cc(D);break}case we.enter:case we.numpadEnter:zV(I);break}};St(sf,At({config:l,expandingNode:h,checkedNodes:m,isHoverMenu:b,initialLoaded:d,renderLabelFn:k,lazyLoad:S,expandNode:C,handleCheckChange:E})),le(l,(P,I)=>{sn(P,I)||y()},{immediate:!0}),le(()=>a.options,y,{deep:!0}),le(()=>a.modelValue,()=>{s=!1,_()},{deep:!0}),le(()=>g.value,P=>{sn(P,a.modelValue)||(o(at,P),o(yt,P))});const W=()=>{f.value||y()};return rv(()=>v.value=[]),ht(()=>!ia(a.modelValue)&&_()),t({menuList:v,menus:p,checkedNodes:m,handleKeyDown:U,handleCheckChange:E,getFlattedNodes:O,getCheckedNodes:N,clearCheckedNodes:R,calculateCheckedValue:A,scrollToExpandingNode:H,loadLazyRootNodes:W}),(P,I)=>(x(),B("div",{class:T([i(r).b("panel"),i(r).is("bordered",e.border)]),onKeydown:U},[(x(!0),B(Fe,null,gt(p.value,(L,D)=>(x(),oe(BV,{key:D,ref_for:!0,ref:F=>v.value[D]=F,index:D,nodes:[...L]},{empty:J(()=>[ee(P.$slots,"empty")]),_:3},8,["index","nodes"]))),128))],34))}}),WV=KV;const e2=rt(WV),jV=Ce({...Fk,size:Tn,placeholder:String,disabled:{type:Boolean,default:void 0},clearable:Boolean,clearIcon:{type:Kt,default:Vo},filterable:Boolean,filterMethod:{type:G(Function),default:(e,t)=>e.text.includes(t)},separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,maxCollapseTags:{type:Number,default:1},collapseTagsTooltip:Boolean,maxCollapseTagsTooltipHeight:{type:[String,Number]},debounce:{type:Number,default:300},beforeFilter:{type:G(Function),default:()=>!0},placement:{type:G(String),values:Do,default:"bottom-start"},fallbackPlacements:{type:G(Array),default:["bottom-start","bottom","top-start","top","right","left"]},popperClass:zt.popperClass,popperStyle:zt.popperStyle,teleported:zt.teleported,effect:{type:G(String),default:"light"},tagType:{...us.type,default:"info"},tagEffect:{...us.effect,default:"light"},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},showCheckedStrategy:{type:String,values:["parent","child"],default:"child"},checkOnClickNode:Boolean,showPrefix:{type:Boolean,default:!0},...Pr}),n0=e=>!0,UV={[at]:n0,[yt]:n0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,visibleChange:e=>Ht(e),expandChange:e=>!!e,removeTag:e=>!!e},qV=["placeholder"],YV=["onClick"];var GV=se({name:"ElCascader",__name:"cascader",props:jV,emits:UV,setup(e,{expose:t,emit:n}){const a={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:Be})=>{const{modifiersData:nt,placement:ct}=Be;["right","left","bottom","top"].includes(ct)||nt.arrow&&(nt.arrow.x=35)},requires:["arrow"]}]},o=e,s=n,r=fs(),l=vn();let u=0,c=0;const d=fe("cascader"),f=fe("input"),v={small:7,default:11,large:15},{t:g}=Ct(),{formItem:p}=Dn(),h=un(),{valueOnClear:m}=hu(o),{isComposing:b,handleComposition:k}=pu({afterComposition(Be){const nt=Be.target?.value;Ge(nt)}}),y=M(),S=M(),C=M(),E=M(),$=M(),O=M(),N=M(!1),R=M(!1),A=M(!1),_=M(""),V=M(""),H=M([]),U=M([]),W=w(()=>o.props.multiple?o.collapseTags?H.value.slice(0,o.maxCollapseTags):H.value:[]),P=w(()=>o.props.multiple?o.collapseTags?H.value.slice(o.maxCollapseTags):[]:[]),I=w(()=>r.style),L=w(()=>o.placeholder??g("el.cascader.placeholder")),D=w(()=>V.value||H.value.length>0||b.value?"":L.value),F=Cn(),q=w(()=>F.value==="small"?"small":"default"),j=w(()=>!!o.props.multiple),X=w(()=>!o.filterable||j.value),Q=w(()=>j.value?V.value:_.value),he=w(()=>$.value?.checkedNodes||[]),{wrapperRef:ue,isFocused:ge,handleBlur:ie}=ms(C,{disabled:h,beforeBlur(Be){return y.value?.isFocusInsideContent(Be)||S.value?.isFocusInsideContent(Be)},afterBlur(){o.validateEvent&&p?.validate?.("blur").catch(Be=>pt(Be))}}),ae=w(()=>!o.clearable||h.value||A.value||!R.value&&!ge.value?!1:!!he.value.length),ne=w(()=>{const{showAllLevels:Be,separator:nt}=o,ct=he.value;return ct.length?j.value?"":ct[0].calcText(Be,nt):""}),K=w(()=>p?.validateState||""),Z=w({get(){return es(o.modelValue)},set(Be){const nt=Be??m.value;s(at,nt),s(yt,nt),o.validateEvent&&p?.validate("change").catch(ct=>pt(ct))}}),re=w(()=>[d.b(),d.m(F.value),d.is("disabled",h.value),r.class]),ce=w(()=>[f.e("icon"),"icon-arrow-down",d.is("reverse",N.value)]),ve=w(()=>d.is("focus",ge.value)),ke=w(()=>y.value?.popperRef?.contentRef),Ne=Be=>{ge.value&&ie(new FocusEvent("blur",Be)),Ie(!1)},Ie=Be=>{h.value||(Be=Be??!N.value,Be!==N.value&&(N.value=Be,C.value?.input?.setAttribute("aria-expanded",`${Be}`),Be?($e(),$.value&&Re($.value.scrollToExpandingNode)):o.filterable&&mt(),s("visibleChange",Be)))},$e=()=>{Re(()=>{y.value?.updatePopper()})},pe=()=>{A.value=!1},Ee=Be=>{const{showAllLevels:nt,separator:ct}=o;return{node:Be,key:Be.uid,text:Be.calcText(nt,ct),hitState:!1,closable:!h.value&&!Be.isDisabled}},me=Be=>{const nt=Be.node;nt.doCheck(!1),$.value?.calculateCheckedValue(),s("removeTag",nt.valueByOption)},Me=()=>{switch(o.showCheckedStrategy){case"child":return he.value;case"parent":{const Be=je(!1),nt=Be.map(ct=>ct.value);return Be.filter(ct=>!ct.parent||!nt.includes(ct.parent.value))}default:return[]}},We=()=>{if(!j.value)return;const Be=Me(),nt=[];Be.forEach(ct=>nt.push(Ee(ct))),H.value=nt},Ze=()=>{const{filterMethod:Be,showAllLevels:nt,separator:ct}=o,kn=$.value?.getFlattedNodes(!o.props.checkStrictly)?.filter(Wt=>Wt.isDisabled?!1:(Wt.calcText(nt,ct),Be(Wt,Q.value)));j.value&&H.value.forEach(Wt=>{Wt.hitState=!1}),A.value=!0,U.value=kn,$e()},Pe=()=>{let Be;A.value&&O.value?Be=O.value.$el.querySelector(`.${d.e("suggestion-item")}`):Be=$.value?.$el.querySelector(`.${d.b("node")}[tabindex="-1"]`),Be&&(Be.focus(),!A.value&&Be.click())},Ae=()=>{const Be=C.value?.input,nt=E.value,ct=O.value?.$el;if(!(!Mt||!Be)){if(ct){const kn=ct.querySelector(`.${d.e("suggestion-list")}`);kn.style.minWidth=`${Be.offsetWidth}px`}if(nt){const{offsetHeight:kn}=nt,Wt=H.value.length>0?`${Math.max(kn,u)-2}px`:`${u}px`;if(Be.style.height=Wt,l.prefix){const yn=C.value?.$el.querySelector(`.${f.e("prefix")}`);let Qe=0;yn&&(Qe=yn.offsetWidth,Qe>0&&(Qe+=v[F.value||"default"])),nt.style.left=`${Qe}px`}else nt.style.left="0";$e()}}},je=Be=>$.value?.getCheckedNodes(Be),Rt=Be=>{$e(),s("expandChange",Be)},Ue=Be=>{if(!b.value)switch(jt(Be)){case we.enter:case we.numpadEnter:Ie();break;case we.down:Ie(!0),Re(Pe),Be.preventDefault();break;case we.esc:N.value===!0&&(Be.preventDefault(),Be.stopPropagation(),Ie(!1));break;case we.tab:Ie(!1);break}},lt=()=>{$.value?.clearCheckedNodes(),!N.value&&o.filterable&&mt(),Ie(!1),s("clear")},mt=()=>{const{value:Be}=ne;_.value=Be,V.value=Be},kt=Be=>{const{checked:nt}=Be;j.value?$.value?.handleCheckChange(Be,!nt,!1):(!nt&&$.value?.handleCheckChange(Be,!0,!1),Ie(!1))},be=Be=>{const nt=Be.target,ct=jt(Be);switch(ct){case we.up:case we.down:Be.preventDefault(),cc(YS(nt,ct===we.up?-1:1,`.${d.e("suggestion-item")}[tabindex="-1"]`));break;case we.enter:case we.numpadEnter:nt.click();break}},ze=()=>{const Be=H.value[H.value.length-1];c=V.value?0:c+1,!(!Be||!c||o.collapseTags&&H.value.length>1)&&(Be.hitState?me(Be):Be.hitState=!0)},de=ou(()=>{const{value:Be}=Q;if(!Be)return;const nt=o.beforeFilter(Be);mr(nt)?nt.then(Ze).catch(()=>{}):nt!==!1?Ze():pe()},w(()=>o.debounce)),Ge=(Be,nt)=>{!N.value&&Ie(!0),!nt?.isComposing&&(Be?de():pe())},$t=Be=>Number.parseFloat(a_(f.cssVarName("input-height"),Be).value)-2,tn=()=>{C.value?.focus()},_n=()=>{C.value?.blur()};return le(A,$e),le([he,h,()=>o.collapseTags,()=>o.maxCollapseTags],We),le(H,()=>{Re(()=>Ae())}),le(F,async()=>{await Re();const Be=C.value.input;u=$t(Be)||u,Ae()}),le(ne,mt,{immediate:!0}),le(()=>N.value,Be=>{Be&&o.props.lazy&&o.props.lazyLoad&&$.value?.loadLazyRootNodes()}),ht(()=>{const Be=C.value.input,nt=$t(Be);u=Be.offsetHeight||nt,en(Be,Ae)}),t({getCheckedNodes:je,cascaderPanelRef:$,togglePopperVisible:Ie,contentRef:ke,presentText:ne,focus:tn,blur:_n}),(Be,nt)=>(x(),oe(i(Ln),{ref_key:"tooltipRef",ref:y,visible:N.value,teleported:e.teleported,"popper-class":[i(d).e("dropdown"),e.popperClass],"popper-style":e.popperStyle,"popper-options":a,"fallback-placements":e.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:e.placement,transition:`${i(d).namespace.value}-zoom-in-top`,effect:e.effect,pure:"",persistent:e.persistent,onHide:pe},{default:J(()=>[ut((x(),B("div",{ref_key:"wrapperRef",ref:ue,class:T(re.value),style:Ke(I.value),onClick:nt[8]||(nt[8]=()=>Ie(X.value?void 0:!0)),onKeydown:Ue,onMouseenter:nt[9]||(nt[9]=ct=>R.value=!0),onMouseleave:nt[10]||(nt[10]=ct=>R.value=!1)},[Y(i(ea),{ref_key:"inputRef",ref:C,modelValue:_.value,"onUpdate:modelValue":nt[1]||(nt[1]=ct=>_.value=ct),placeholder:D.value,readonly:X.value,disabled:i(h),"validate-event":!1,size:i(F),class:T(ve.value),tabindex:j.value&&e.filterable&&!i(h)?-1:void 0,onCompositionstart:i(k),onCompositionupdate:i(k),onCompositionend:i(k),onInput:Ge},ua({suffix:J(()=>[ae.value?(x(),oe(i(De),{key:"clear",class:T([i(f).e("icon"),"icon-circle-close"]),onClick:Xe(lt,["stop"])},{default:J(()=>[(x(),oe(it(e.clearIcon)))]),_:1},8,["class"])):(x(),oe(i(De),{key:"arrow-down",class:T(ce.value),onClick:nt[0]||(nt[0]=Xe(ct=>Ie(),["stop"]))},{default:J(()=>[Y(i(Fo))]),_:1},8,["class"]))]),_:2},[Be.$slots.prefix?{name:"prefix",fn:J(()=>[ee(Be.$slots,"prefix")]),key:"0"}:void 0]),1032,["modelValue","placeholder","readonly","disabled","size","class","tabindex","onCompositionstart","onCompositionupdate","onCompositionend"]),j.value?(x(),B("div",{key:0,ref_key:"tagWrapper",ref:E,class:T([i(d).e("tags"),i(d).is("validate",!!K.value)])},[ee(Be.$slots,"tag",{data:H.value,deleteTag:me},()=>[(x(!0),B(Fe,null,gt(W.value,ct=>(x(),oe(i(ts),{key:ct.key,type:e.tagType,size:q.value,effect:e.tagEffect,hit:ct.hitState,closable:ct.closable,"disable-transitions":"",onClose:kn=>me(ct)},{default:J(()=>[z("span",null,Se(ct.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))),128))]),e.collapseTags&&H.value.length>e.maxCollapseTags?(x(),oe(i(Ln),{key:0,ref_key:"tagTooltipRef",ref:S,disabled:N.value||!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom","popper-class":e.popperClass,"popper-style":e.popperStyle,effect:e.effect,persistent:e.persistent},{default:J(()=>[Y(i(ts),{closable:!1,size:q.value,type:e.tagType,effect:e.tagEffect,"disable-transitions":""},{default:J(()=>[z("span",{class:T(i(d).e("tags-text"))}," + "+Se(H.value.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect"])]),content:J(()=>[Y(i(ao),{"max-height":e.maxCollapseTagsTooltipHeight},{default:J(()=>[z("div",{class:T(i(d).e("collapse-tags"))},[(x(!0),B(Fe,null,gt(P.value,(ct,kn)=>(x(),B("div",{key:kn,class:T(i(d).e("collapse-tag"))},[(x(),oe(i(ts),{key:ct.key,class:"in-tooltip",type:e.tagType,size:q.value,effect:e.tagEffect,hit:ct.hitState,closable:ct.closable,"disable-transitions":"",onClose:Wt=>me(ct)},{default:J(()=>[z("span",null,Se(ct.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))],2))),128))],2)]),_:1},8,["max-height"])]),_:1},8,["disabled","popper-class","popper-style","effect","persistent"])):te("v-if",!0),e.filterable&&!i(h)?ut((x(),B("input",{key:1,"onUpdate:modelValue":nt[2]||(nt[2]=ct=>V.value=ct),type:"text",class:T(i(d).e("search-input")),placeholder:ne.value?"":L.value,onInput:nt[3]||(nt[3]=ct=>Ge(V.value,ct)),onClick:nt[4]||(nt[4]=Xe(ct=>Ie(!0),["stop"])),onKeydown:on(ze,["delete"]),onCompositionstart:nt[5]||(nt[5]=(...ct)=>i(k)&&i(k)(...ct)),onCompositionupdate:nt[6]||(nt[6]=(...ct)=>i(k)&&i(k)(...ct)),onCompositionend:nt[7]||(nt[7]=(...ct)=>i(k)&&i(k)(...ct))},null,42,qV)),[[hv,V.value]]):te("v-if",!0)],2)):te("v-if",!0)],38)),[[i(zs),Ne,ke.value]])]),content:J(()=>[Be.$slots.header?(x(),B("div",{key:0,class:T(i(d).e("header")),onClick:nt[11]||(nt[11]=Xe(()=>{},["stop"]))},[ee(Be.$slots,"header")],2)):te("v-if",!0),ut(Y(i(e2),{ref_key:"cascaderPanelRef",ref:$,modelValue:Z.value,"onUpdate:modelValue":nt[12]||(nt[12]=ct=>Z.value=ct),options:e.options,props:o.props,border:!1,"render-label":Be.$slots.default,onExpandChange:Rt,onClose:nt[13]||(nt[13]=ct=>Be.$nextTick(()=>Ie(!1)))},{empty:J(()=>[ee(Be.$slots,"empty")]),_:3},8,["modelValue","options","props","render-label"]),[[Pt,!A.value]]),e.filterable?ut((x(),oe(i(ao),{key:1,ref_key:"suggestionPanel",ref:O,tag:"ul",class:T(i(d).e("suggestion-panel")),"view-class":i(d).e("suggestion-list"),onKeydown:be},{default:J(()=>[U.value.length?(x(!0),B(Fe,{key:0},gt(U.value,ct=>(x(),B("li",{key:ct.uid,class:T([i(d).e("suggestion-item"),i(d).is("checked",ct.checked)]),tabindex:-1,onClick:kn=>kt(ct)},[ee(Be.$slots,"suggestion-item",{item:ct},()=>[z("span",null,Se(ct.text),1),ct.checked?(x(),oe(i(De),{key:0},{default:J(()=>[Y(i(vu))]),_:1})):te("v-if",!0)])],10,YV))),128)):ee(Be.$slots,"empty",{key:1},()=>[z("li",{class:T(i(d).e("empty-text"))},Se(i(g)("el.cascader.noMatch")),3)])]),_:3},8,["class","view-class"])),[[Pt,A.value]]):te("v-if",!0),Be.$slots.footer?(x(),B("div",{key:2,class:T(i(d).e("footer")),onClick:nt[14]||(nt[14]=Xe(()=>{},["stop"]))},[ee(Be.$slots,"footer")],2)):te("v-if",!0)]),_:3},8,["visible","teleported","popper-class","popper-style","fallback-placements","placement","transition","effect","persistent"]))}}),XV=GV;const JV=rt(XV),ZV=Ce({checked:Boolean,disabled:Boolean,type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"}}),QV={"update:checked":e=>Ht(e),[yt]:e=>Ht(e)};var e6=se({name:"ElCheckTag",__name:"check-tag",props:ZV,emits:QV,setup(e,{emit:t}){const n=e,a=t,o=fe("check-tag"),s=w(()=>[o.b(),o.is("checked",n.checked),o.is("disabled",n.disabled),o.m(n.type||"primary")]),r=()=>{if(n.disabled)return;const l=!n.checked;a(yt,l),a("update:checked",l)};return(l,u)=>(x(),B("span",{class:T(s.value),onClick:r},[ee(l.$slots,"default")],2))}}),t6=e6;const n6=rt(t6),a6=Ce({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:G([Number,Object]),default:()=>rn({})},sm:{type:G([Number,Object]),default:()=>rn({})},md:{type:G([Number,Object]),default:()=>rn({})},lg:{type:G([Number,Object]),default:()=>rn({})},xl:{type:G([Number,Object]),default:()=>rn({})}}),o6=["start","center","end","space-around","space-between","space-evenly"],s6=["top","middle","bottom"],r6=Ce({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:o6,default:"start"},align:{type:String,values:s6}}),t2=Symbol("rowContextKey");var l6=se({name:"ElRow",__name:"row",props:r6,setup(e){const t=e,n=fe("row");St(t2,{gutter:w(()=>t.gutter)});const a=w(()=>{const s={};return t.gutter&&(s.marginRight=s.marginLeft=`-${t.gutter/2}px`),s}),o=w(()=>[n.b(),n.is(`justify-${t.justify}`,t.justify!=="start"),n.is(`align-${t.align}`,!!t.align)]);return(s,r)=>(x(),oe(it(e.tag),{class:T(o.value),style:Ke(a.value)},{default:J(()=>[ee(s.$slots,"default")]),_:3},8,["class","style"]))}}),i6=l6;const u6=rt(i6);var c6=se({name:"ElCol",__name:"col",props:a6,setup(e){const t=e,{gutter:n}=_e(t2,{gutter:w(()=>0)}),a=fe("col"),o=w(()=>{const r={};return n.value&&(r.paddingLeft=r.paddingRight=`${n.value/2}px`),r}),s=w(()=>{const r=[];return["span","offset","pull","push"].forEach(l=>{const u=t[l];He(u)&&(l==="span"?r.push(a.b(`${t[l]}`)):u>0&&r.push(a.b(`${l}-${t[l]}`)))}),["xs","sm","md","lg","xl"].forEach(l=>{He(t[l])?r.push(a.b(`${l}-${t[l]}`)):ot(t[l])&&Object.entries(t[l]).forEach(([u,c])=>{r.push(u!=="span"?a.b(`${l}-${u}-${c}`):a.b(`${l}-${c}`))})}),n.value&&r.push(a.is("guttered")),[a.b(),r]});return(r,l)=>(x(),oe(it(e.tag),{class:T(s.value),style:Ke(o.value)},{default:J(()=>[ee(r.$slots,"default")]),_:3},8,["class","style"]))}}),d6=c6;const f6=rt(d6),a0=e=>He(e)||Le(e)||ye(e),p6=Ce({accordion:Boolean,modelValue:{type:G([Array,String,Number]),default:()=>rn([])},expandIconPosition:{type:G([String]),default:"right"},beforeCollapse:{type:G(Function)}}),h6={[at]:a0,[yt]:a0},n2=Symbol("collapseContextKey"),v6=Ce({title:{type:String,default:""},name:{type:G([String,Number]),default:void 0},icon:{type:Kt,default:na},disabled:Boolean});var m6=se({name:"ElCollapseTransition",__name:"collapse-transition",setup(e){const t=fe("collapse-transition"),n=o=>{o.style.maxHeight="",o.style.overflow=o.dataset.oldOverflow,o.style.paddingTop=o.dataset.oldPaddingTop,o.style.paddingBottom=o.dataset.oldPaddingBottom},a={beforeEnter(o){o.dataset||(o.dataset={}),o.dataset.oldPaddingTop=o.style.paddingTop,o.dataset.oldPaddingBottom=o.style.paddingBottom,o.style.height&&(o.dataset.elExistsHeight=o.style.height),o.style.maxHeight=0,o.style.paddingTop=0,o.style.paddingBottom=0},enter(o){requestAnimationFrame(()=>{o.dataset.oldOverflow=o.style.overflow,o.dataset.elExistsHeight?o.style.maxHeight=o.dataset.elExistsHeight:o.scrollHeight!==0?o.style.maxHeight=`${o.scrollHeight}px`:o.style.maxHeight=0,o.style.paddingTop=o.dataset.oldPaddingTop,o.style.paddingBottom=o.dataset.oldPaddingBottom,o.style.overflow="hidden"})},afterEnter(o){o.style.maxHeight="",o.style.overflow=o.dataset.oldOverflow},enterCancelled(o){n(o)},beforeLeave(o){o.dataset||(o.dataset={}),o.dataset.oldPaddingTop=o.style.paddingTop,o.dataset.oldPaddingBottom=o.style.paddingBottom,o.dataset.oldOverflow=o.style.overflow,o.style.maxHeight=`${o.scrollHeight}px`,o.style.overflow="hidden"},leave(o){o.scrollHeight!==0&&(o.style.maxHeight=0,o.style.paddingTop=0,o.style.paddingBottom=0)},afterLeave(o){n(o)},leaveCancelled(o){n(o)}};return(o,s)=>(x(),oe(Vn,dt({name:i(t).b()},jT(a)),{default:J(()=>[ee(o.$slots,"default")]),_:3},16,["name"]))}}),g6=m6;const rf=rt(g6),o0="ElCollapse",b6=(e,t)=>{const n=M(Nn(e.modelValue)),a=r=>{n.value=r;const l=e.accordion?n.value[0]:n.value;t(at,l),t(yt,l)},o=r=>{if(e.accordion)a([n.value[0]===r?"":r]);else{const l=[...n.value],u=l.indexOf(r);u>-1?l.splice(u,1):l.push(r),a(l)}},s=async r=>{const{beforeCollapse:l}=e;if(!l){o(r);return}const u=l(r);[mr(u),Ht(u)].includes(!0)||nn(o0,"beforeCollapse must return type `Promise` or `boolean`"),mr(u)?u.then(c=>{c!==!1&&o(r)}).catch(c=>{pt(o0,`some error occurred: ${c}`)}):u&&o(r)};return le(()=>e.modelValue,()=>n.value=Nn(e.modelValue),{deep:!0}),St(n2,{activeNames:n,handleItemClick:s}),{activeNames:n,setActiveNames:a}},y6=e=>{const t=fe("collapse");return{rootKls:w(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}};var w6=se({name:"ElCollapse",__name:"collapse",props:p6,emits:h6,setup(e,{expose:t,emit:n}){const a=e,{activeNames:o,setActiveNames:s}=b6(a,n),{rootKls:r}=y6(a);return t({activeNames:o,setActiveNames:s}),(l,u)=>(x(),B("div",{class:T(i(r))},[ee(l.$slots,"default")],2))}}),S6=w6;const C6=e=>{const t=_e(n2),{namespace:n}=fe("collapse"),a=M(!1),o=M(!1),s=Gv(),r=w(()=>s.current++),l=w(()=>e.name??`${n.value}-id-${s.prefix}-${i(r)}`),u=w(()=>t?.activeNames.value.includes(i(l)));return{focusing:a,id:r,isActive:u,handleFocus:()=>{setTimeout(()=>{o.value?o.value=!1:a.value=!0},50)},handleHeaderClick:v=>{e.disabled||v.target?.closest("input, textarea, select")||(t?.handleItemClick(i(l)),a.value=!1,o.value=!0)},handleEnterClick:v=>{v.target?.closest("input, textarea, select")||(v.preventDefault(),t?.handleItemClick(i(l)))}}},k6=(e,{focusing:t,isActive:n,id:a})=>{const o=fe("collapse"),s=w(()=>[o.b("item"),o.is("active",i(n)),o.is("disabled",e.disabled)]),r=w(()=>[o.be("item","header"),o.is("active",i(n)),{focusing:i(t)&&!e.disabled}]),l=w(()=>[o.be("item","arrow"),o.is("active",i(n))]);return{itemTitleKls:w(()=>[o.be("item","title")]),arrowKls:l,headKls:r,rootKls:s,itemWrapperKls:w(()=>o.be("item","wrap")),itemContentKls:w(()=>o.be("item","content")),scopedContentId:w(()=>o.b(`content-${i(a)}`)),scopedHeadId:w(()=>o.b(`head-${i(a)}`))}},E6=["id","aria-expanded","aria-controls","aria-describedby","tabindex","aria-disabled"],x6=["id","aria-hidden","aria-labelledby"];var T6=se({name:"ElCollapseItem",__name:"collapse-item",props:v6,setup(e,{expose:t}){const n=e,{focusing:a,id:o,isActive:s,handleFocus:r,handleHeaderClick:l,handleEnterClick:u}=C6(n),{arrowKls:c,headKls:d,rootKls:f,itemTitleKls:v,itemWrapperKls:g,itemContentKls:p,scopedContentId:h,scopedHeadId:m}=k6(n,{focusing:a,isActive:s,id:o});return t({isActive:s}),(b,k)=>(x(),B("div",{class:T(i(f))},[z("div",{id:i(m),class:T(i(d)),"aria-expanded":i(s),"aria-controls":i(h),"aria-describedby":i(h),tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,role:"button",onClick:k[0]||(k[0]=(...y)=>i(l)&&i(l)(...y)),onKeydown:k[1]||(k[1]=on(Xe((...y)=>i(u)&&i(u)(...y),["stop"]),["space","enter"])),onFocus:k[2]||(k[2]=(...y)=>i(r)&&i(r)(...y)),onBlur:k[3]||(k[3]=y=>a.value=!1)},[z("span",{class:T(i(v))},[ee(b.$slots,"title",{isActive:i(s)},()=>[wt(Se(e.title),1)])],2),ee(b.$slots,"icon",{isActive:i(s)},()=>[Y(i(De),{class:T(i(c))},{default:J(()=>[(x(),oe(it(e.icon)))]),_:1},8,["class"])])],42,E6),Y(i(rf),null,{default:J(()=>[ut(z("div",{id:i(h),role:"region",class:T(i(g)),"aria-hidden":!i(s),"aria-labelledby":i(m)},[z("div",{class:T(i(p))},[ee(b.$slots,"default")],2)],10,x6),[[Pt,i(s)]])]),_:3})],2))}}),a2=T6;const $6=rt(S6,{CollapseItem:a2}),O6=an(a2),o2=Ce({modelValue:{type:G(String),default:void 0},border:{type:Boolean,default:!0},showAlpha:Boolean,colorFormat:{type:G(String)},disabled:Boolean,predefine:{type:G(Array)},validateEvent:{type:Boolean,default:!0}}),R6={[at]:e=>Le(e)||bn(e)},s2=Symbol("colorCommonPickerKey"),r2=Symbol("colorPickerPanelContextKey"),l2=Ce({color:{type:G(Object),required:!0},vertical:Boolean,disabled:Boolean}),N6=l2,s0=e=>{let t=0,n=e;for(;n;)t+=n.offsetTop,n=n.offsetParent;return t},hh=(e,t)=>Math.abs(s0(e)-s0(t)),i2=e=>{let t,n;return e.type==="touchend"?(n=e.changedTouches[0].clientY,t=e.changedTouches[0].clientX):e.type.startsWith("touch")?(n=e.touches[0].clientY,t=e.touches[0].clientX):(n=e.clientY,t=e.clientX),{clientX:t,clientY:n}};let Qf=!1;function vh(e,t){if(!Mt)return;const n=function(s){t.drag?.(s)},a=function(s){document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",a),document.removeEventListener("touchmove",n),document.removeEventListener("touchend",a),document.onselectstart=null,document.ondragstart=null,Qf=!1,t.end?.(s)},o=function(s){Qf||(document.onselectstart=()=>!1,document.ondragstart=()=>!1,document.addEventListener("mousemove",n),document.addEventListener("mouseup",a),document.addEventListener("touchmove",n),document.addEventListener("touchend",a),Qf=!0,t.start?.(s))};e.addEventListener("mousedown",o),e.addEventListener("touchstart",o,{passive:!1})}const u2=(e,{key:t,minValue:n,maxValue:a})=>{const o=ft(),s=Xt(),r=Xt(),l=w(()=>e.color.get(t));function u(v){e.disabled||(v.target!==s.value&&c(v),s.value?.focus())}function c(v){if(!r.value||!s.value||e.disabled)return;const g=o.vnode.el.getBoundingClientRect(),{clientX:p,clientY:h}=i2(v);let m;if(e.vertical){let b=h-g.top;b=Math.max(s.value.offsetHeight/2,b),b=Math.min(b,g.height-s.value.offsetHeight/2),m=Math.round((b-s.value.offsetHeight/2)/(g.height-s.value.offsetHeight)*a)}else{let b=p-g.left;b=Math.max(s.value.offsetWidth/2,b),b=Math.min(b,g.width-s.value.offsetWidth/2),m=Math.round((b-s.value.offsetWidth/2)/(g.width-s.value.offsetWidth)*a)}e.color.set(t,m)}function d(v){if(e.disabled)return;const{shiftKey:g}=v,p=jt(v),h=g?10:1,m=t==="hue"?-1:1;let b=!0;switch(p){case we.left:case we.down:f(-h*m);break;case we.right:case we.up:f(h*m);break;case we.home:e.color.set(t,t==="hue"?a:n);break;case we.end:e.color.set(t,t==="hue"?n:a);break;case we.pageDown:f(-4*m);break;case we.pageUp:f(4*m);break;default:b=!1;break}b&&v.preventDefault()}function f(v){let g=l.value+v;g=ga?a:g,e.color.set(t,g)}return{thumb:s,bar:r,currentValue:l,handleDrag:c,handleClick:u,handleKeydown:d}},c2=(e,{namespace:t,maxValue:n,bar:a,thumb:o,currentValue:s,handleDrag:r,getBackground:l})=>{const u=ft(),c=fe(t),d=M(0),f=M(0),v=M();function g(){if(!o.value||e.vertical)return 0;const y=u.vnode.el,S=s.value;return y?Math.round(S*(y.offsetWidth-o.value.offsetWidth/2)/n):0}function p(){if(!o.value)return 0;const y=u.vnode.el;if(!e.vertical)return 0;const S=s.value;return y?Math.round(S*(y.offsetHeight-o.value.offsetHeight/2)/n):0}function h(){d.value=g(),f.value=p(),v.value=l?.()}ht(()=>{if(!a.value||!o.value)return;const y={drag:S=>{r(S)},end:S=>{r(S)}};vh(a.value,y),vh(o.value,y),h()}),le(s,()=>h()),le(()=>e.color.value,()=>h());const m=w(()=>[c.b(),c.is("vertical",e.vertical),c.is("disabled",e.disabled)]),b=w(()=>c.e("bar")),k=w(()=>c.e("thumb"));return{rootKls:m,barKls:b,barStyle:w(()=>({background:v.value})),thumbKls:k,thumbStyle:w(()=>({left:ln(d.value),top:ln(f.value)})),thumbLeft:d,thumbTop:f,update:h}},I6=["aria-label","aria-valuenow","aria-valuetext","aria-orientation","tabindex","aria-disabled"],r0=0,ep=100;var P6=se({name:"ElColorAlphaSlider",__name:"alpha-slider",props:l2,setup(e,{expose:t}){const n=e,{currentValue:a,bar:o,thumb:s,handleDrag:r,handleClick:l,handleKeydown:u}=u2(n,{key:"alpha",minValue:r0,maxValue:ep}),{rootKls:c,barKls:d,barStyle:f,thumbKls:v,thumbStyle:g,update:p}=c2(n,{namespace:"color-alpha-slider",maxValue:ep,currentValue:a,bar:o,thumb:s,handleDrag:r,getBackground:k}),{t:h}=Ct(),m=w(()=>h("el.colorpicker.alphaLabel")),b=w(()=>h("el.colorpicker.alphaDescription",{alpha:a.value,color:n.color.value}));function k(){if(n.color&&n.color.value){const{r:y,g:S,b:C}=n.color.toRgb();return`linear-gradient(to right, rgba(${y}, ${S}, ${C}, 0) 0%, rgba(${y}, ${S}, ${C}, 1) 100%)`}return""}return t({update:p,bar:o,thumb:s}),(y,S)=>(x(),B("div",{class:T(i(c))},[z("div",{ref_key:"bar",ref:o,class:T(i(d)),style:Ke(i(f)),onClick:S[0]||(S[0]=(...C)=>i(l)&&i(l)(...C))},null,6),z("div",{ref_key:"thumb",ref:s,class:T(i(v)),style:Ke(i(g)),"aria-label":m.value,"aria-valuenow":i(a),"aria-valuetext":b.value,"aria-orientation":e.vertical?"vertical":"horizontal","aria-valuemin":r0,"aria-valuemax":ep,role:"slider",tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,onKeydown:S[1]||(S[1]=(...C)=>i(u)&&i(u)(...C))},null,46,I6)],2))}}),M6=P6;const _6=["aria-label","aria-valuenow","aria-valuetext","aria-orientation","tabindex","aria-disabled"],l0=0,tp=360;var A6=se({name:"ElColorHueSlider",__name:"hue-slider",props:N6,setup(e,{expose:t}){const n=e,{currentValue:a,bar:o,thumb:s,handleDrag:r,handleClick:l,handleKeydown:u}=u2(n,{key:"hue",minValue:l0,maxValue:tp}),{rootKls:c,barKls:d,thumbKls:f,thumbStyle:v,thumbTop:g,update:p}=c2(n,{namespace:"color-hue-slider",maxValue:tp,currentValue:a,bar:o,thumb:s,handleDrag:r}),{t:h}=Ct(),m=w(()=>h("el.colorpicker.hueLabel")),b=w(()=>h("el.colorpicker.hueDescription",{hue:a.value,color:n.color.value}));return t({bar:o,thumb:s,thumbTop:g,update:p}),(k,y)=>(x(),B("div",{class:T(i(c))},[z("div",{ref_key:"bar",ref:o,class:T(i(d)),onClick:y[0]||(y[0]=(...S)=>i(l)&&i(l)(...S))},null,2),z("div",{ref_key:"thumb",ref:s,class:T(i(f)),style:Ke(i(v)),"aria-label":m.value,"aria-valuenow":i(a),"aria-valuetext":b.value,"aria-orientation":e.vertical?"vertical":"horizontal","aria-valuemin":l0,"aria-valuemax":tp,role:"slider",tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,onKeydown:y[1]||(y[1]=(...S)=>i(u)&&i(u)(...S))},null,46,_6)],2))}}),L6=A6;const D6=Ce({colors:{type:G(Array),required:!0},color:{type:G(Object),required:!0},enableAlpha:{type:Boolean,required:!0},disabled:Boolean});var rd=class{constructor(e={}){this._hue=0,this._saturation=100,this._value=100,this._alpha=100,this._tiny=new pn,this._isValid=!1,this.enableAlpha=!1,this.format="",this.value="";for(const t in e)Nt(e,t)&&(this[t]=e[t]);e.value?this.fromString(e.value):this.doOnChange()}set(e,t){if(arguments.length===1&&typeof e=="object"){for(const n in e)Nt(e,n)&&this.set(n,e[n]);return}this[`_${e}`]=t,this._isValid=!0,this.doOnChange()}get(e){return["hue","saturation","value","alpha"].includes(e)?Math.round(this[`_${e}`]):this[`_${e}`]}toRgb(){return this._isValid?this._tiny.toRgb():{r:255,g:255,b:255,a:0}}fromString(e){const t=new pn(e);if(this._isValid=t.isValid,t.isValid){const{h:n,s:a,v:o,a:s}=t.toHsv();this._hue=n,this._saturation=a*100,this._value=o*100,this._alpha=s*100}else this._hue=0,this._saturation=100,this._value=100,this._alpha=100;this.doOnChange()}clear(){this._isValid=!1,this.value="",this._hue=0,this._saturation=100,this._value=100,this._alpha=100}compare(e){const t=new pn({h:e._hue,s:e._saturation/100,v:e._value/100,a:e._alpha/100});return this._tiny.equals(t)}doOnChange(){const{_hue:e,_saturation:t,_value:n,_alpha:a,format:o,enableAlpha:s}=this;let r=o||(s?"rgb":"hex");o==="hex"&&s&&(r="hex8"),this._tiny=new pn({h:e,s:t/100,v:n/100,a:a/100}),this.value=this._isValid?this._tiny.toString(r):""}};const B6=e=>{const{currentColor:t}=_e(r2),n=M(o(e.colors,e.color));le(()=>t.value,s=>{const r=new rd({value:s,enableAlpha:e.enableAlpha});n.value.forEach(l=>{l.selected=r.compare(l)})}),wa(()=>{n.value=o(e.colors,e.color)});function a(s){e.color.fromString(e.colors[s])}function o(s,r){return s.map(l=>{const u=new rd({value:l,enableAlpha:e.enableAlpha});return u.selected=u.compare(r),u})}return{rgbaColors:n,handleSelect:a}},F6=e=>{const t=fe("color-predefine"),n=w(()=>[t.b(),t.is("disabled",e.disabled)]),a=w(()=>t.e("colors"));function o(s){return[t.e("color-selector"),t.is("alpha",s.get("alpha")<100),{selected:s.selected}]}return{rootKls:n,colorsKls:a,colorSelectorKls:o}},V6=["disabled","aria-label","onClick"];var z6=se({name:"ElColorPredefine",__name:"predefine",props:D6,setup(e){const t=e,{rgbaColors:n,handleSelect:a}=B6(t),{rootKls:o,colorsKls:s,colorSelectorKls:r}=F6(t),{t:l}=Ct(),u=c=>l("el.colorpicker.predefineDescription",{value:c});return(c,d)=>(x(),B("div",{class:T(i(o))},[z("div",{class:T(i(s))},[(x(!0),B(Fe,null,gt(i(n),(f,v)=>(x(),B("button",{key:e.colors[v],type:"button",disabled:e.disabled,"aria-label":u(f.value),class:T(i(r)(f)),onClick:g=>i(a)(v)},[z("div",{style:Ke({backgroundColor:f.value})},null,4)],10,V6))),128))],2)],2))}}),H6=z6;const K6=Ce({color:{type:G(Object),required:!0},disabled:Boolean}),W6=e=>{const t=ft(),n=M(),a=M(0),o=M(0),s=M("hsl(0, 100%, 50%)"),r=w(()=>e.color.get("saturation")),l=w(()=>e.color.get("value")),u=w(()=>e.color.get("hue"));function c(p){e.disabled||(p.target!==n.value&&d(p),n.value?.focus({preventScroll:!0}))}function d(p){if(e.disabled)return;const h=t.vnode.el.getBoundingClientRect(),{clientX:m,clientY:b}=i2(p);let k=m-h.left,y=b-h.top;k=Math.max(0,k),k=Math.min(k,h.width),y=Math.max(0,y),y=Math.min(y,h.height),o.value=k,a.value=y,e.color.set({saturation:k/h.width*100,value:100-y/h.height*100})}function f(p){if(e.disabled)return;const{shiftKey:h}=p,m=jt(p),b=h?10:1;let k=!0;switch(m){case we.left:v(-b);break;case we.right:v(b);break;case we.up:g(b);break;case we.down:g(-b);break;default:k=!1;break}k&&p.preventDefault()}function v(p){let h=r.value+p;h=h<0?0:h>100?100:h,e.color.set("saturation",h)}function g(p){let h=l.value+p;h=h<0?0:h>100?100:h,e.color.set("value",h)}return{cursorRef:n,cursorTop:a,cursorLeft:o,background:s,saturation:r,brightness:l,hue:u,handleClick:c,handleDrag:d,handleKeydown:f}},j6=(e,{cursorTop:t,cursorLeft:n,background:a,handleDrag:o})=>{const s=ft(),r=fe("color-svpanel");function l(){const u=e.color.get("saturation"),c=e.color.get("value"),{clientWidth:d,clientHeight:f}=s.vnode.el;n.value=u*d/100,t.value=(100-c)*f/100,a.value=`hsl(${e.color.get("hue")}, 100%, 50%)`}return ht(()=>{vh(s.vnode.el,{drag:u=>{o(u)},end:u=>{o(u)}}),l()}),le([()=>e.color.get("hue"),()=>e.color.get("value"),()=>e.color.value],()=>l()),{rootKls:w(()=>r.b()),cursorKls:w(()=>r.e("cursor")),rootStyle:w(()=>({backgroundColor:a.value})),cursorStyle:w(()=>({top:ln(t.value),left:ln(n.value)})),update:l}},U6=["tabindex","aria-disabled","aria-label","aria-valuenow","aria-valuetext"];var q6=se({name:"ElSvPanel",__name:"sv-panel",props:K6,setup(e,{expose:t}){const n=e,{cursorRef:a,cursorTop:o,cursorLeft:s,background:r,saturation:l,brightness:u,handleClick:c,handleDrag:d,handleKeydown:f}=W6(n),{rootKls:v,cursorKls:g,rootStyle:p,cursorStyle:h,update:m}=j6(n,{cursorTop:o,cursorLeft:s,background:r,handleDrag:d}),{t:b}=Ct(),k=w(()=>b("el.colorpicker.svLabel")),y=w(()=>b("el.colorpicker.svDescription",{saturation:l.value,brightness:u.value,color:n.color.value}));return t({update:m}),(S,C)=>(x(),B("div",{class:T(i(v)),style:Ke(i(p)),onClick:C[1]||(C[1]=(...E)=>i(c)&&i(c)(...E))},[z("div",{ref_key:"cursorRef",ref:a,class:T(i(g)),style:Ke(i(h)),tabindex:e.disabled?void 0:0,"aria-disabled":e.disabled,role:"slider","aria-valuemin":"0,0","aria-valuemax":"100,100","aria-label":k.value,"aria-valuenow":`${i(l)},${i(u)}`,"aria-valuetext":y.value,onKeydown:C[0]||(C[0]=(...E)=>i(f)&&i(f)(...E))},null,46,U6)],6))}}),Y6=q6;const d2=(e,t)=>{const n=At(new rd({enableAlpha:e.showAlpha,format:e.colorFormat||"",value:e.modelValue}));return le(()=>[e.colorFormat,e.showAlpha],()=>{n.enableAlpha=e.showAlpha,n.format=e.colorFormat||n.format,n.doOnChange(),t(at,n.value)}),{color:n}};var G6=se({name:"ElColorPickerPanel",__name:"color-picker-panel",props:o2,emits:R6,setup(e,{expose:t,emit:n}){const a=e,o=n,s=fe("color-picker-panel"),{formItem:r}=Dn(),l=un(),u=M(),c=M(),d=M(),f=M(),v=M(""),{color:g}=_e(s2,()=>d2(a,o),!0);function p(){g.fromString(v.value),g.value!==v.value&&(v.value=g.value)}function h(){a.validateEvent&&r?.validate?.("blur").catch(b=>pt(b))}function m(){u.value?.update(),c.value?.update(),d.value?.update()}return ht(()=>{a.modelValue&&(v.value=g.value),Re(m)}),le(()=>a.modelValue,b=>{b!==g.value&&(b?g.fromString(b):g.clear())}),le(()=>g.value,b=>{o(at,b),v.value=b,a.validateEvent&&r?.validate("change").catch(k=>pt(k))}),St(r2,{currentColor:w(()=>g.value)}),t({color:g,inputRef:f,update:m}),(b,k)=>(x(),B("div",{class:T([i(s).b(),i(s).is("disabled",i(l)),i(s).is("border",e.border)]),onFocusout:h},[z("div",{class:T(i(s).e("wrapper"))},[Y(L6,{ref_key:"hueRef",ref:u,class:"hue-slider",color:i(g),vertical:"",disabled:i(l)},null,8,["color","disabled"]),Y(Y6,{ref_key:"svRef",ref:c,color:i(g),disabled:i(l)},null,8,["color","disabled"])],2),e.showAlpha?(x(),oe(M6,{key:0,ref_key:"alphaRef",ref:d,color:i(g),disabled:i(l)},null,8,["color","disabled"])):te("v-if",!0),e.predefine?(x(),oe(H6,{key:1,ref:"predefine","enable-alpha":e.showAlpha,color:i(g),colors:e.predefine,disabled:i(l)},null,8,["enable-alpha","color","colors","disabled"])):te("v-if",!0),z("div",{class:T(i(s).e("footer"))},[Y(i(ea),{ref_key:"inputRef",ref:f,modelValue:v.value,"onUpdate:modelValue":k[0]||(k[0]=y=>v.value=y),"validate-event":!1,size:"small",disabled:i(l),onChange:p},null,8,["modelValue","disabled"]),ee(b.$slots,"footer")],2)],34))}}),X6=G6;const f2=rt(X6),J6=Ce({persistent:{type:Boolean,default:!0},modelValue:{type:G(String),default:void 0},id:String,showAlpha:Boolean,colorFormat:{type:G(String)},disabled:{type:Boolean,default:void 0},clearable:{type:Boolean,default:!0},size:Tn,popperClass:zt.popperClass,popperStyle:zt.popperStyle,tabindex:{type:[String,Number],default:0},teleported:zt.teleported,appendTo:zt.appendTo,predefine:{type:G(Array)},validateEvent:{type:Boolean,default:!0},...Pr,...aa(["ariaLabel"])}),Z6={[at]:e=>Le(e)||bn(e),[yt]:e=>Le(e)||bn(e),activeChange:e=>Le(e)||bn(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},Q6=["id","aria-label","aria-labelledby","aria-description","aria-disabled","tabindex"];var ez=se({name:"ElColorPicker",__name:"color-picker",props:J6,emits:Z6,setup(e,{expose:t,emit:n}){const a=e,o=n,{t:s}=Ct(),r=fe("color"),{formItem:l}=Dn(),u=Cn(),c=un(),{valueOnClear:d,isEmptyValue:f}=hu(a,null),v=d2(a,o),{inputId:g,isLabeledByFormItem:p}=Ia(a,{formItemContext:l}),h=M(),m=M(),b=M(),k=M(!1),y=M(!1);let S=!0;const{isFocused:C,handleFocus:E,handleBlur:$}=ms(m,{disabled:c,beforeBlur(ae){return h.value?.isFocusInsideContent(ae)},afterBlur(){W(!1),D(),a.validateEvent&&l?.validate?.("blur").catch(ae=>pt(ae))}}),O=KM(()=>b.value?.color??v.color),N=w(()=>ss(a,Object.keys(o2))),R=w(()=>!a.modelValue&&!y.value?"transparent":U(O,a.showAlpha)),A=w(()=>!a.modelValue&&!y.value?"":O.value),_=w(()=>p.value?void 0:a.ariaLabel||s("el.colorpicker.defaultLabel")),V=w(()=>p.value?l?.labelId:void 0),H=w(()=>[r.b("picker"),r.is("disabled",c.value),r.bm("picker",u.value),r.is("focused",C.value)]);function U(ae,ne){const{r:K,g:Z,b:re,a:ce}=ae.toRgb();return ne?`rgba(${K}, ${Z}, ${re}, ${ce})`:`rgb(${K}, ${Z}, ${re})`}function W(ae){k.value=ae}const P=Mo(W,100,{leading:!0});function I(){c.value||W(!0)}function L(){P(!1),D()}function D(){Re(()=>{a.modelValue?O.fromString(a.modelValue):(O.value="",Re(()=>{y.value=!1}))})}function F(){c.value||(k.value&&D(),P(!k.value))}function q(){const ae=f(O.value)?d.value:O.value;o(at,ae),o(yt,ae),a.validateEvent&&l?.validate("change").catch(ne=>pt(ne)),P(!1),Re(()=>{const ne=new rd({enableAlpha:a.showAlpha,format:a.colorFormat||"",value:a.modelValue});O.compare(ne)||D()})}function j(){P(!1),o(at,d.value),o(yt,d.value),a.modelValue!==d.value&&a.validateEvent&&l?.validate("change").catch(ae=>pt(ae)),D(),o("clear")}function X(){b?.value?.inputRef?.focus()}function Q(){k.value&&(L(),C.value&&ge())}function he(ae){ae.preventDefault(),ae.stopPropagation(),W(!1),D()}function ue(ae){switch(jt(ae)){case we.enter:case we.numpadEnter:case we.space:ae.preventDefault(),ae.stopPropagation(),I();break;case we.esc:he(ae);break}}function ge(){m.value.focus()}function ie(){m.value.blur()}return le(()=>A.value,ae=>{S&&o("activeChange",ae),S=!0}),le(()=>O.value,()=>{!a.modelValue&&!y.value&&(y.value=!0)}),le(()=>a.modelValue,ae=>{ae?ae&&ae!==O.value&&(S=!1,O.fromString(ae)):y.value=!1}),le(()=>k.value,()=>{b.value&&Re(b.value.update)}),St(s2,v),t({color:O,show:I,hide:L,focus:ge,blur:ie}),(ae,ne)=>(x(),oe(i(Ln),{ref_key:"popper",ref:h,visible:k.value,"show-arrow":!1,"fallback-placements":["bottom","top","right","left"],offset:0,"gpu-acceleration":!1,"popper-class":[i(r).be("picker","panel"),e.popperClass],"popper-style":e.popperStyle,"stop-popper-mouse-event":!1,pure:"",loop:"",role:"dialog",effect:"light",trigger:"click",teleported:e.teleported,transition:`${i(r).namespace.value}-zoom-in-top`,persistent:e.persistent,"append-to":e.appendTo,onShow:X,onHide:ne[2]||(ne[2]=K=>W(!1))},{content:J(()=>[ut((x(),oe(i(f2),dt({ref_key:"pickerPanelRef",ref:b},N.value,{border:!1,"validate-event":!1,onKeydown:on(he,["esc"])}),{footer:J(()=>[z("div",null,[e.clearable?(x(),oe(i(In),{key:0,class:T(i(r).be("footer","link-btn")),text:"",size:"small",onClick:j},{default:J(()=>[wt(Se(i(s)("el.colorpicker.clear")),1)]),_:1},8,["class"])):te("v-if",!0),Y(i(In),{plain:"",size:"small",class:T(i(r).be("footer","btn")),onClick:q},{default:J(()=>[wt(Se(i(s)("el.colorpicker.confirm")),1)]),_:1},8,["class"])])]),_:1},16)),[[i(zs),Q,m.value]])]),default:J(()=>[z("div",dt({id:i(g),ref_key:"triggerRef",ref:m},ae.$attrs,{class:H.value,role:"button","aria-label":_.value,"aria-labelledby":V.value,"aria-description":i(s)("el.colorpicker.description",{color:e.modelValue||""}),"aria-disabled":i(c),tabindex:i(c)?void 0:e.tabindex,onKeydown:ue,onFocus:ne[0]||(ne[0]=(...K)=>i(E)&&i(E)(...K)),onBlur:ne[1]||(ne[1]=(...K)=>i($)&&i($)(...K))}),[z("div",{class:T(i(r).be("picker","trigger")),onClick:F},[z("span",{class:T([i(r).be("picker","color"),i(r).is("alpha",e.showAlpha)])},[z("span",{class:T(i(r).be("picker","color-inner")),style:Ke({backgroundColor:R.value})},[ut(Y(i(De),{class:T([i(r).be("picker","icon"),i(r).is("icon-arrow-down")])},{default:J(()=>[Y(i(Fo))]),_:1},8,["class"]),[[Pt,e.modelValue||y.value]]),ut(Y(i(De),{class:T([i(r).be("picker","empty"),i(r).is("icon-close")])},{default:J(()=>[Y(i(Ha))]),_:1},8,["class"]),[[Pt,!e.modelValue&&!y.value]])],6)],2)],2)],16,Q6)]),_:1},8,["visible","popper-class","popper-style","teleported","transition","persistent","append-to"]))}}),tz=ez;const nz=rt(tz);var az=se({name:"ElContainer",__name:"container",props:{direction:{type:String,required:!1}},setup(e){const t=e,n=vn(),a=fe("container"),o=w(()=>t.direction==="vertical"?!0:t.direction==="horizontal"?!1:n&&n.default?n.default().some(s=>{const r=s.type.name;return r==="ElHeader"||r==="ElFooter"}):!1);return(s,r)=>(x(),B("section",{class:T([i(a).b(),i(a).is("vertical",o.value)])},[ee(s.$slots,"default")],2))}}),oz=az,sz=se({name:"ElAside",__name:"aside",props:{width:{type:[String,null],required:!1,default:null}},setup(e){const t=e,n=fe("aside"),a=w(()=>t.width?n.cssVarBlock({width:t.width}):{});return(o,s)=>(x(),B("aside",{class:T(i(n).b()),style:Ke(a.value)},[ee(o.$slots,"default")],6))}}),p2=sz,rz=se({name:"ElFooter",__name:"footer",props:{height:{type:[String,null],required:!1,default:null}},setup(e){const t=e,n=fe("footer"),a=w(()=>t.height?n.cssVarBlock({height:t.height}):{});return(o,s)=>(x(),B("footer",{class:T(i(n).b()),style:Ke(a.value)},[ee(o.$slots,"default")],6))}}),h2=rz,lz=se({name:"ElHeader",__name:"header",props:{height:{type:[String,null],required:!1,default:null}},setup(e){const t=e,n=fe("header"),a=w(()=>t.height?n.cssVarBlock({height:t.height}):{});return(o,s)=>(x(),B("header",{class:T(i(n).b()),style:Ke(a.value)},[ee(o.$slots,"default")],6))}}),v2=lz,iz=se({name:"ElMain",__name:"main",setup(e){const t=fe("main");return(n,a)=>(x(),B("main",{class:T(i(t).b())},[ee(n.$slots,"default")],2))}}),m2=iz;const uz=rt(oz,{Aside:p2,Footer:h2,Header:v2,Main:m2}),cz=an(p2),dz=an(h2),fz=an(v2),pz=an(m2),hz=Ce({format:{type:String,default:"HH:mm:ss"},prefix:String,suffix:String,title:String,value:{type:G([Number,Object]),default:0},valueStyle:{type:G([String,Object,Array])}}),vz={finish:()=>!0,[yt]:e=>He(e)},mz=Ce({decimalSeparator:{type:String,default:"."},groupSeparator:{type:String,default:","},precision:{type:Number,default:0},formatter:Function,value:{type:G([Number,Object]),default:0},prefix:String,suffix:String,title:String,valueStyle:{type:G([String,Object,Array])}});var gz=se({name:"ElStatistic",__name:"statistic",props:mz,setup(e,{expose:t}){const n=e,a=fe("statistic"),o=w(()=>{const{value:s,formatter:r,precision:l,decimalSeparator:u,groupSeparator:c}=n;if(Ve(r))return r(s);if(!He(s)||Number.isNaN(s))return s;let[d,f=""]=String(s).split(".");return f=f.padEnd(l,"0").slice(0,l>0?l:0),d=d.replace(/\B(?=(\d{3})+(?!\d))/g,c),[d,f].join(f?u:"")});return t({displayValue:o}),(s,r)=>(x(),B("div",{class:T(i(a).b())},[s.$slots.title||e.title?(x(),B("div",{key:0,class:T(i(a).e("head"))},[ee(s.$slots,"title",{},()=>[wt(Se(e.title),1)])],2)):te("v-if",!0),z("div",{class:T(i(a).e("content"))},[s.$slots.prefix||e.prefix?(x(),B("div",{key:0,class:T(i(a).e("prefix"))},[ee(s.$slots,"prefix",{},()=>[z("span",null,Se(e.prefix),1)])],2)):te("v-if",!0),z("span",{class:T(i(a).e("number")),style:Ke(e.valueStyle)},Se(o.value),7),s.$slots.suffix||e.suffix?(x(),B("div",{key:1,class:T(i(a).e("suffix"))},[ee(s.$slots,"suffix",{},()=>[z("span",null,Se(e.suffix),1)])],2)):te("v-if",!0)],2)],2))}}),bz=gz;const g2=rt(bz),yz=[["Y",1e3*60*60*24*365],["M",1e3*60*60*24*30],["D",1e3*60*60*24],["H",1e3*60*60],["m",1e3*60],["s",1e3],["S",1]],i0=e=>He(e)?new Date(e).getTime():e.valueOf(),u0=(e,t)=>{let n=e;return yz.reduce((a,[o,s])=>{const r=new RegExp(`${o}+(?![^\\[\\]]*\\])`,"g");if(r.test(a)){const l=Math.floor(n/s);return n-=l*s,a.replace(r,u=>String(l).padStart(u.length,"0"))}return a},t).replace(/\[([^\]]*)]/g,"$1")};var wz=se({name:"ElCountdown",__name:"countdown",props:hz,emits:vz,setup(e,{expose:t,emit:n}){const a=e,o=n;let s;const r=M(0),l=w(()=>u0(r.value,a.format)),u=f=>u0(f,a.format),c=()=>{s&&(rs(s),s=void 0)},d=()=>{const f=i0(a.value),v=()=>{let g=f-Date.now();o(yt,g),g<=0?(g=0,c(),o("finish")):s=eo(v),r.value=g};s=eo(v)};return ht(()=>{r.value=i0(a.value)-Date.now(),le(()=>[a.value,a.format],()=>{c(),d()},{immediate:!0})}),Bt(()=>{c()}),t({displayValue:l}),(f,v)=>(x(),oe(i(g2),{value:r.value,title:e.title,prefix:e.prefix,suffix:e.suffix,"value-style":e.valueStyle,formatter:u},ua({_:2},[gt(f.$slots,(g,p)=>({name:p,fn:J(()=>[ee(f.$slots,p)])}))]),1032,["value","title","prefix","suffix","value-style"]))}}),Sz=wz;const Cz=rt(Sz),kz=Ce({valueFormat:String,dateFormat:String,timeFormat:String,disabled:{type:Boolean,default:void 0},modelValue:{type:G([Date,Array,String,Number]),default:""},defaultValue:{type:G([Date,Array])},defaultTime:{type:G([Date,Array])},isRange:Boolean,...dm,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,unlinkPanels:Boolean,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:Boolean,showWeekNumber:Boolean,type:{type:G(String),default:"date"},clearable:{type:Boolean,default:!0},border:{type:Boolean,default:!0},editable:{type:Boolean,default:!0}}),ym=Symbol("rootPickerContextKey"),wu="ElIsDefaultFormat",Ez=["date","dates","year","years","month","months","week","range"],wm=Ce({cellClassName:{type:G(Function)},disabledDate:{type:G(Function)},date:{type:G(Object),required:!0},minDate:{type:G(Object)},maxDate:{type:G(Object)},parsedValue:{type:G([Object,Array])},rangeState:{type:G(Object),default:()=>({endDate:null,selecting:!1})},disabled:Boolean}),b2=Ce({type:{type:G(String),required:!0,values:dO},dateFormat:String,timeFormat:String,showNow:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},showWeekNumber:Boolean,border:Boolean,disabled:Boolean,editable:{type:Boolean,default:!0}}),Sm=Ce({unlinkPanels:Boolean,visible:{type:Boolean,default:!0},showConfirm:Boolean,showFooter:{type:Boolean,default:!0},border:Boolean,disabled:Boolean,parsedValue:{type:G(Array)}}),Cm=e=>({type:String,values:Ez,default:e}),xz=Ce({...b2,parsedValue:{type:G([Object,Array])},visible:{type:Boolean,default:!0},format:{type:String,default:""}}),Di=e=>{if(!ye(e))return!1;const[t,n]=e;return st.isDayjs(t)&&st.isDayjs(n)&&st(t).isValid()&&st(n).isValid()&&t.isSameOrBefore(n)},lf=(e,{lang:t,step:n=1,unit:a,unlinkPanels:o})=>{let s;if(ye(e)){let[r,l]=e.map(u=>st(u).locale(t));return o||(l=r.add(n,a)),[r,l]}else e?s=st(e):s=st();return s=s.locale(t),[s,s.add(n,a)]},Tz=(e,t,{columnIndexOffset:n,startDate:a,nextEndDate:o,now:s,unit:r,relativeDateGetter:l,setCellMetadata:u,setRowMetadata:c})=>{for(let d=0;d{const o=st().locale(a).startOf("month").month(n).year(t).hour(e.hour()).minute(e.minute()).second(e.second());return _s(o.daysInMonth()).map(s=>o.add(s,"day").toDate())},Sl=(e,t,n,a,o)=>{const s=st().year(t).month(n).startOf("month").hour(e.hour()).minute(e.minute()).second(e.second()),r=ld(e,t,n,a).find(l=>!o?.(l));return r?st(r).locale(a):s.locale(a)},id=(e,t,n)=>{const a=e.year();if(!n?.(e.toDate()))return e.locale(t);const o=e.month();if(!ld(e,a,o,t).every(n))return Sl(e,a,o,t,n);for(let s=0;s<12;s++)if(!ld(e,a,s,t).every(n))return Sl(e,a,s,t,n);return e},Cl=(e,t,n,a)=>{if(ye(e))return e.map(o=>Cl(o,t,n,a));if(Le(e)){const o=a?.value?st(e):st(e,t);if(!o.isValid())return o}return st(e,t).locale(n)},$z=Ce({...wm,showWeekNumber:Boolean,selectionMode:Cm("date")}),Oz=["changerange","pick","select"],ud=(e="")=>["normal","today"].includes(e),Rz=(e,t)=>{const{lang:n}=Ct(),a=M(),o=M(),s=M(),r=M(),l=M([[],[],[],[],[],[]]);let u=!1;const c=e.date.$locale().weekStart||7,d=e.date.locale("en").localeData().weekdaysShort().map(L=>L.toLowerCase()),f=w(()=>c>3?7-c:-c),v=w(()=>{const L=e.date.startOf("month");return L.subtract(L.day()||7,"day")}),g=w(()=>d.concat(d).slice(c,c+7)),p=w(()=>Yc(i(S)).some(L=>L.isCurrent)),h=w(()=>{const L=e.date.startOf("month");return{startOfMonthDay:L.day()||7,dateCountOfMonth:L.daysInMonth(),dateCountOfLastMonth:L.subtract(1,"month").daysInMonth()}}),m=w(()=>e.selectionMode==="dates"?Zn(e.parsedValue):[]),b=(L,{count:D,rowIndex:F,columnIndex:q})=>{const{startOfMonthDay:j,dateCountOfMonth:X,dateCountOfLastMonth:Q}=i(h),he=i(f);if(F>=0&&F<=1){const ue=j+he<0?7+j+he:j+he;if(q+F*7>=ue)return L.text=D,!0;L.text=Q-(ue-q%7)+1+F*7,L.type="prev-month"}else return D<=X?L.text=D:(L.text=D-X,L.type="next-month"),!0;return!1},k=(L,{columnIndex:D,rowIndex:F},q)=>{const{disabledDate:j,cellClassName:X}=e,Q=i(m),he=b(L,{count:q,rowIndex:F,columnIndex:D}),ue=L.dayjs.toDate();return L.selected=Q.find(ge=>ge.isSame(L.dayjs,"day")),L.isSelected=!!L.selected,L.isCurrent=E(L),L.disabled=j?.(ue),L.customClass=X?.(ue),he},y=L=>{if(e.selectionMode==="week"){const[D,F]=e.showWeekNumber?[1,7]:[0,6],q=I(L[D+1]);L[D].inRange=q,L[D].start=q,L[F].inRange=q,L[F].end=q}},S=w(()=>{const{minDate:L,maxDate:D,rangeState:F,showWeekNumber:q}=e,j=i(f),X=i(l),Q="day";let he=1;if(Tz({row:6,column:7},X,{startDate:L,columnIndexOffset:q?1:0,nextEndDate:F.endDate||D||F.selecting&&L||null,now:st().locale(i(n)).startOf(Q),unit:Q,relativeDateGetter:ue=>i(v).add(ue-j,Q),setCellMetadata:(...ue)=>{k(...ue,he)&&(he+=1)},setRowMetadata:y}),q)for(let ue=0;ue<6;ue++)X[ue][1].dayjs&&(X[ue][0]={type:"week",text:X[ue][1].dayjs.week()});return X});le(()=>e.date,async()=>{i(a)?.contains(document.activeElement)&&(await Re(),await C())});const C=async()=>i(o)?.focus(),E=L=>e.selectionMode==="date"&&ud(L.type)&&$(L,e.parsedValue),$=(L,D)=>D?st(D).locale(i(n)).isSame(e.date.date(Number(L.text)),"day"):!1,O=(L,D)=>{const F=i(h).startOfMonthDay,q=i(f),j=F+q<0?7+F+q:F+q,X=L*7+(D-(e.showWeekNumber?1:0));return e.date.startOf("month").subtract(j,"day").add(X,"day")},N=L=>{if(!e.rangeState.selecting)return;let D=L.target;if(D.tagName==="SPAN"&&(D=D.parentNode?.parentNode),D.tagName==="DIV"&&(D=D.parentNode),D.tagName!=="TD")return;const F=D.parentNode.rowIndex-1,q=D.cellIndex;i(S)[F][q].disabled||(F!==i(s)||q!==i(r))&&(s.value=F,r.value=q,t("changerange",{selecting:!0,endDate:O(F,q)}))},R=L=>!i(p)&&L?.text===1&&ud(L.type)||L.isCurrent,A=L=>{u||i(p)||e.selectionMode!=="date"||P(L,!0)},_=L=>{L.target.closest("td")&&(u=!0)},V=L=>{L.target.closest("td")&&(u=!1)},H=L=>{!e.rangeState.selecting||!e.minDate?(t("pick",{minDate:L,maxDate:null}),t("select",!0)):(L>=e.minDate?t("pick",{minDate:e.minDate,maxDate:L}):t("pick",{minDate:L,maxDate:e.minDate}),t("select",!1))},U=L=>{const D=L.week(),F=`${L.year()}w${D}`;t("pick",{year:L.year(),week:D,value:F,date:L.startOf("week")})},W=(L,D)=>{t("pick",D?Zn(e.parsedValue).filter(F=>F?.valueOf()!==L.valueOf()):Zn(e.parsedValue).concat([L]))},P=(L,D=!1)=>{if(e.disabled)return;const F=L.target.closest("td");if(!F)return;const q=F.parentNode.rowIndex-1,j=F.cellIndex,X=i(S)[q][j];if(X.disabled||X.type==="week")return;const Q=O(q,j);switch(e.selectionMode){case"range":H(Q);break;case"date":t("pick",Q,D);break;case"week":U(Q);break;case"dates":W(Q,!!X.selected);break}},I=L=>{if(e.selectionMode!=="week")return!1;let D=e.date.startOf("day");if(L.type==="prev-month"&&(D=D.subtract(1,"month")),L.type==="next-month"&&(D=D.add(1,"month")),D=D.date(Number.parseInt(L.text,10)),e.parsedValue&&!ye(e.parsedValue)){const F=(e.parsedValue.day()-c+7)%7-1;return e.parsedValue.subtract(F,"day").isSame(D,"day")}return!1};return{WEEKS:g,rows:S,tbodyRef:a,currentCellRef:o,focus:C,isCurrent:E,isWeekActive:I,isSelectedCell:R,handlePickDate:P,handleMouseUp:V,handleMouseDown:_,handleMouseMove:N,handleFocus:A}},Nz=(e,{isCurrent:t,isWeekActive:n})=>{const a=fe("date-table"),{t:o}=Ct(),s=w(()=>[a.b(),a.is("week-mode",e.selectionMode==="week"&&!e.disabled)]),r=w(()=>o("el.datepicker.dateTablePrompt")),l=c=>{const d=[];return ud(c.type)&&!c.disabled?(d.push("available"),c.type==="today"&&d.push("today")):d.push(c.type),t(c)&&d.push("current"),c.inRange&&(ud(c.type)||e.selectionMode==="week")&&(d.push("in-range"),c.start&&d.push("start-date"),c.end&&d.push("end-date")),(c.disabled||e.disabled)&&d.push("disabled"),c.selected&&d.push("selected"),c.customClass&&d.push(c.customClass),d.join(" ")},u=c=>[a.e("row"),{current:n(c)}];return{tableKls:s,tableLabel:r,weekHeaderClass:a.e("week-header"),getCellClasses:l,getRowKls:u,t:o}},Iz=Ce({cell:{type:G(Object)}});var km=se({name:"ElDatePickerCell",props:Iz,setup(e){const t=fe("date-table-cell"),{slots:n}=_e(ym);return()=>{const{cell:a}=e;return ee(n,"default",{...a},()=>[Y("div",{class:t.b()},[Y("span",{class:t.e("text")},[a?.renderText??a?.text])])])}}});const Pz=["aria-label"],Mz=["aria-label"],_z=["aria-current","aria-selected","tabindex","aria-disabled"];var Az=se({__name:"basic-date-table",props:$z,emits:Oz,setup(e,{expose:t,emit:n}){const a=e,{WEEKS:o,rows:s,tbodyRef:r,currentCellRef:l,focus:u,isCurrent:c,isWeekActive:d,isSelectedCell:f,handlePickDate:v,handleMouseUp:g,handleMouseDown:p,handleMouseMove:h,handleFocus:m}=Rz(a,n),{tableLabel:b,tableKls:k,getCellClasses:y,getRowKls:S,weekHeaderClass:C,t:E}=Nz(a,{isCurrent:c,isWeekActive:d});let $=!1;return Bt(()=>{$=!0}),t({focus:u}),(O,N)=>(x(),B("table",{"aria-label":i(b),class:T(i(k)),cellspacing:"0",cellpadding:"0",role:"grid",onClick:N[1]||(N[1]=(...R)=>i(v)&&i(v)(...R)),onMousemove:N[2]||(N[2]=(...R)=>i(h)&&i(h)(...R)),onMousedown:N[3]||(N[3]=(...R)=>i(p)&&i(p)(...R)),onMouseup:N[4]||(N[4]=(...R)=>i(g)&&i(g)(...R))},[z("tbody",{ref_key:"tbodyRef",ref:r},[z("tr",null,[O.showWeekNumber?(x(),B("th",{key:0,scope:"col",class:T(i(C))},null,2)):te("v-if",!0),(x(!0),B(Fe,null,gt(i(o),(R,A)=>(x(),B("th",{key:A,"aria-label":i(E)("el.datepicker.weeksFull."+R),scope:"col"},Se(i(E)("el.datepicker.weeks."+R)),9,Mz))),128))]),(x(!0),B(Fe,null,gt(i(s),(R,A)=>(x(),B("tr",{key:A,class:T(i(S)(O.showWeekNumber?R[2]:R[1]))},[(x(!0),B(Fe,null,gt(R,(_,V)=>(x(),B("td",{key:`${A}.${V}`,ref_for:!0,ref:H=>!i($)&&i(f)(_)&&(l.value=H),class:T(i(y)(_)),"aria-current":_.isCurrent?"date":void 0,"aria-selected":_.isCurrent,tabindex:O.disabled?void 0:i(f)(_)?0:-1,"aria-disabled":O.disabled,onFocus:N[0]||(N[0]=(...H)=>i(m)&&i(m)(...H))},[Y(i(km),{cell:_},null,8,["cell"])],42,_z))),128))],2))),128))],512)],42,Pz))}}),mh=Az;const Lz=Ce({...wm,selectionMode:Cm("month")}),Dz=["aria-label"],Bz=["aria-selected","aria-label","tabindex","onKeydown"];var Fz=se({__name:"basic-month-table",props:Lz,emits:["changerange","pick","select"],setup(e,{expose:t,emit:n}){const a=e,o=n,s=fe("month-table"),{t:r,lang:l}=Ct(),u=M(),c=M(),d=M(a.date.locale("en").localeData().monthsShort().map(S=>S.toLowerCase())),f=M([[],[],[]]),v=M(),g=M(),p=w(()=>{const S=f.value,C=st().locale(l.value).startOf("month");for(let E=0;E<3;E++){const $=S[E];for(let O=0;O<4;O++){const N=$[O]||={row:E,column:O,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0};N.type="normal";const R=E*4+O,A=a.date.startOf("year").month(R),_=a.rangeState.endDate||a.maxDate||a.rangeState.selecting&&a.minDate||null;N.inRange=!!(a.minDate&&A.isSameOrAfter(a.minDate,"month")&&_&&A.isSameOrBefore(_,"month"))||!!(a.minDate&&A.isSameOrBefore(a.minDate,"month")&&_&&A.isSameOrAfter(_,"month")),a.minDate?.isSameOrAfter(_)?(N.start=!!(_&&A.isSame(_,"month")),N.end=a.minDate&&A.isSame(a.minDate,"month")):(N.start=!!(a.minDate&&A.isSame(a.minDate,"month")),N.end=!!(_&&A.isSame(_,"month"))),C.isSame(A)&&(N.type="today");const V=A.toDate();N.text=R,N.disabled=a.disabledDate?.(V)||!1,N.date=V,N.customClass=a.cellClassName?.(V),N.dayjs=A,N.timestamp=A.valueOf(),N.isSelected=b(N)}}return S}),h=()=>{c.value?.focus()},m=S=>{const C={},E=a.date.year(),$=new Date,O=S.text;return C.disabled=a.disabled||(a.disabledDate?ld(a.date,E,O,l.value).every(a.disabledDate):!1),C.current=Zn(a.parsedValue).some(N=>st.isDayjs(N)&&N.year()===E&&N.month()===O),C.today=$.getFullYear()===E&&$.getMonth()===O,S.customClass&&(C[S.customClass]=!0),S.inRange&&(C["in-range"]=!0,S.start&&(C["start-date"]=!0),S.end&&(C["end-date"]=!0)),C},b=S=>{const C=a.date.year(),E=S.text;return Zn(a.date).some($=>$.year()===C&&$.month()===E)},k=S=>{if(!a.rangeState.selecting)return;let C=S.target;if(C.tagName==="SPAN"&&(C=C.parentNode?.parentNode),C.tagName==="DIV"&&(C=C.parentNode),C.tagName!=="TD")return;const E=C.parentNode.rowIndex,$=C.cellIndex;p.value[E][$].disabled||(E!==v.value||$!==g.value)&&(v.value=E,g.value=$,o("changerange",{selecting:!0,endDate:a.date.startOf("year").month(E*4+$)}))},y=S=>{if(a.disabled)return;const C=S.target?.closest("td");if(C?.tagName!=="TD"||$o(C,"disabled"))return;const E=C.cellIndex,$=C.parentNode.rowIndex*4+E,O=a.date.startOf("year").month($);if(a.selectionMode==="months"){if(S.type==="keydown"){o("pick",Zn(a.parsedValue),!1);return}const N=Sl(a.date,a.date.year(),$,l.value,a.disabledDate);o("pick",$o(C,"current")?Zn(a.parsedValue).filter(R=>R?.year()!==N.year()||R?.month()!==N.month()):Zn(a.parsedValue).concat([st(N)]))}else a.selectionMode==="range"?a.rangeState.selecting?(a.minDate&&O>=a.minDate?o("pick",{minDate:a.minDate,maxDate:O}):o("pick",{minDate:O,maxDate:a.minDate}),o("select",!1)):(o("pick",{minDate:O,maxDate:null}),o("select",!0)):o("pick",$)};return le(()=>a.date,async()=>{u.value?.contains(document.activeElement)&&(await Re(),c.value?.focus())}),t({focus:h}),(S,C)=>(x(),B("table",{role:"grid","aria-label":i(r)("el.datepicker.monthTablePrompt"),class:T(i(s).b()),onClick:y,onMousemove:k},[z("tbody",{ref_key:"tbodyRef",ref:u},[(x(!0),B(Fe,null,gt(p.value,(E,$)=>(x(),B("tr",{key:$},[(x(!0),B(Fe,null,gt(E,(O,N)=>(x(),B("td",{key:N,ref_for:!0,ref:R=>O.isSelected&&(c.value=R),class:T(m(O)),"aria-selected":!!O.isSelected,"aria-label":i(r)(`el.datepicker.month${+O.text+1}`),tabindex:O.isSelected?0:-1,onKeydown:[on(Xe(y,["prevent","stop"]),["space"]),on(Xe(y,["prevent","stop"]),["enter"])]},[Y(i(km),{cell:{...O,renderText:i(r)("el.datepicker.months."+d.value[O.text])}},null,8,["cell"])],42,Bz))),128))]))),128))],512)],42,Dz))}}),Bi=Fz;const Vz=Ce({...wm,selectionMode:Cm("year")}),zz=["aria-label"],Hz=["aria-selected","aria-label","tabindex","onKeydown"];var Kz=se({__name:"basic-year-table",props:Vz,emits:["changerange","pick","select"],setup(e,{expose:t,emit:n}){const a=(C,E)=>{const $=st(String(C)).locale(E).startOf("year");return _s($.endOf("year").dayOfYear()).map(O=>$.add(O,"day").toDate())},o=e,s=n,r=fe("year-table"),{t:l,lang:u}=Ct(),c=M(),d=M(),f=w(()=>Math.floor(o.date.year()/10)*10),v=M([[],[],[]]),g=M(),p=M(),h=w(()=>{const C=v.value,E=st().locale(u.value).startOf("year");for(let $=0;$<3;$++){const O=C[$];for(let N=0;N<4&&!($*4+N>=10);N++){let R=O[N];R||(R={row:$,column:N,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1,isSelected:!1,customClass:void 0,date:void 0,dayjs:void 0,isCurrent:void 0,selected:void 0,renderText:void 0,timestamp:void 0}),R.type="normal";const A=$*4+N+f.value,_=st().year(A),V=o.rangeState.endDate||o.maxDate||o.rangeState.selecting&&o.minDate||null;R.inRange=!!(o.minDate&&_.isSameOrAfter(o.minDate,"year")&&V&&_.isSameOrBefore(V,"year"))||!!(o.minDate&&_.isSameOrBefore(o.minDate,"year")&&V&&_.isSameOrAfter(V,"year")),o.minDate?.isSameOrAfter(V)?(R.start=!!(V&&_.isSame(V,"year")),R.end=!!(o.minDate&&_.isSame(o.minDate,"year"))):(R.start=!!(o.minDate&&_.isSame(o.minDate,"year")),R.end=!!(V&&_.isSame(V,"year"))),E.isSame(_)&&(R.type="today"),R.text=A;const H=_.toDate();R.disabled=o.disabledDate?.(H)||!1,R.date=H,R.customClass=o.cellClassName?.(H),R.dayjs=_,R.timestamp=_.valueOf(),R.isSelected=k(R),O[N]=R}}return C}),m=()=>{d.value?.focus()},b=C=>{const E={},$=st().locale(u.value),O=C.text;return E.disabled=o.disabled||(o.disabledDate?a(O,u.value).every(o.disabledDate):!1),E.today=$.year()===O,E.current=Zn(o.parsedValue).some(N=>N.year()===O),C.customClass&&(E[C.customClass]=!0),C.inRange&&(E["in-range"]=!0,C.start&&(E["start-date"]=!0),C.end&&(E["end-date"]=!0)),E},k=C=>{const E=C.text;return Zn(o.date).some($=>$.year()===E)},y=C=>{if(o.disabled)return;const E=C.target?.closest("td");if(!E||!E.textContent||$o(E,"disabled"))return;const $=E.cellIndex,O=E.parentNode.rowIndex*4+$+f.value,N=st().year(O);if(o.selectionMode==="range")o.rangeState.selecting?(o.minDate&&N>=o.minDate?s("pick",{minDate:o.minDate,maxDate:N}):s("pick",{minDate:N,maxDate:o.minDate}),s("select",!1)):(s("pick",{minDate:N,maxDate:null}),s("select",!0));else if(o.selectionMode==="years"){if(C.type==="keydown"){s("pick",Zn(o.parsedValue),!1);return}const R=id(N.startOf("year"),u.value,o.disabledDate);s("pick",$o(E,"current")?Zn(o.parsedValue).filter(A=>A?.year()!==O):Zn(o.parsedValue).concat([R]))}else s("pick",O)},S=C=>{if(!o.rangeState.selecting)return;const E=C.target?.closest("td");if(!E)return;const $=E.parentNode.rowIndex,O=E.cellIndex;h.value[$][O].disabled||($!==g.value||O!==p.value)&&(g.value=$,p.value=O,s("changerange",{selecting:!0,endDate:st().year(f.value).add($*4+O,"year")}))};return le(()=>o.date,async()=>{c.value?.contains(document.activeElement)&&(await Re(),d.value?.focus())}),t({focus:m}),(C,E)=>(x(),B("table",{role:"grid","aria-label":i(l)("el.datepicker.yearTablePrompt"),class:T(i(r).b()),onClick:y,onMousemove:S},[z("tbody",{ref_key:"tbodyRef",ref:c},[(x(!0),B(Fe,null,gt(h.value,($,O)=>(x(),B("tr",{key:O},[(x(!0),B(Fe,null,gt($,(N,R)=>(x(),B("td",{key:`${O}_${R}`,ref_for:!0,ref:A=>N.isSelected&&(d.value=A),class:T(["available",b(N)]),"aria-selected":N.isSelected,"aria-label":String(N.text),tabindex:N.isSelected?0:-1,onKeydown:[on(Xe(y,["prevent","stop"]),["space"]),on(Xe(y,["prevent","stop"]),["enter"])]},[Y(i(km),{cell:N},null,8,["cell"])],42,Hz))),128))]))),128))],512)],42,zz))}}),Fi=Kz;const Wz=["disabled","onClick"],jz=["aria-label","disabled"],Uz=["aria-label","disabled"],qz=["tabindex","aria-disabled"],Yz=["tabindex","aria-disabled"],Gz=["aria-label","disabled"],Xz=["aria-label","disabled"];var Jz=se({__name:"panel-date-pick",props:xz,emits:["pick","set-picker-option","panel-change"],setup(e,{emit:t}){const n=(be,ze,de)=>!0,a=e,o=t,s=fe("picker-panel"),r=fe("date-picker"),l=fs(),u=vn(),{t:c,lang:d}=Ct(),f=_e(oo),v=_e(wu,void 0),{shortcuts:g,disabledDate:p,cellClassName:h,defaultTime:m}=f.props,b=Vt(f.props,"defaultValue"),k=M(),y=M(st().locale(d.value)),S=M(!1);let C=!1;const E=w(()=>st(m).locale(d.value)),$=w(()=>y.value.month()),O=w(()=>y.value.year()),N=M([]),R=M(null),A=M(null),_=be=>N.value.length>0?n(be,N.value,a.format||"HH:mm:ss"):!0,V=be=>m&&!Ne.value&&!S.value&&!C?E.value.year(be.year()).month(be.month()).date(be.date()):ie.value?be.millisecond(0):be.startOf("day"),H=(be,...ze)=>{be?ye(be)?o("pick",be.map(V),...ze):o("pick",V(be),...ze):o("pick",be,...ze),R.value=null,A.value=null,S.value=!1,C=!1},U=async(be,ze)=>{if(F.value==="date"&&st.isDayjs(be)){const de=jl(a.parsedValue);let Ge=de?de.year(be.year()).month(be.month()).date(be.date()):be;_(Ge),y.value=Ge,H(Ge,ie.value||ze)}else F.value==="week"?H(be.date):F.value==="dates"&&H(be,!0)},W=be=>{const ze=be?"add":"subtract";y.value=y.value[ze](1,"month"),kt("month")},P=be=>{const ze=y.value,de=be?"add":"subtract";y.value=I.value==="year"?ze[de](10,"year"):ze[de](1,"year"),kt("year")},I=M("date"),L=w(()=>{const be=c("el.datepicker.year");if(I.value==="year"){const ze=Math.floor(O.value/10)*10;return be?`${ze} ${be} - ${ze+9} ${be}`:`${ze} - ${ze+9}`}return`${O.value} ${be}`}),D=be=>{const ze=Ve(be.value)?be.value():be.value;if(ze){C=!0,H(st(ze).locale(d.value));return}be.onClick&&be.onClick({attrs:l,slots:u,emit:o})},F=w(()=>{const{type:be}=a;return["week","month","months","year","years","dates"].includes(be)?be:"date"}),q=w(()=>F.value==="dates"||F.value==="months"||F.value==="years"),j=w(()=>F.value==="date"?I.value:F.value),X=w(()=>!!g.length),Q=async(be,ze)=>{F.value==="month"?(y.value=Sl(y.value,y.value.year(),be,d.value,p),H(y.value,!1)):F.value==="months"?H(be,ze??!0):(y.value=Sl(y.value,y.value.year(),be,d.value,p),I.value="date",["month","year","date","week"].includes(F.value)&&(H(y.value,!0),await Re(),Rt())),kt("month")},he=async(be,ze)=>{F.value==="year"?(y.value=id(y.value.startOf("year").year(be),d.value,p),H(y.value,!1)):F.value==="years"?H(be,ze??!0):(y.value=id(y.value.year(be),d.value,p),I.value="month",["month","year","date","week"].includes(F.value)&&(H(y.value,!0),await Re(),Rt())),kt("year")},ue=un(),ge=async be=>{ue.value||(I.value=be,await Re(),Rt())},ie=w(()=>a.type==="datetime"||a.type==="datetimerange"),ae=w(()=>{const be=ie.value||F.value==="dates",ze=F.value==="years",de=F.value==="months",Ge=I.value==="date",$t=I.value==="year",tn=I.value==="month";return be&&Ge||ze&&$t||de&&tn}),ne=w(()=>!q.value&&a.showNow||a.showConfirm),K=w(()=>p?a.parsedValue?ye(a.parsedValue)?p(a.parsedValue[0].toDate()):p(a.parsedValue.toDate()):!0:!1),Z=()=>{if(q.value)H(a.parsedValue);else{let be=jl(a.parsedValue);if(!be){const ze=st(m).locale(d.value),de=je();be=ze.year(de.year()).month(de.month()).date(de.date())}y.value=be,H(be)}},re=w(()=>p?p(st().locale(d.value).toDate()):!1),ce=()=>{const be=st().locale(d.value).toDate();S.value=!0,(!p||!p(be))&&_(be)&&(y.value=st().locale(d.value),H(y.value))},ve=w(()=>a.timeFormat||gk(a.format)||wl),ke=w(()=>a.dateFormat||mk(a.format)||Os),Ne=w(()=>{if(A.value)return A.value;if(!(!a.parsedValue&&!b.value))return(jl(a.parsedValue)||y.value).format(ve.value)}),Ie=w(()=>{if(R.value)return R.value;if(!(!a.parsedValue&&!b.value))return(jl(a.parsedValue)||y.value).format(ke.value)}),$e=M(!1),pe=()=>{$e.value=!0},Ee=()=>{$e.value=!1},me=be=>({hour:be.hour(),minute:be.minute(),second:be.second(),year:be.year(),month:be.month(),date:be.date()}),Me=(be,ze,de)=>{const{hour:Ge,minute:$t,second:tn}=me(be),_n=jl(a.parsedValue);y.value=_n?_n.hour(Ge).minute($t).second(tn):be,H(y.value,!0),de||($e.value=ze)},We=be=>{const ze=st(be,ve.value).locale(d.value);if(ze.isValid()&&_(ze)){const{year:de,month:Ge,date:$t}=me(y.value);y.value=ze.year(de).month(Ge).date($t),A.value=null,$e.value=!1,H(y.value,!0)}},Ze=be=>{const ze=Cl(be,ke.value,d.value,v);if(ze.isValid()){if(p&&p(ze.toDate()))return;const{hour:de,minute:Ge,second:$t}=me(y.value);y.value=ze.hour(de).minute(Ge).second($t),R.value=null,H(y.value,!0)}},Pe=be=>st.isDayjs(be)&&be.isValid()&&(p?!p(be.toDate()):!0),Ae=be=>Cl(be,a.format,d.value,v),je=()=>{const be=st(b.value).locale(d.value);if(!b.value){const ze=E.value;return st().hour(ze.hour()).minute(ze.minute()).second(ze.second()).locale(d.value)}return be},Rt=()=>{["week","month","year","date"].includes(F.value)&&k.value?.focus()},Ue=()=>{Rt(),F.value==="week"&&mt(we.down)},lt=be=>{const ze=jt(be);[we.up,we.down,we.left,we.right,we.home,we.end,we.pageUp,we.pageDown].includes(ze)&&(mt(ze),be.stopPropagation(),be.preventDefault()),[we.enter,we.space,we.numpadEnter].includes(ze)&&R.value===null&&A.value===null&&(be.preventDefault(),H(y.value,!1))},mt=be=>{const{up:ze,down:de,left:Ge,right:$t,home:tn,end:_n,pageUp:Be,pageDown:nt}=we,ct={year:{[ze]:-4,[de]:4,[Ge]:-1,[$t]:1,offset:(Wt,yn)=>Wt.setFullYear(Wt.getFullYear()+yn)},month:{[ze]:-4,[de]:4,[Ge]:-1,[$t]:1,offset:(Wt,yn)=>Wt.setMonth(Wt.getMonth()+yn)},week:{[ze]:-1,[de]:1,[Ge]:-1,[$t]:1,offset:(Wt,yn)=>Wt.setDate(Wt.getDate()+yn*7)},date:{[ze]:-7,[de]:7,[Ge]:-1,[$t]:1,[tn]:Wt=>-Wt.getDay(),[_n]:Wt=>-Wt.getDay()+6,[Be]:Wt=>-new Date(Wt.getFullYear(),Wt.getMonth(),0).getDate(),[nt]:Wt=>new Date(Wt.getFullYear(),Wt.getMonth()+1,0).getDate(),offset:(Wt,yn)=>Wt.setDate(Wt.getDate()+yn)}},kn=y.value.toDate();for(;Math.abs(y.value.diff(kn,"year",!0))<1;){const Wt=ct[j.value];if(!Wt)return;if(Wt.offset(kn,Ve(Wt[be])?Wt[be](kn):Wt[be]??0),p&&p(kn))break;const yn=st(kn).locale(d.value);y.value=yn,o("pick",yn,!0);break}},kt=be=>{o("panel-change",y.value.toDate(),be,I.value)};return le(()=>F.value,be=>{if(["month","year"].includes(be)){I.value=be;return}else if(be==="years"){I.value="year";return}else if(be==="months"){I.value="month";return}I.value="date"},{immediate:!0}),le(()=>b.value,be=>{be&&(y.value=je())},{immediate:!0}),le(()=>a.parsedValue,be=>{if(be){if(q.value||ye(be))return;y.value=be}else y.value=je()},{immediate:!0}),o("set-picker-option",["isValidValue",Pe]),o("set-picker-option",["parseUserInput",Ae]),o("set-picker-option",["handleFocusPicker",Ue]),(be,ze)=>(x(),B("div",{class:T([i(s).b(),i(r).b(),i(s).is("border",be.border),i(s).is("disabled",i(ue)),{"has-sidebar":be.$slots.sidebar||X.value,"has-time":ie.value}])},[z("div",{class:T(i(s).e("body-wrapper"))},[ee(be.$slots,"sidebar",{class:T(i(s).e("sidebar"))}),X.value?(x(),B("div",{key:0,class:T(i(s).e("sidebar"))},[(x(!0),B(Fe,null,gt(i(g),(de,Ge)=>(x(),B("button",{key:Ge,type:"button",disabled:i(ue),class:T(i(s).e("shortcut")),onClick:$t=>D(de)},Se(de.text),11,Wz))),128))],2)):te("v-if",!0),z("div",{class:T(i(s).e("body"))},[ie.value?(x(),B("div",{key:0,class:T(i(r).e("time-header"))},[z("span",{class:T(i(r).e("editor-wrap"))},[Y(i(ea),{placeholder:i(c)("el.datepicker.selectDate"),"model-value":Ie.value,size:"small","validate-event":!1,disabled:i(ue),readonly:!be.editable,onInput:ze[0]||(ze[0]=de=>R.value=de),onChange:Ze},null,8,["placeholder","model-value","disabled","readonly"])],2),ut((x(),B("span",{class:T(i(r).e("editor-wrap"))},[Y(i(ea),{placeholder:i(c)("el.datepicker.selectTime"),"model-value":Ne.value,size:"small","validate-event":!1,disabled:i(ue),readonly:!be.editable,onFocus:pe,onInput:ze[1]||(ze[1]=de=>A.value=de),onChange:We},null,8,["placeholder","model-value","disabled","readonly"]),Y(i(ad),{visible:$e.value,format:ve.value,"parsed-value":y.value,onPick:Me},null,8,["visible","format","parsed-value"])],2)),[[i(zs),Ee]])],2)):te("v-if",!0),ut(z("div",{class:T([i(r).e("header"),(I.value==="year"||I.value==="month")&&i(r).em("header","bordered")])},[z("span",{class:T(i(r).e("prev-btn"))},[z("button",{type:"button","aria-label":i(c)("el.datepicker.prevYear"),class:T(["d-arrow-left",i(s).e("icon-btn")]),disabled:i(ue),onClick:ze[2]||(ze[2]=de=>P(!1))},[ee(be.$slots,"prev-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Bs))]),_:1})])],10,jz),ut(z("button",{type:"button","aria-label":i(c)("el.datepicker.prevMonth"),class:T([i(s).e("icon-btn"),"arrow-left"]),disabled:i(ue),onClick:ze[3]||(ze[3]=de=>W(!1))},[ee(be.$slots,"prev-month",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(is))]),_:1})])],10,Uz),[[Pt,I.value==="date"]])],2),z("span",{role:"button",class:T(i(r).e("header-label")),"aria-live":"polite",tabindex:be.disabled?void 0:0,"aria-disabled":be.disabled,onKeydown:ze[4]||(ze[4]=on(de=>ge("year"),["enter"])),onClick:ze[5]||(ze[5]=de=>ge("year"))},Se(L.value),43,qz),ut(z("span",{role:"button","aria-live":"polite",tabindex:be.disabled?void 0:0,"aria-disabled":be.disabled,class:T([i(r).e("header-label"),{active:I.value==="month"}]),onKeydown:ze[6]||(ze[6]=on(de=>ge("month"),["enter"])),onClick:ze[7]||(ze[7]=de=>ge("month"))},Se(i(c)(`el.datepicker.month${$.value+1}`)),43,Yz),[[Pt,I.value==="date"]]),z("span",{class:T(i(r).e("next-btn"))},[ut(z("button",{type:"button","aria-label":i(c)("el.datepicker.nextMonth"),class:T([i(s).e("icon-btn"),"arrow-right"]),disabled:i(ue),onClick:ze[8]||(ze[8]=de=>W(!0))},[ee(be.$slots,"next-month",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(na))]),_:1})])],10,Gz),[[Pt,I.value==="date"]]),z("button",{type:"button","aria-label":i(c)("el.datepicker.nextYear"),class:T([i(s).e("icon-btn"),"d-arrow-right"]),disabled:i(ue),onClick:ze[9]||(ze[9]=de=>P(!0))},[ee(be.$slots,"next-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Fs))]),_:1})])],10,Xz)],2)],2),[[Pt,I.value!=="time"]]),z("div",{class:T(i(s).e("content")),onKeydown:lt},[I.value==="date"?(x(),oe(mh,{key:0,ref_key:"currentViewRef",ref:k,"selection-mode":F.value,date:y.value,"parsed-value":be.parsedValue,"disabled-date":i(p),disabled:i(ue),"cell-class-name":i(h),"show-week-number":be.showWeekNumber,onPick:U},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name","show-week-number"])):te("v-if",!0),I.value==="year"?(x(),oe(Fi,{key:1,ref_key:"currentViewRef",ref:k,"selection-mode":F.value,date:y.value,"disabled-date":i(p),disabled:i(ue),"parsed-value":be.parsedValue,"cell-class-name":i(h),onPick:he},null,8,["selection-mode","date","disabled-date","disabled","parsed-value","cell-class-name"])):te("v-if",!0),I.value==="month"?(x(),oe(Bi,{key:2,ref_key:"currentViewRef",ref:k,"selection-mode":F.value,date:y.value,"parsed-value":be.parsedValue,"disabled-date":i(p),disabled:i(ue),"cell-class-name":i(h),onPick:Q},null,8,["selection-mode","date","parsed-value","disabled-date","disabled","cell-class-name"])):te("v-if",!0)],34)],2)],2),be.showFooter&&ae.value&&ne.value?(x(),B("div",{key:0,class:T(i(s).e("footer"))},[ut(Y(i(In),{text:"",size:"small",class:T(i(s).e("link-btn")),disabled:re.value,onClick:ce},{default:J(()=>[wt(Se(i(c)("el.datepicker.now")),1)]),_:1},8,["class","disabled"]),[[Pt,!q.value&&be.showNow]]),be.showConfirm?(x(),oe(i(In),{key:0,plain:"",size:"small",class:T(i(s).e("link-btn")),disabled:K.value,onClick:Z},{default:J(()=>[wt(Se(i(c)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])):te("v-if",!0)],2)):te("v-if",!0)],2))}}),Zz=Jz;const Qz=Ce({...b2,...Sm}),eH=e=>{const{emit:t}=ft(),n=fs(),a=vn();return s=>{const r=Ve(s.value)?s.value():s.value;if(r){t("pick",[st(r[0]).locale(e.value),st(r[1]).locale(e.value)]);return}s.onClick&&s.onClick({attrs:n,slots:a,emit:t})}},Em=(e,{defaultValue:t,defaultTime:n,leftDate:a,rightDate:o,step:s,unit:r,sortDates:l})=>{const{emit:u}=ft(),{pickerNs:c}=_e(ym),d=fe("date-range-picker"),{t:f,lang:v}=Ct(),g=eH(v),p=M(),h=M(),m=M({endDate:null,selecting:!1}),b=E=>{m.value=E},k=(E=!1)=>{const $=i(p),O=i(h);Di([$,O])&&u("pick",[$,O],E)},y=E=>{m.value.selecting=E,E||(m.value.endDate=null)},S=E=>{if(ye(E)&&E.length===2){const[$,O]=E;p.value=$,a.value=$,h.value=O,l(i(p),i(h))}else C()},C=()=>{let[E,$]=lf(i(t),{lang:i(v),step:s,unit:r,unlinkPanels:e.unlinkPanels});const O=R=>R.diff(R.startOf("d"),"ms"),N=i(n);if(N){let R=0,A=0;if(ye(N)){const[_,V]=N.map(st);R=O(_),A=O(V)}else{const _=O(st(N));R=_,A=_}E=E.startOf("d").add(R,"ms"),$=$.startOf("d").add(A,"ms")}p.value=void 0,h.value=void 0,a.value=E,o.value=$};return le(t,E=>{E&&C()},{immediate:!0}),le(()=>e.parsedValue,E=>{(!E?.length||!sn(E,[p.value,h.value]))&&S(E)},{immediate:!0}),le(()=>e.visible,()=>{e.visible&&S(e.parsedValue)},{immediate:!0}),{minDate:p,maxDate:h,rangeState:m,lang:v,ppNs:c,drpNs:d,handleChangeRange:b,handleRangeConfirm:k,handleShortcutClick:g,onSelect:y,parseValue:S,t:f}},tH=(e,t,n,a)=>{const o=M("date"),s=M(),r=M("date"),l=M(),{disabledDate:u}=_e(oo).props,{t:c,lang:d}=Ct(),f=w(()=>n.value.year()),v=w(()=>n.value.month()),g=w(()=>a.value.year()),p=w(()=>a.value.month());function h(C,E){const $=c("el.datepicker.year");if(C.value==="year"){const O=Math.floor(E.value/10)*10;return $?`${O} ${$} - ${O+9} ${$}`:`${O} - ${O+9}`}return`${E.value} ${$}`}function m(C){C?.focus()}async function b(C,E){if(e.disabled)return;const $=C==="left"?o:r,O=C==="left"?s:l;$.value=E,await Re(),m(O.value)}async function k(C,E,$){if(e.disabled)return;const O=E==="left",N=O?n:a,R=O?a:n,A=O?o:r,_=O?s:l;C==="year"&&(N.value=id(N.value.year($),d.value,u)),C==="month"&&(N.value=Sl(N.value,N.value.year(),$,d.value,u)),e.unlinkPanels||(R.value=E==="left"?N.value.add(1,"month"):N.value.subtract(1,"month")),A.value=C==="year"?"month":"date",await Re(),m(_.value),y(C)}function y(C){t("panel-change",[n.value.toDate(),a.value.toDate()],C)}function S(C,E,$){const O=$?"add":"subtract";return C==="year"?E[O](10,"year"):E[O](1,"year")}return{leftCurrentView:o,rightCurrentView:r,leftCurrentViewRef:s,rightCurrentViewRef:l,leftYear:f,rightYear:g,leftMonth:v,rightMonth:p,leftYearLabel:w(()=>h(o,f)),rightYearLabel:w(()=>h(r,g)),showLeftPicker:C=>b("left",C),showRightPicker:C=>b("right",C),handleLeftYearPick:C=>k("year","left",C),handleRightYearPick:C=>k("year","right",C),handleLeftMonthPick:C=>k("month","left",C),handleRightMonthPick:C=>k("month","right",C),handlePanelChange:y,adjustDateByView:S}},nH=["disabled","onClick"],aH=["aria-label","disabled"],oH=["aria-label","disabled"],sH=["disabled","aria-label"],rH=["disabled","aria-label"],lH=["tabindex","aria-disabled"],iH=["tabindex","aria-disabled"],uH=["disabled","aria-label"],cH=["disabled","aria-label"],dH=["aria-label","disabled"],fH=["disabled","aria-label"],pH=["tabindex","aria-disabled"],hH=["tabindex","aria-disabled"],Xu="month";var vH=se({__name:"panel-date-range",props:Qz,emits:["pick","set-picker-option","calendar-change","panel-change","clear"],setup(e,{emit:t}){const n=e,a=t,o=_e(oo),s=_e(wu,void 0),{disabledDate:r,cellClassName:l,defaultTime:u,clearable:c}=o.props,d=Vt(o.props,"format"),f=Vt(o.props,"shortcuts"),v=Vt(o.props,"defaultValue"),{lang:g}=Ct(),p=M(st().locale(g.value)),h=M(st().locale(g.value).add(1,Xu)),{minDate:m,maxDate:b,rangeState:k,ppNs:y,drpNs:S,handleChangeRange:C,handleRangeConfirm:E,handleShortcutClick:$,onSelect:O,parseValue:N,t:R}=Em(n,{defaultValue:v,defaultTime:u,leftDate:p,rightDate:h,unit:Xu,sortDates:yn});le(()=>n.visible,Qe=>{!Qe&&k.value.selecting&&(N(n.parsedValue),O(!1))});const A=M({min:null,max:null}),_=M({min:null,max:null}),{leftCurrentView:V,rightCurrentView:H,leftCurrentViewRef:U,rightCurrentViewRef:W,leftYear:P,rightYear:I,leftMonth:L,rightMonth:D,leftYearLabel:F,rightYearLabel:q,showLeftPicker:j,showRightPicker:X,handleLeftYearPick:Q,handleRightYearPick:he,handleLeftMonthPick:ue,handleRightMonthPick:ge,handlePanelChange:ie,adjustDateByView:ae}=tH(n,a,p,h),ne=w(()=>!!f.value.length),K=w(()=>A.value.min!==null?A.value.min:m.value?m.value.format(ke.value):""),Z=w(()=>A.value.max!==null?A.value.max:b.value||m.value?(b.value||m.value).format(ke.value):""),re=w(()=>_.value.min!==null?_.value.min:m.value?m.value.format(ve.value):""),ce=w(()=>_.value.max!==null?_.value.max:b.value||m.value?(b.value||m.value).format(ve.value):""),ve=w(()=>n.timeFormat||gk(d.value||"")||wl),ke=w(()=>n.dateFormat||mk(d.value||"")||Os),Ne=Qe=>Di(Qe)&&(r?!r(Qe[0].toDate())&&!r(Qe[1].toDate()):!0),Ie=()=>{p.value=ae(V.value,p.value,!1),n.unlinkPanels||(h.value=p.value.add(1,"month")),ie("year")},$e=()=>{p.value=p.value.subtract(1,"month"),n.unlinkPanels||(h.value=p.value.add(1,"month")),ie("month")},pe=()=>{n.unlinkPanels?h.value=ae(H.value,h.value,!0):(p.value=ae(H.value,p.value,!0),h.value=p.value.add(1,"month")),ie("year")},Ee=()=>{n.unlinkPanels?h.value=h.value.add(1,"month"):(p.value=p.value.add(1,"month"),h.value=p.value.add(1,"month")),ie("month")},me=()=>{p.value=ae(V.value,p.value,!0),ie("year")},Me=()=>{p.value=p.value.add(1,"month"),ie("month")},We=()=>{h.value=ae(H.value,h.value,!1),ie("year")},Ze=()=>{h.value=h.value.subtract(1,"month"),ie("month")},Pe=w(()=>{const Qe=(L.value+1)%12,tt=L.value+1>=12?1:0;return n.unlinkPanels&&new Date(P.value+tt,Qe)n.unlinkPanels&&I.value*12+D.value-(P.value*12+L.value+1)>=12),je=un(),Rt=w(()=>!(m.value&&b.value&&!k.value.selecting&&Di([m.value,b.value])&&!je.value)),Ue=w(()=>n.type==="datetime"||n.type==="datetimerange"),lt=(Qe,tt)=>{if(Qe)return u?st(u[tt]||u).locale(g.value).year(Qe.year()).month(Qe.month()).date(Qe.date()):Qe},mt=(Qe,tt=!0)=>{const bt=Qe.minDate,oa=Qe.maxDate,ho=lt(bt,0),Wa=lt(oa,1);b.value===Wa&&m.value===ho||(a("calendar-change",[bt.toDate(),oa&&oa.toDate()]),b.value=Wa,m.value=ho,!Ue.value&&tt&&(tt=!ho||!Wa),E(tt))},kt=M(!1),be=M(!1),ze=()=>{kt.value=!1},de=()=>{be.value=!1},Ge=(Qe,tt)=>{A.value[tt]=Qe;const bt=st(Qe,ke.value).locale(g.value);if(bt.isValid()){if(r&&r(bt.toDate()))return;tt==="min"?(p.value=bt,m.value=(m.value||p.value).year(bt.year()).month(bt.month()).date(bt.date()),!n.unlinkPanels&&(!b.value||b.value.isBefore(m.value))&&(h.value=bt.add(1,"month"),b.value=m.value.add(1,"month"))):(h.value=bt,b.value=(b.value||h.value).year(bt.year()).month(bt.month()).date(bt.date()),!n.unlinkPanels&&(!m.value||m.value.isAfter(b.value))&&(p.value=bt.subtract(1,"month"),m.value=b.value.subtract(1,"month"))),yn(m.value,b.value),E(!0)}},$t=(Qe,tt)=>{A.value[tt]=null},tn=(Qe,tt)=>{_.value[tt]=Qe;const bt=st(Qe,ve.value).locale(g.value);bt.isValid()&&(tt==="min"?(kt.value=!0,m.value=(m.value||p.value).hour(bt.hour()).minute(bt.minute()).second(bt.second()),p.value=m.value):(be.value=!0,b.value=(b.value||h.value).hour(bt.hour()).minute(bt.minute()).second(bt.second()),h.value=b.value))},_n=(Qe,tt)=>{_.value[tt]=null,tt==="min"?(p.value=m.value,kt.value=!1,(!b.value||b.value.isBefore(m.value))&&(b.value=m.value)):(h.value=b.value,be.value=!1,b.value&&b.value.isBefore(m.value)&&(m.value=b.value)),E(!0)},Be=(Qe,tt,bt)=>{_.value.min||(Qe&&(m.value=(m.value||p.value).hour(Qe.hour()).minute(Qe.minute()).second(Qe.second())),bt||(kt.value=tt),(!b.value||b.value.isBefore(m.value))&&(b.value=m.value,h.value=Qe,Re(()=>{N(n.parsedValue)})),E(!0))},nt=(Qe,tt,bt)=>{_.value.max||(Qe&&(b.value=(b.value||h.value).hour(Qe.hour()).minute(Qe.minute()).second(Qe.second())),bt||(be.value=tt),b.value&&b.value.isBefore(m.value)&&(m.value=b.value),E(!0))},ct=()=>{kn(),a("clear")},kn=()=>{let Qe=null;o?.emptyValues&&(Qe=o.emptyValues.valueOnClear.value),p.value=lf(i(v),{lang:i(g),unit:"month",unlinkPanels:n.unlinkPanels})[0],h.value=p.value.add(1,"month"),b.value=void 0,m.value=void 0,E(!0),a("pick",Qe)},Wt=Qe=>Cl(Qe,d.value||"",g.value,s);function yn(Qe,tt){if(n.unlinkPanels&&tt){const bt=Qe?.year()||0,oa=Qe?.month()||0,ho=tt.year(),Wa=tt.month();h.value=bt===ho&&oa===Wa?tt.add(1,Xu):tt}else h.value=p.value.add(1,Xu),tt&&(h.value=h.value.hour(tt.hour()).minute(tt.minute()).second(tt.second()))}return a("set-picker-option",["isValidValue",Ne]),a("set-picker-option",["parseUserInput",Wt]),a("set-picker-option",["handleClear",kn]),(Qe,tt)=>(x(),B("div",{class:T([i(y).b(),i(S).b(),i(y).is("border",Qe.border),i(y).is("disabled",i(je)),{"has-sidebar":Qe.$slots.sidebar||ne.value,"has-time":Ue.value}])},[z("div",{class:T(i(y).e("body-wrapper"))},[ee(Qe.$slots,"sidebar",{class:T(i(y).e("sidebar"))}),ne.value?(x(),B("div",{key:0,class:T(i(y).e("sidebar"))},[(x(!0),B(Fe,null,gt(f.value,(bt,oa)=>(x(),B("button",{key:oa,type:"button",disabled:i(je),class:T(i(y).e("shortcut")),onClick:ho=>i($)(bt)},Se(bt.text),11,nH))),128))],2)):te("v-if",!0),z("div",{class:T(i(y).e("body"))},[Ue.value?(x(),B("div",{key:0,class:T(i(S).e("time-header"))},[z("span",{class:T(i(S).e("editors-wrap"))},[z("span",{class:T(i(S).e("time-picker-wrap"))},[Y(i(ea),{size:"small",disabled:i(k).selecting||i(je),placeholder:i(R)("el.datepicker.startDate"),class:T(i(S).e("editor")),"model-value":K.value,"validate-event":!1,readonly:!Qe.editable,onInput:tt[0]||(tt[0]=bt=>Ge(bt,"min")),onChange:tt[1]||(tt[1]=bt=>$t(bt,"min"))},null,8,["disabled","placeholder","class","model-value","readonly"])],2),ut((x(),B("span",{class:T(i(S).e("time-picker-wrap"))},[Y(i(ea),{size:"small",class:T(i(S).e("editor")),disabled:i(k).selecting||i(je),placeholder:i(R)("el.datepicker.startTime"),"model-value":re.value,"validate-event":!1,readonly:!Qe.editable,onFocus:tt[2]||(tt[2]=bt=>kt.value=!0),onInput:tt[3]||(tt[3]=bt=>tn(bt,"min")),onChange:tt[4]||(tt[4]=bt=>_n(bt,"min"))},null,8,["class","disabled","placeholder","model-value","readonly"]),Y(i(ad),{visible:kt.value,format:ve.value,"datetime-role":"start","parsed-value":i(m)||p.value,onPick:Be},null,8,["visible","format","parsed-value"])],2)),[[i(zs),ze]])],2),z("span",null,[Y(i(De),null,{default:J(()=>[Y(i(na))]),_:1})]),z("span",{class:T([i(S).e("editors-wrap"),"is-right"])},[z("span",{class:T(i(S).e("time-picker-wrap"))},[Y(i(ea),{size:"small",class:T(i(S).e("editor")),disabled:i(k).selecting||i(je),placeholder:i(R)("el.datepicker.endDate"),"model-value":Z.value,readonly:!i(m)||!Qe.editable,"validate-event":!1,onInput:tt[5]||(tt[5]=bt=>Ge(bt,"max")),onChange:tt[6]||(tt[6]=bt=>$t(bt,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"])],2),ut((x(),B("span",{class:T(i(S).e("time-picker-wrap"))},[Y(i(ea),{size:"small",class:T(i(S).e("editor")),disabled:i(k).selecting||i(je),placeholder:i(R)("el.datepicker.endTime"),"model-value":ce.value,readonly:!i(m)||!Qe.editable,"validate-event":!1,onFocus:tt[7]||(tt[7]=bt=>i(m)&&(be.value=!0)),onInput:tt[8]||(tt[8]=bt=>tn(bt,"max")),onChange:tt[9]||(tt[9]=bt=>_n(bt,"max"))},null,8,["class","disabled","placeholder","model-value","readonly"]),Y(i(ad),{"datetime-role":"end",visible:be.value,format:ve.value,"parsed-value":i(b)||h.value,onPick:nt},null,8,["visible","format","parsed-value"])],2)),[[i(zs),de]])],2)],2)):te("v-if",!0),z("div",{class:T([[i(y).e("content"),i(S).e("content")],"is-left"])},[z("div",{class:T(i(S).e("header"))},[z("button",{type:"button",class:T([i(y).e("icon-btn"),"d-arrow-left"]),"aria-label":i(R)("el.datepicker.prevYear"),disabled:i(je),onClick:Ie},[ee(Qe.$slots,"prev-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Bs))]),_:1})])],10,aH),ut(z("button",{type:"button",class:T([i(y).e("icon-btn"),"arrow-left"]),"aria-label":i(R)("el.datepicker.prevMonth"),disabled:i(je),onClick:$e},[ee(Qe.$slots,"prev-month",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(is))]),_:1})])],10,oH),[[Pt,i(V)==="date"]]),Qe.unlinkPanels?(x(),B("button",{key:0,type:"button",disabled:!Ae.value||i(je),class:T([[i(y).e("icon-btn"),i(y).is("disabled",!Ae.value||i(je))],"d-arrow-right"]),"aria-label":i(R)("el.datepicker.nextYear"),onClick:me},[ee(Qe.$slots,"next-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Fs))]),_:1})])],10,sH)):te("v-if",!0),Qe.unlinkPanels&&i(V)==="date"?(x(),B("button",{key:1,type:"button",disabled:!Pe.value||i(je),class:T([[i(y).e("icon-btn"),i(y).is("disabled",!Pe.value||i(je))],"arrow-right"]),"aria-label":i(R)("el.datepicker.nextMonth"),onClick:Me},[ee(Qe.$slots,"next-month",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(na))]),_:1})])],10,rH)):te("v-if",!0),z("div",null,[z("span",{role:"button",class:T(i(S).e("header-label")),"aria-live":"polite",tabindex:Qe.disabled?void 0:0,"aria-disabled":Qe.disabled,onKeydown:tt[10]||(tt[10]=on(bt=>i(j)("year"),["enter"])),onClick:tt[11]||(tt[11]=bt=>i(j)("year"))},Se(i(F)),43,lH),ut(z("span",{role:"button","aria-live":"polite",tabindex:Qe.disabled?void 0:0,"aria-disabled":Qe.disabled,class:T([i(S).e("header-label"),{active:i(V)==="month"}]),onKeydown:tt[12]||(tt[12]=on(bt=>i(j)("month"),["enter"])),onClick:tt[13]||(tt[13]=bt=>i(j)("month"))},Se(i(R)(`el.datepicker.month${p.value.month()+1}`)),43,iH),[[Pt,i(V)==="date"]])])],2),i(V)==="date"?(x(),oe(mh,{key:0,ref_key:"leftCurrentViewRef",ref:U,"selection-mode":"range",date:p.value,"min-date":i(m),"max-date":i(b),"range-state":i(k),"disabled-date":i(r),"cell-class-name":i(l),"show-week-number":Qe.showWeekNumber,disabled:i(je),onChangerange:i(C),onPick:mt,onSelect:i(O)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):te("v-if",!0),i(V)==="year"?(x(),oe(Fi,{key:1,ref_key:"leftCurrentViewRef",ref:U,"selection-mode":"year",date:p.value,"disabled-date":i(r),"parsed-value":Qe.parsedValue,disabled:i(je),onPick:i(Q)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):te("v-if",!0),i(V)==="month"?(x(),oe(Bi,{key:2,ref_key:"leftCurrentViewRef",ref:U,"selection-mode":"month",date:p.value,"parsed-value":Qe.parsedValue,"disabled-date":i(r),disabled:i(je),onPick:i(ue)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):te("v-if",!0)],2),z("div",{class:T([[i(y).e("content"),i(S).e("content")],"is-right"])},[z("div",{class:T(i(S).e("header"))},[Qe.unlinkPanels?(x(),B("button",{key:0,type:"button",disabled:!Ae.value||i(je),class:T([[i(y).e("icon-btn"),i(y).is("disabled",!Ae.value||i(je))],"d-arrow-left"]),"aria-label":i(R)("el.datepicker.prevYear"),onClick:We},[ee(Qe.$slots,"prev-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Bs))]),_:1})])],10,uH)):te("v-if",!0),Qe.unlinkPanels&&i(H)==="date"?(x(),B("button",{key:1,type:"button",disabled:!Pe.value||i(je),class:T([[i(y).e("icon-btn"),i(y).is("disabled",!Pe.value||i(je))],"arrow-left"]),"aria-label":i(R)("el.datepicker.prevMonth"),onClick:Ze},[ee(Qe.$slots,"prev-month",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(is))]),_:1})])],10,cH)):te("v-if",!0),z("button",{type:"button","aria-label":i(R)("el.datepicker.nextYear"),class:T([i(y).e("icon-btn"),"d-arrow-right"]),disabled:i(je),onClick:pe},[ee(Qe.$slots,"next-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Fs))]),_:1})])],10,dH),ut(z("button",{type:"button",class:T([i(y).e("icon-btn"),"arrow-right"]),disabled:i(je),"aria-label":i(R)("el.datepicker.nextMonth"),onClick:Ee},[ee(Qe.$slots,"next-month",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(na))]),_:1})])],10,fH),[[Pt,i(H)==="date"]]),z("div",null,[z("span",{role:"button",class:T(i(S).e("header-label")),"aria-live":"polite",tabindex:Qe.disabled?void 0:0,"aria-disabled":Qe.disabled,onKeydown:tt[14]||(tt[14]=on(bt=>i(X)("year"),["enter"])),onClick:tt[15]||(tt[15]=bt=>i(X)("year"))},Se(i(q)),43,pH),ut(z("span",{role:"button","aria-live":"polite",tabindex:Qe.disabled?void 0:0,"aria-disabled":Qe.disabled,class:T([i(S).e("header-label"),{active:i(H)==="month"}]),onKeydown:tt[16]||(tt[16]=on(bt=>i(X)("month"),["enter"])),onClick:tt[17]||(tt[17]=bt=>i(X)("month"))},Se(i(R)(`el.datepicker.month${h.value.month()+1}`)),43,hH),[[Pt,i(H)==="date"]])])],2),i(H)==="date"?(x(),oe(mh,{key:0,ref_key:"rightCurrentViewRef",ref:W,"selection-mode":"range",date:h.value,"min-date":i(m),"max-date":i(b),"range-state":i(k),"disabled-date":i(r),"cell-class-name":i(l),"show-week-number":Qe.showWeekNumber,disabled:i(je),onChangerange:i(C),onPick:mt,onSelect:i(O)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","show-week-number","disabled","onChangerange","onSelect"])):te("v-if",!0),i(H)==="year"?(x(),oe(Fi,{key:1,ref_key:"rightCurrentViewRef",ref:W,"selection-mode":"year",date:h.value,"disabled-date":i(r),"parsed-value":Qe.parsedValue,disabled:i(je),onPick:i(he)},null,8,["date","disabled-date","parsed-value","disabled","onPick"])):te("v-if",!0),i(H)==="month"?(x(),oe(Bi,{key:2,ref_key:"rightCurrentViewRef",ref:W,"selection-mode":"month",date:h.value,"parsed-value":Qe.parsedValue,"disabled-date":i(r),disabled:i(je),onPick:i(ge)},null,8,["date","parsed-value","disabled-date","disabled","onPick"])):te("v-if",!0)],2)],2)],2),Qe.showFooter&&Ue.value&&(Qe.showConfirm||i(c))?(x(),B("div",{key:0,class:T(i(y).e("footer"))},[i(c)?(x(),oe(i(In),{key:0,text:"",size:"small",class:T(i(y).e("link-btn")),onClick:ct},{default:J(()=>[wt(Se(i(R)("el.datepicker.clear")),1)]),_:1},8,["class"])):te("v-if",!0),Qe.showConfirm?(x(),oe(i(In),{key:1,plain:"",size:"small",class:T(i(y).e("link-btn")),disabled:Rt.value,onClick:tt[18]||(tt[18]=bt=>i(E)(!1))},{default:J(()=>[wt(Se(i(R)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])):te("v-if",!0)],2)):te("v-if",!0)],2))}}),mH=vH;const gH=Ce({...Sm}),bH=["pick","set-picker-option","calendar-change"],yH=({unlinkPanels:e,leftDate:t,rightDate:n})=>{const{t:a}=Ct();return{leftPrevYear:()=>{t.value=t.value.subtract(1,"year"),e.value||(n.value=n.value.subtract(1,"year"))},rightNextYear:()=>{e.value||(t.value=t.value.add(1,"year")),n.value=n.value.add(1,"year")},leftNextYear:()=>{t.value=t.value.add(1,"year")},rightPrevYear:()=>{n.value=n.value.subtract(1,"year")},leftLabel:w(()=>`${t.value.year()} ${a("el.datepicker.year")}`),rightLabel:w(()=>`${n.value.year()} ${a("el.datepicker.year")}`),leftYear:w(()=>t.value.year()),rightYear:w(()=>n.value.year()===t.value.year()?t.value.year()+1:n.value.year())}},wH=["disabled","onClick"],SH=["disabled"],CH=["disabled"],kH=["disabled"],EH=["disabled"],Ju="year";var xH=se({name:"DatePickerMonthRange",__name:"panel-month-range",props:gH,emits:bH,setup(e,{emit:t}){const n=e,a=t,{lang:o}=Ct(),s=_e(oo),r=_e(wu,void 0),{shortcuts:l,disabledDate:u,cellClassName:c}=s.props,d=Vt(s.props,"format"),f=Vt(s.props,"defaultValue"),v=M(st().locale(o.value)),g=M(st().locale(o.value).add(1,Ju)),{minDate:p,maxDate:h,rangeState:m,ppNs:b,drpNs:k,handleChangeRange:y,handleRangeConfirm:S,handleShortcutClick:C,onSelect:E,parseValue:$}=Em(n,{defaultValue:f,leftDate:v,rightDate:g,unit:Ju,sortDates:F}),O=w(()=>!!l.length),{leftPrevYear:N,rightNextYear:R,leftNextYear:A,rightPrevYear:_,leftLabel:V,rightLabel:H,leftYear:U,rightYear:W}=yH({unlinkPanels:Vt(n,"unlinkPanels"),leftDate:v,rightDate:g}),P=w(()=>n.unlinkPanels&&W.value>U.value+1),I=(j,X=!0)=>{const Q=j.minDate,he=j.maxDate;h.value===he&&p.value===Q||(a("calendar-change",[Q.toDate(),he&&he.toDate()]),h.value=he,p.value=Q,X&&S())},L=()=>{let j=null;s?.emptyValues&&(j=s.emptyValues.valueOnClear.value),v.value=lf(i(f),{lang:i(o),unit:"year",unlinkPanels:n.unlinkPanels})[0],g.value=v.value.add(1,"year"),a("pick",j)},D=j=>Cl(j,d.value,o.value,r);function F(j,X){n.unlinkPanels&&X?g.value=(j?.year()||0)===X.year()?X.add(1,Ju):X:g.value=v.value.add(1,Ju)}const q=un();return le(()=>n.visible,j=>{!j&&m.value.selecting&&($(n.parsedValue),E(!1))}),a("set-picker-option",["isValidValue",Di]),a("set-picker-option",["parseUserInput",D]),a("set-picker-option",["handleClear",L]),(j,X)=>(x(),B("div",{class:T([i(b).b(),i(k).b(),i(b).is("border",j.border),i(b).is("disabled",i(q)),{"has-sidebar":!!j.$slots.sidebar||O.value}])},[z("div",{class:T(i(b).e("body-wrapper"))},[ee(j.$slots,"sidebar",{class:T(i(b).e("sidebar"))}),O.value?(x(),B("div",{key:0,class:T(i(b).e("sidebar"))},[(x(!0),B(Fe,null,gt(i(l),(Q,he)=>(x(),B("button",{key:he,type:"button",class:T(i(b).e("shortcut")),disabled:i(q),onClick:ue=>i(C)(Q)},Se(Q.text),11,wH))),128))],2)):te("v-if",!0),z("div",{class:T(i(b).e("body"))},[z("div",{class:T([[i(b).e("content"),i(k).e("content")],"is-left"])},[z("div",{class:T(i(k).e("header"))},[z("button",{type:"button",class:T([i(b).e("icon-btn"),"d-arrow-left"]),disabled:i(q),onClick:X[0]||(X[0]=(...Q)=>i(N)&&i(N)(...Q))},[ee(j.$slots,"prev-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Bs))]),_:1})])],10,SH),j.unlinkPanels?(x(),B("button",{key:0,type:"button",disabled:!P.value||i(q),class:T([[i(b).e("icon-btn"),i(b).is("disabled",!P.value||i(q))],"d-arrow-right"]),onClick:X[1]||(X[1]=(...Q)=>i(A)&&i(A)(...Q))},[ee(j.$slots,"next-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Fs))]),_:1})])],10,CH)):te("v-if",!0),z("div",null,Se(i(V)),1)],2),Y(Bi,{"selection-mode":"range",date:v.value,"min-date":i(p),"max-date":i(h),"range-state":i(m),"disabled-date":i(u),disabled:i(q),"cell-class-name":i(c),onChangerange:i(y),onPick:I,onSelect:i(E)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),z("div",{class:T([[i(b).e("content"),i(k).e("content")],"is-right"])},[z("div",{class:T(i(k).e("header"))},[j.unlinkPanels?(x(),B("button",{key:0,type:"button",disabled:!P.value||i(q),class:T([[i(b).e("icon-btn"),i(b).is("disabled",!P.value||i(q))],"d-arrow-left"]),onClick:X[2]||(X[2]=(...Q)=>i(_)&&i(_)(...Q))},[ee(j.$slots,"prev-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Bs))]),_:1})])],10,kH)):te("v-if",!0),z("button",{type:"button",class:T([i(b).e("icon-btn"),"d-arrow-right"]),disabled:i(q),onClick:X[3]||(X[3]=(...Q)=>i(R)&&i(R)(...Q))},[ee(j.$slots,"next-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Fs))]),_:1})])],10,EH),z("div",null,Se(i(H)),1)],2),Y(Bi,{"selection-mode":"range",date:g.value,"min-date":i(p),"max-date":i(h),"range-state":i(m),"disabled-date":i(u),disabled:i(q),"cell-class-name":i(c),onChangerange:i(y),onPick:I,onSelect:i(E)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2)],2)],2)],2))}}),TH=xH;const $H=Ce({...Sm}),OH=["pick","set-picker-option","calendar-change"],RH=({unlinkPanels:e,leftDate:t,rightDate:n})=>({leftPrevYear:()=>{t.value=t.value.subtract(10,"year"),e.value||(n.value=n.value.subtract(10,"year"))},rightNextYear:()=>{e.value||(t.value=t.value.add(10,"year")),n.value=n.value.add(10,"year")},leftNextYear:()=>{t.value=t.value.add(10,"year")},rightPrevYear:()=>{n.value=n.value.subtract(10,"year")},leftLabel:w(()=>{const l=Math.floor(t.value.year()/10)*10;return`${l}-${l+9}`}),rightLabel:w(()=>{const l=Math.floor(n.value.year()/10)*10;return`${l}-${l+9}`}),leftYear:w(()=>Math.floor(t.value.year()/10)*10+9),rightYear:w(()=>Math.floor(n.value.year()/10)*10)}),NH=["disabled","onClick"],IH=["disabled"],PH=["disabled"],MH=["disabled"],_H=["disabled"],zr=10,Ul="year";var AH=se({name:"DatePickerYearRange",__name:"panel-year-range",props:$H,emits:OH,setup(e,{emit:t}){const n=e,a=t,{lang:o}=Ct(),s=M(st().locale(o.value)),r=M(st().locale(o.value).add(zr,Ul)),l=_e(wu,void 0),u=_e(oo),{shortcuts:c,disabledDate:d,cellClassName:f}=u.props,v=Vt(u.props,"format"),g=Vt(u.props,"defaultValue"),{minDate:p,maxDate:h,rangeState:m,ppNs:b,drpNs:k,handleChangeRange:y,handleRangeConfirm:S,handleShortcutClick:C,onSelect:E,parseValue:$}=Em(n,{defaultValue:g,leftDate:s,rightDate:r,step:zr,unit:Ul,sortDates:he}),{leftPrevYear:O,rightNextYear:N,leftNextYear:R,rightPrevYear:A,leftLabel:_,rightLabel:V,leftYear:H,rightYear:U}=RH({unlinkPanels:Vt(n,"unlinkPanels"),leftDate:s,rightDate:r}),W=un(),P=w(()=>!!c.length),I=w(()=>[b.b(),k.b(),b.is("border",n.border),b.is("disabled",W.value),{"has-sidebar":!!vn().sidebar||P.value}]),L=w(()=>({content:[b.e("content"),k.e("content"),"is-left"],arrowLeftBtn:[b.e("icon-btn"),"d-arrow-left"],arrowRightBtn:[b.e("icon-btn"),b.is("disabled",!F.value||W.value),"d-arrow-right"]})),D=w(()=>({content:[b.e("content"),k.e("content"),"is-right"],arrowLeftBtn:[b.e("icon-btn"),b.is("disabled",!F.value||W.value),"d-arrow-left"],arrowRightBtn:[b.e("icon-btn"),"d-arrow-right"]})),F=w(()=>n.unlinkPanels&&U.value>H.value+1),q=(ue,ge=!0)=>{const ie=ue.minDate,ae=ue.maxDate;h.value===ae&&p.value===ie||(a("calendar-change",[ie.toDate(),ae&&ae.toDate()]),h.value=ae,p.value=ie,ge&&S())},j=ue=>Cl(ue,v.value,o.value,l),X=ue=>Di(ue)&&(d?!d(ue[0].toDate())&&!d(ue[1].toDate()):!0),Q=()=>{let ue=null;u?.emptyValues&&(ue=u.emptyValues.valueOnClear.value);const ge=lf(i(g),{lang:i(o),step:zr,unit:Ul,unlinkPanels:n.unlinkPanels});s.value=ge[0],r.value=ge[1],a("pick",ue)};function he(ue,ge){if(n.unlinkPanels&&ge){const ie=ue?.year()||0,ae=ge.year();r.value=ie+zr>ae?ge.add(zr,Ul):ge}else r.value=s.value.add(zr,Ul)}return le(()=>n.visible,ue=>{!ue&&m.value.selecting&&($(n.parsedValue),E(!1))}),a("set-picker-option",["isValidValue",X]),a("set-picker-option",["parseUserInput",j]),a("set-picker-option",["handleClear",Q]),(ue,ge)=>(x(),B("div",{class:T(I.value)},[z("div",{class:T(i(b).e("body-wrapper"))},[ee(ue.$slots,"sidebar",{class:T(i(b).e("sidebar"))}),P.value?(x(),B("div",{key:0,class:T(i(b).e("sidebar"))},[(x(!0),B(Fe,null,gt(i(c),(ie,ae)=>(x(),B("button",{key:ae,type:"button",class:T(i(b).e("shortcut")),disabled:i(W),onClick:ne=>i(C)(ie)},Se(ie.text),11,NH))),128))],2)):te("v-if",!0),z("div",{class:T(i(b).e("body"))},[z("div",{class:T(L.value.content)},[z("div",{class:T(i(k).e("header"))},[z("button",{type:"button",class:T(L.value.arrowLeftBtn),disabled:i(W),onClick:ge[0]||(ge[0]=(...ie)=>i(O)&&i(O)(...ie))},[ee(ue.$slots,"prev-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Bs))]),_:1})])],10,IH),ue.unlinkPanels?(x(),B("button",{key:0,type:"button",disabled:!F.value||i(W),class:T(L.value.arrowRightBtn),onClick:ge[1]||(ge[1]=(...ie)=>i(R)&&i(R)(...ie))},[ee(ue.$slots,"next-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Fs))]),_:1})])],10,PH)):te("v-if",!0),z("div",null,Se(i(_)),1)],2),Y(Fi,{"selection-mode":"range",date:s.value,"min-date":i(p),"max-date":i(h),"range-state":i(m),"disabled-date":i(d),disabled:i(W),"cell-class-name":i(f),onChangerange:i(y),onPick:q,onSelect:i(E)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2),z("div",{class:T(D.value.content)},[z("div",{class:T(i(k).e("header"))},[ue.unlinkPanels?(x(),B("button",{key:0,type:"button",disabled:!F.value||i(W),class:T(D.value.arrowLeftBtn),onClick:ge[2]||(ge[2]=(...ie)=>i(A)&&i(A)(...ie))},[ee(ue.$slots,"prev-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Bs))]),_:1})])],10,MH)):te("v-if",!0),z("button",{type:"button",class:T(D.value.arrowRightBtn),disabled:i(W),onClick:ge[3]||(ge[3]=(...ie)=>i(N)&&i(N)(...ie))},[ee(ue.$slots,"next-year",{},()=>[Y(i(De),null,{default:J(()=>[Y(i(Fs))]),_:1})])],10,_H),z("div",null,Se(i(V)),1)],2),Y(Fi,{"selection-mode":"range",date:r.value,"min-date":i(p),"max-date":i(h),"range-state":i(m),"disabled-date":i(d),disabled:i(W),"cell-class-name":i(f),onChangerange:i(y),onPick:q,onSelect:i(E)},null,8,["date","min-date","max-date","range-state","disabled-date","disabled","cell-class-name","onChangerange","onSelect"])],2)],2)],2)],2))}}),LH=AH;const DH=function(e){switch(e){case"daterange":case"datetimerange":return mH;case"monthrange":return TH;case"yearrange":return LH;default:return Zz}};var Sc={exports:{}},BH=Sc.exports,c0;function FH(){return c0||(c0=1,(function(e,t){(function(n,a){e.exports=a()})(BH,(function(){return function(n,a){var o=a.prototype,s=o.format;o.format=function(r){var l=this,u=this.$locale();if(!this.isValid())return s.bind(this)(r);var c=this.$utils(),d=(r||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(f){switch(f){case"Q":return Math.ceil((l.$M+1)/3);case"Do":return u.ordinal(l.$D);case"gggg":return l.weekYear();case"GGGG":return l.isoWeekYear();case"wo":return u.ordinal(l.week(),"W");case"w":case"ww":return c.s(l.week(),f==="w"?1:2,"0");case"W":case"WW":return c.s(l.isoWeek(),f==="W"?1:2,"0");case"k":case"kk":return c.s(String(l.$H===0?24:l.$H),f==="k"?1:2,"0");case"X":return Math.floor(l.$d.getTime()/1e3);case"x":return l.$d.getTime();case"z":return"["+l.offsetName()+"]";case"zzz":return"["+l.offsetName("long")+"]";default:return f}}));return s.bind(this)(d)}}}))})(Sc)),Sc.exports}var VH=FH();const zH=bs(VH);var Cc={exports:{}},HH=Cc.exports,d0;function KH(){return d0||(d0=1,(function(e,t){(function(n,a){e.exports=a()})(HH,(function(){var n="week",a="year";return function(o,s,r){var l=s.prototype;l.week=function(u){if(u===void 0&&(u=null),u!==null)return this.add(7*(u-this.week()),"day");var c=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var d=r(this).startOf(a).add(1,a).date(c),f=r(this).endOf(n);if(d.isBefore(f))return 1}var v=r(this).startOf(a).date(c).startOf(n).subtract(1,"millisecond"),g=this.diff(v,n,!0);return g<0?r(this).startOf("week").week():Math.ceil(g)},l.weeks=function(u){return u===void 0&&(u=null),this.week(u)}}}))})(Cc)),Cc.exports}var WH=KH();const jH=bs(WH);var kc={exports:{}},UH=kc.exports,f0;function qH(){return f0||(f0=1,(function(e,t){(function(n,a){e.exports=a()})(UH,(function(){return function(n,a){a.prototype.weekYear=function(){var o=this.month(),s=this.week(),r=this.year();return s===1&&o===11?r+1:o===0&&s>=52?r-1:r}}}))})(kc)),kc.exports}var YH=qH();const GH=bs(YH);var Ec={exports:{}},XH=Ec.exports,p0;function JH(){return p0||(p0=1,(function(e,t){(function(n,a){e.exports=a()})(XH,(function(){return function(n,a,o){a.prototype.dayOfYear=function(s){var r=Math.round((o(this).startOf("day")-o(this).startOf("year"))/864e5)+1;return s==null?r:this.add(s-r,"day")}}}))})(Ec)),Ec.exports}var ZH=JH();const QH=bs(ZH);var xc={exports:{}},e5=xc.exports,h0;function t5(){return h0||(h0=1,(function(e,t){(function(n,a){e.exports=a()})(e5,(function(){return function(n,a){a.prototype.isSameOrAfter=function(o,s){return this.isSame(o,s)||this.isAfter(o,s)}}}))})(xc)),xc.exports}var n5=t5();const a5=bs(n5);var Tc={exports:{}},o5=Tc.exports,v0;function s5(){return v0||(v0=1,(function(e,t){(function(n,a){e.exports=a()})(o5,(function(){return function(n,a){a.prototype.isSameOrBefore=function(o,s){return this.isSame(o,s)||this.isBefore(o,s)}}}))})(Tc)),Tc.exports}var r5=s5();const l5=bs(r5);function i5(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Ut(e)}st.extend(Lk);st.extend(zH);st.extend(pm);st.extend(jH);st.extend(GH);st.extend(QH);st.extend(a5);st.extend(l5);var u5=se({name:"ElDatePickerPanel",install:null,inheritAttrs:!1,props:kz,emits:[at,"calendar-change","panel-change","visible-change","clear"],setup(e,{slots:t,emit:n,attrs:a}){const o=fe("picker-panel");Tt(_e(oo,void 0))&&St(oo,{props:At({...Mn(e)})}),St(ym,{slots:t,pickerNs:o});const{parsedValue:s,onCalendarChange:r,onPanelChange:l,onSetPickerOption:u,onPick:c}=_e(vk,()=>wk(e,n),!0);return()=>Y(DH(e.type),dt(tu(a,"onPick"),e,{parsedValue:s.value,"onSet-picker-option":u,"onCalendar-change":r,"onPanel-change":l,onClear:()=>n("clear"),onPick:c}),i5(t)?t:{default:()=>[t]})}});const y2=rt(u5),c5=Ce({...fm,type:{type:G(String),default:"date"}});function d5(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Ut(e)}var f5=se({name:"ElDatePicker",install:null,props:c5,emits:[at],setup(e,{expose:t,emit:n,slots:a}){St(wu,w(()=>!e.format)),St(cm,At(Vt(e,"popperOptions")));const o=M();t({focus:()=>{o.value?.focus()},blur:()=>{o.value?.blur()},handleOpen:()=>{o.value?.handleOpen()},handleClose:()=>{o.value?.handleClose()}});const s=r=>{n(at,r)};return()=>{const r=e.format??(u8[e.type]||Os);return Y(Sk,dt(e,{format:r,type:e.type,ref:o,"onUpdate:modelValue":s}),{default:l=>Y(y2,dt({disabled:e.disabled,editable:e.editable,border:!1},l),d5(a)?a:{default:()=>[a]}),"range-separator":a["range-separator"]})}}});const p5=rt(f5),h5=Ce({border:Boolean,column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:Tn,title:{type:String,default:""},extra:{type:String,default:""},labelWidth:{type:[String,Number]}}),w2="ElDescriptionsItem",v5=Ce({label:{type:String,default:""},span:{type:Number,default:1},rowspan:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},labelWidth:{type:[String,Number]},align:{type:String,values:nb,default:"left"},labelAlign:{type:String,values:nb},className:{type:String,default:""},labelClassName:{type:String,default:""}}),S2=se({name:w2,props:v5}),xm=Symbol("elDescriptions"),m5=Ce({row:{type:G(Array),default:()=>[]}});var ql=se({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:_e(xm,{})}},render(){const e=x4(this.cell),t=(this.cell?.dirs||[]).map(h=>{const{dir:m,arg:b,modifiers:k,value:y}=h;return[m,y,b,k]}),{border:n,direction:a}=this.descriptions,o=a==="vertical",s=()=>this.cell?.children?.label?.()||e.label,r=()=>this.cell?.children?.default?.(),l=e.span,u=e.rowspan,c=e.align?`is-${e.align}`:"",d=e.labelAlign?`is-${e.labelAlign}`:c,f=e.className,v=e.labelClassName,g={width:ln(this.type==="label"?e.labelWidth??this.descriptions.labelWidth??e.width:e.width),minWidth:ln(e.minWidth)},p=fe("descriptions");switch(this.type){case"label":return ut(Ye(this.tag,{style:g,class:[p.e("cell"),p.e("label"),p.is("bordered-label",n),p.is("vertical-label",o),d,v],colSpan:o?l:1,rowspan:o?1:u},s()),t);case"content":return ut(Ye(this.tag,{style:g,class:[p.e("cell"),p.e("content"),p.is("bordered-content",n),p.is("vertical-content",o),c,f],colSpan:o?l:l*2-1,rowspan:o?u*2-1:u},r()),t);default:{const h=s(),m={},b=ln(e.labelWidth??this.descriptions.labelWidth);return b&&(m.width=b,m.display="inline-block"),ut(Ye("td",{style:g,class:[p.e("cell"),c],colSpan:l,rowspan:u},[bn(h)?void 0:Ye("span",{style:m,class:[p.e("label"),v]},h),Ye("span",{class:[p.e("content"),f]},r())]),t)}}}});const g5={key:1};var b5=se({name:"ElDescriptionsRow",__name:"descriptions-row",props:m5,setup(e){const t=_e(xm,{});return(n,a)=>i(t).direction==="vertical"?(x(),B(Fe,{key:0},[z("tr",null,[(x(!0),B(Fe,null,gt(e.row,(o,s)=>(x(),oe(i(ql),{key:`tr1-${s}`,cell:o,tag:"th",type:"label"},null,8,["cell"]))),128))]),z("tr",null,[(x(!0),B(Fe,null,gt(e.row,(o,s)=>(x(),oe(i(ql),{key:`tr2-${s}`,cell:o,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(x(),B("tr",g5,[(x(!0),B(Fe,null,gt(e.row,(o,s)=>(x(),B(Fe,{key:`tr3-${s}`},[i(t).border?(x(),B(Fe,{key:0},[Y(i(ql),{cell:o,tag:"td",type:"label"},null,8,["cell"]),Y(i(ql),{cell:o,tag:"td",type:"content"},null,8,["cell"])],64)):(x(),oe(i(ql),{key:1,cell:o,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}}),y5=b5,w5=se({name:"ElDescriptions",__name:"description",props:h5,setup(e){const t=e,n=fe("descriptions"),a=Cn(),o=vn();St(xm,t);const s=w(()=>[n.b(),n.m(a.value)]),r=(u,c,d,f=!1)=>(u.props||(u.props={}),c>d&&(u.props.span=d),f&&(u.props.span=c),u),l=()=>{if(!o.default)return[];const u=Ta(o.default()).filter(p=>p?.type?.name===w2),c=[];let d=[],f=t.column,v=0;const g=[];return u.forEach((p,h)=>{const m=p.props?.span||1,b=p.props?.rowspan||1,k=c.length;if(g[k]||=0,b>1)for(let y=1;y0&&(f-=g[k],g[k]=0),hf?f:m),h===u.length-1){const y=t.column-v%t.column;d.push(r(p,y,f,!0)),c.push(d);return}m(x(),B("div",{class:T(s.value)},[e.title||e.extra||u.$slots.title||u.$slots.extra?(x(),B("div",{key:0,class:T(i(n).e("header"))},[z("div",{class:T(i(n).e("title"))},[ee(u.$slots,"title",{},()=>[wt(Se(e.title),1)])],2),z("div",{class:T(i(n).e("extra"))},[ee(u.$slots,"extra",{},()=>[wt(Se(e.extra),1)])],2)],2)):te("v-if",!0),z("div",{class:T(i(n).e("body"))},[z("table",{class:T([i(n).e("table"),i(n).is("bordered",e.border)])},[z("tbody",null,[(x(!0),B(Fe,null,gt(l(),(d,f)=>(x(),oe(y5,{key:f,row:d},null,8,["row"]))),128))])],2)],2)],2))}}),S5=w5;const C5=rt(S5,{DescriptionsItem:S2}),k5=an(S2),C2=Ce({center:Boolean,alignCenter:{type:Boolean,default:void 0},closeIcon:{type:Kt},draggable:{type:Boolean,default:void 0},overflow:{type:Boolean,default:void 0},fullscreen:Boolean,headerClass:String,bodyClass:String,footerClass:String,showClose:{type:Boolean,default:!0},title:{type:String,default:""},ariaLevel:{type:String,default:"2"}}),E5={close:()=>!0},k2=Ce({...C2,appendToBody:Boolean,appendTo:{type:au.to.type,default:"body"},beforeClose:{type:G(Function)},destroyOnClose:Boolean,closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},modalPenetrable:Boolean,openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},top:{type:String},modelValue:Boolean,modalClass:String,headerClass:String,bodyClass:String,footerClass:String,width:{type:[String,Number]},zIndex:{type:Number},trapFocus:Boolean,headerAriaLevel:{type:String,default:"2"},transition:{type:G([String,Object]),default:void 0}}),E2={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[at]:e=>Ht(e),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},x5=Ce({mask:{type:Boolean,default:!0},customMaskEvent:Boolean,overlayClass:{type:G([String,Array,Object])},zIndex:{type:G([String,Number])}}),T5={click:e=>e instanceof MouseEvent},$5="overlay";var O5=se({name:"ElOverlay",props:x5,emits:T5,setup(e,{slots:t,emit:n}){const a=fe($5),o=u=>{n("click",u)},{onClick:s,onMousedown:r,onMouseup:l}=Yv(e.customMaskEvent?void 0:o);return()=>e.mask?Y("div",{class:[a.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:s,onMousedown:r,onMouseup:l},[ee(t,"default")],ja.STYLE|ja.CLASS|ja.PROPS,["onClick","onMouseup","onMousedown"]):Ye("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[ee(t,"default")])}});const Tm=O5,x2=Symbol("dialogInjectionKey"),np="dialog-fade",R5="ElDialog",T2=(e,t)=>{const n=ft().emit,{nextZIndex:a}=uu();let o="";const s=zn(),r=zn(),l=M(!1),u=M(!1),c=M(!1),d=M(e.zIndex??a()),f=M(!1);let v,g;const p=gs(),h=w(()=>p.value?.namespace??di),m=w(()=>p.value?.dialog),b=w(()=>{const D={},F=`--${h.value}-dialog`;if(!e.fullscreen){e.top&&(D[`${F}-margin-top`]=e.top);const q=ln(e.width);q&&(D[`${F}-width`]=q)}return D}),k=w(()=>(e.draggable??m.value?.draggable??!1)&&!e.fullscreen),y=w(()=>e.alignCenter??m.value?.alignCenter??!1),S=w(()=>e.overflow??m.value?.overflow??!1),C=w(()=>y.value?{display:"flex"}:{}),E=w(()=>{const D=e.transition??m.value?.transition??np,F={name:D,onAfterEnter:$,onBeforeLeave:N,onAfterLeave:O};if(ot(D)){const q={...D},j=(X,Q)=>he=>{ye(X)?X.forEach(ue=>{Ve(ue)&&ue(he)}):Ve(X)&&X(he),Q()};return q.onAfterEnter=j(q.onAfterEnter,$),q.onBeforeLeave=j(q.onBeforeLeave,N),q.onAfterLeave=j(q.onAfterLeave,O),q.name||(q.name=np,pt(R5,`transition.name is missing when using object syntax, fallback to '${np}'`)),q}return F});function $(){n("opened")}function O(){n("closed"),n(at,!1),e.destroyOnClose&&(c.value=!1),f.value=!1}function N(){f.value=!0,n("close")}function R(){g?.(),v?.(),e.openDelay&&e.openDelay>0?{stop:v}=pl(()=>H(),e.openDelay):H()}function A(){v?.(),g?.(),e.closeDelay&&e.closeDelay>0?{stop:g}=pl(()=>U(),e.closeDelay):U()}function _(){function D(F){F||(u.value=!0,l.value=!1)}e.beforeClose?e.beforeClose(D):A()}function V(){e.closeOnClickModal&&_()}function H(){Mt&&(l.value=!0)}function U(){l.value=!1}function W(){n("openAutoFocus")}function P(){n("closeAutoFocus")}function I(D){D.detail?.focusReason==="pointer"&&D.preventDefault()}e.lockScroll&&qd(l);function L(){e.closeOnPressEscape&&_()}return le(()=>e.zIndex,()=>{d.value=e.zIndex??a()}),le(()=>e.modelValue,D=>{D?(u.value=!1,f.value=!1,R(),c.value=!0,d.value=e.zIndex??a(),Re(()=>{n("open"),t.value&&(t.value.parentElement.scrollTop=0,t.value.parentElement.scrollLeft=0,t.value.scrollTop=0)})):l.value&&A()}),le(()=>e.fullscreen,D=>{t.value&&(D?(o=t.value.style.transform,t.value.style.transform=""):t.value.style.transform=o)}),ht(()=>{e.modelValue&&(l.value=!0,c.value=!0,R())}),{afterEnter:$,afterLeave:O,beforeLeave:N,handleClose:_,onModalClick:V,close:A,doClose:U,onOpenAutoFocus:W,onCloseAutoFocus:P,onCloseRequested:L,onFocusoutPrevented:I,titleId:s,bodyId:r,closed:u,style:b,overlayDialogStyle:C,rendered:c,visible:l,zIndex:d,transitionConfig:E,_draggable:k,_alignCenter:y,_overflow:S,closing:f}},$m=(...e)=>t=>{e.forEach(n=>{n.value=t})},N5=["aria-level"],I5=["aria-label"],P5=["id"];var M5=se({name:"ElDialogContent",__name:"dialog-content",props:C2,emits:E5,setup(e,{expose:t}){const{t:n}=Ct(),{Close:a}=HC,o=e,{dialogRef:s,headerRef:r,bodyId:l,ns:u,style:c}=_e(x2),{focusTrapRef:d}=_e(QC),f=$m(d,s),v=w(()=>!!o.draggable),{resetPosition:g,updatePosition:p,isDragging:h}=ZS(s,r,v,w(()=>!!o.overflow)),m=w(()=>[u.b(),u.is("fullscreen",o.fullscreen),u.is("draggable",v.value),u.is("dragging",h.value),u.is("align-center",!!o.alignCenter),{[u.m("center")]:o.center}]);return t({resetPosition:g,updatePosition:p}),(b,k)=>(x(),B("div",{ref:i(f),class:T(m.value),style:Ke(i(c)),tabindex:"-1"},[z("header",{ref_key:"headerRef",ref:r,class:T([i(u).e("header"),e.headerClass,{"show-close":e.showClose}])},[ee(b.$slots,"header",{},()=>[z("span",{role:"heading","aria-level":e.ariaLevel,class:T(i(u).e("title"))},Se(e.title),11,N5)]),e.showClose?(x(),B("button",{key:0,"aria-label":i(n)("el.dialog.close"),class:T(i(u).e("headerbtn")),type:"button",onClick:k[0]||(k[0]=y=>b.$emit("close"))},[Y(i(De),{class:T(i(u).e("close"))},{default:J(()=>[(x(),oe(it(e.closeIcon||i(a))))]),_:1},8,["class"])],10,I5)):te("v-if",!0)],2),z("div",{id:i(l),class:T([i(u).e("body"),e.bodyClass])},[ee(b.$slots,"default")],10,P5),b.$slots.footer?(x(),B("footer",{key:0,class:T([i(u).e("footer"),e.footerClass])},[ee(b.$slots,"footer")],2)):te("v-if",!0)],6))}}),_5=M5;const A5=["aria-label","aria-labelledby","aria-describedby"];var L5=se({name:"ElDialog",inheritAttrs:!1,__name:"dialog",props:k2,emits:E2,setup(e,{expose:t}){const n=e,a=vn();To({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},w(()=>!!a.title));const o=fe("dialog"),s=M(),r=M(),l=M(),{visible:u,titleId:c,bodyId:d,style:f,overlayDialogStyle:v,rendered:g,transitionConfig:p,zIndex:h,_draggable:m,_alignCenter:b,_overflow:k,handleClose:y,onModalClick:S,onOpenAutoFocus:C,onCloseAutoFocus:E,onCloseRequested:$,onFocusoutPrevented:O,closing:N}=T2(n,s);St(x2,{dialogRef:s,headerRef:r,bodyId:d,ns:o,rendered:g,style:f});const R=Yv(S),A=w(()=>n.modalPenetrable&&!n.modal&&!n.fullscreen);return t({visible:u,dialogContentRef:l,resetPosition:()=>{l.value?.resetPosition()},handleClose:y}),(V,H)=>(x(),oe(i(_l),{to:e.appendTo,disabled:e.appendTo!=="body"?!1:!e.appendToBody},{default:J(()=>[Y(Vn,dt(i(p),{persisted:""}),{default:J(()=>[ut(Y(i(Tm),{"custom-mask-event":"",mask:e.modal,"overlay-class":[e.modalClass??"",`${i(o).namespace.value}-modal-dialog`,i(o).is("penetrable",A.value)],"z-index":i(h)},{default:J(()=>[z("div",{role:"dialog","aria-modal":"true","aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:i(c),"aria-describedby":i(d),class:T([`${i(o).namespace.value}-overlay-dialog`,i(o).is("closing",i(N))]),style:Ke(i(v)),onClick:H[0]||(H[0]=(...U)=>i(R).onClick&&i(R).onClick(...U)),onMousedown:H[1]||(H[1]=(...U)=>i(R).onMousedown&&i(R).onMousedown(...U)),onMouseup:H[2]||(H[2]=(...U)=>i(R).onMouseup&&i(R).onMouseup(...U))},[Y(i(Al),{loop:"",trapped:i(u),"focus-start-el":"container",onFocusAfterTrapped:i(C),onFocusAfterReleased:i(E),onFocusoutPrevented:i(O),onReleaseRequested:i($)},{default:J(()=>[i(g)?(x(),oe(_5,dt({key:0,ref_key:"dialogContentRef",ref:l},V.$attrs,{center:e.center,"align-center":i(b),"close-icon":e.closeIcon,draggable:i(m),overflow:i(k),fullscreen:e.fullscreen,"header-class":e.headerClass,"body-class":e.bodyClass,"footer-class":e.footerClass,"show-close":e.showClose,title:e.title,"aria-level":e.headerAriaLevel,onClose:i(y)}),ua({header:J(()=>[V.$slots.title?ee(V.$slots,"title",{key:1}):ee(V.$slots,"header",{key:0,close:i(y),titleId:i(c),titleClass:i(o).e("title")})]),default:J(()=>[ee(V.$slots,"default")]),_:2},[V.$slots.footer?{name:"footer",fn:J(()=>[ee(V.$slots,"footer")]),key:"0"}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","header-class","body-class","footer-class","show-close","title","aria-level","onClose"])):te("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,A5)]),_:3},8,["mask","overlay-class","z-index"]),[[Pt,i(u)]])]),_:3},16)]),_:3},8,["to","disabled"]))}}),D5=L5;const $2=rt(D5),B5=Ce({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},contentPosition:{type:String,values:["left","center","right"],default:"center"},borderStyle:{type:G(String),default:"solid"}});var F5=se({name:"ElDivider",__name:"divider",props:B5,setup(e){const t=e,n=fe("divider"),a=w(()=>n.cssVar({"border-style":t.borderStyle}));return(o,s)=>(x(),B("div",{class:T([i(n).b(),i(n).m(e.direction)]),style:Ke(a.value),role:"separator"},[o.$slots.default&&e.direction!=="vertical"?(x(),B("div",{key:0,class:T([i(n).e("text"),i(n).is(e.contentPosition)])},[ee(o.$slots,"default")],2)):te("v-if",!0)],6))}}),V5=F5;const O2=rt(V5),z5=Ce({...k2,direction:{type:String,default:"rtl",values:["ltr","rtl","ttb","btt"]},resizable:Boolean,size:{type:[String,Number],default:"30%"},withHeader:{type:Boolean,default:!0},modalFade:{type:Boolean,default:!0},headerAriaLevel:{type:String,default:"2"}}),H5={...E2,"resize-start":(e,t)=>e instanceof MouseEvent&&typeof t=="number",resize:(e,t)=>e instanceof MouseEvent&&typeof t=="number","resize-end":(e,t)=>e instanceof MouseEvent&&typeof t=="number"};function K5(e,t,n){const{width:a,height:o}=_v(),s=w(()=>["ltr","rtl"].includes(e.direction)),r=w(()=>["ltr","ttb"].includes(e.direction)?1:-1),l=w(()=>s.value?a.value:o.value),u=w(()=>HS(c.value+r.value*d.value,4,l.value)),c=M(0),d=M(0),f=M(!1),v=M(!1);let g=[],p=[];const h=()=>{const S=t.value?.closest('[aria-modal="true"]');return S?s.value?S.offsetWidth:S.offsetHeight:100};le(()=>[e.size,e.resizable],()=>{v.value=!1,c.value=0,d.value=0,k()});const m=S=>{e.resizable&&(v.value||(c.value=h(),v.value=!0),g=[S.pageX,S.pageY],f.value=!0,n("resize-start",S,c.value),p.push(Ft(window,"mouseup",k),Ft(window,"mousemove",b)))},b=S=>{const{pageX:C,pageY:E}=S,$=C-g[0],O=E-g[1];d.value=s.value?$:O,n("resize",S,u.value)},k=S=>{f.value&&(g=[],c.value=u.value,d.value=0,f.value=!1,p.forEach(C=>C?.()),p=[],S&&n("resize-end",S,c.value))},y=Ft(t,"mousedown",m);return Bt(()=>{y(),k()}),{size:w(()=>v.value?`${u.value}px`:ln(e.size)),isResizing:f,isHorizontal:s}}const W5=["aria-label","aria-labelledby","aria-describedby"],j5=["id","aria-level"],U5=["aria-label"],q5=["id"];var Y5=se({name:"ElDrawer",inheritAttrs:!1,__name:"drawer",props:z5,emits:H5,setup(e,{expose:t,emit:n}){const a=e,o=n,s=vn();To({scope:"el-drawer",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/drawer.html#slots"},w(()=>!!s.title));const r=M(),l=M(),u=M(),c=fe("drawer"),{t:d}=Ct(),{afterEnter:f,afterLeave:v,beforeLeave:g,visible:p,rendered:h,titleId:m,bodyId:b,zIndex:k,onModalClick:y,onOpenAutoFocus:S,onCloseAutoFocus:C,onFocusoutPrevented:E,onCloseRequested:$,handleClose:O}=T2(a,r),{isHorizontal:N,size:R,isResizing:A}=K5(a,u,o),_=w(()=>a.modalPenetrable&&!a.modal);return t({handleClose:O,afterEnter:f,afterLeave:v}),(V,H)=>(x(),oe(i(_l),{to:e.appendTo,disabled:e.appendTo!=="body"?!1:!e.appendToBody},{default:J(()=>[Y(Vn,{name:i(c).b("fade"),onAfterEnter:i(f),onAfterLeave:i(v),onBeforeLeave:i(g),persisted:""},{default:J(()=>[ut(Y(i(Tm),{mask:e.modal,"overlay-class":[i(c).is("drawer"),e.modalClass??"",`${i(c).namespace.value}-modal-drawer`,i(c).is("penetrable",_.value)],"z-index":i(k),onClick:i(y)},{default:J(()=>[Y(i(Al),{loop:"",trapped:i(p),"focus-trap-el":r.value,"focus-start-el":l.value,onFocusAfterTrapped:i(S),onFocusAfterReleased:i(C),onFocusoutPrevented:i(E),onReleaseRequested:i($)},{default:J(()=>[z("div",dt({ref_key:"drawerRef",ref:r,"aria-modal":"true","aria-label":e.title||void 0,"aria-labelledby":e.title?void 0:i(m),"aria-describedby":i(b)},V.$attrs,{class:[i(c).b(),e.direction,i(p)&&"open",i(c).is("dragging",i(A))],style:{[i(N)?"width":"height"]:i(R)},role:"dialog",onClick:H[1]||(H[1]=Xe(()=>{},["stop"]))}),[z("span",{ref_key:"focusStartRef",ref:l,class:T(i(c).e("sr-focus")),tabindex:"-1"},null,2),e.withHeader?(x(),B("header",{key:0,class:T([i(c).e("header"),e.headerClass])},[V.$slots.title?ee(V.$slots,"title",{key:1},()=>[te(" DEPRECATED SLOT ")]):ee(V.$slots,"header",{key:0,close:i(O),titleId:i(m),titleClass:i(c).e("title")},()=>[z("span",{id:i(m),role:"heading","aria-level":e.headerAriaLevel,class:T(i(c).e("title"))},Se(e.title),11,j5)]),e.showClose?(x(),B("button",{key:2,"aria-label":i(d)("el.drawer.close"),class:T(i(c).e("close-btn")),type:"button",onClick:H[0]||(H[0]=(...U)=>i(O)&&i(O)(...U))},[Y(i(De),{class:T(i(c).e("close"))},{default:J(()=>[Y(i(Ha))]),_:1},8,["class"])],10,U5)):te("v-if",!0)],2)):te("v-if",!0),i(h)?(x(),B("div",{key:1,id:i(b),class:T([i(c).e("body"),e.bodyClass])},[ee(V.$slots,"default")],10,q5)):te("v-if",!0),V.$slots.footer?(x(),B("div",{key:2,class:T([i(c).e("footer"),e.footerClass])},[ee(V.$slots,"footer")],2)):te("v-if",!0),e.resizable?(x(),B("div",{key:3,ref_key:"draggerRef",ref:u,style:Ke({zIndex:i(k)}),class:T(i(c).e("dragger"))},null,6)):te("v-if",!0)],16,W5)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])]),_:3},8,["mask","overlay-class","z-index","onClick"]),[[Pt,i(p)]])]),_:3},8,["name","onAfterEnter","onAfterLeave","onBeforeLeave"])]),_:3},8,["to","disabled"]))}}),G5=Y5;const X5=rt(G5),$c=Ce({trigger:{...No.trigger,type:G([String,Array])},triggerKeys:{type:G(Array),default:()=>[we.enter,we.numpadEnter,we.space,we.down]},virtualTriggering:No.virtualTriggering,virtualRef:No.virtualRef,effect:{...zt.effect,default:"light"},type:{type:G(String)},placement:{type:G(String),default:"bottom"},popperOptions:{type:G(Object),default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showArrow:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:G([Number,String]),default:0},maxHeight:{type:G([Number,String]),default:""},popperClass:zt.popperClass,popperStyle:zt.popperStyle,disabled:Boolean,role:{type:String,values:KC,default:"menu"},buttonProps:{type:G(Object)},teleported:zt.teleported,appendTo:zt.appendTo,persistent:{type:Boolean,default:!0}}),R2=Ce({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:Kt}}),J5=Ce({onKeydown:{type:G(Function)}}),uf=Symbol("elDropdown"),N2="elDropdown";var Z5=se({inheritAttrs:!1});function Q5(e,t,n,a,o,s){return ee(e.$slots,"default")}var eK=$n(Z5,[["render",Q5]]),tK=se({name:"ElCollectionItem",inheritAttrs:!1});function nK(e,t,n,a,o,s){return ee(e.$slots,"default")}var aK=$n(tK,[["render",nK]]);const I2="data-el-collection-item",oK=e=>{const t=`El${e}Collection`,n=`${t}Item`,a=Symbol(t),o=Symbol(n);return{COLLECTION_INJECTION_KEY:a,COLLECTION_ITEM_INJECTION_KEY:o,ElCollection:Object.assign({},eK,{name:t,setup(){const s=M(),r=new Map;St(a,{itemMap:r,getItems:(()=>{const u=i(s);if(!u)return[];const c=Array.from(u.querySelectorAll(`[${I2}]`));return[...r.values()].sort((d,f)=>c.indexOf(d.ref)-c.indexOf(f.ref))}),collectionRef:s})}}),ElCollectionItem:Object.assign({},aK,{name:n,setup(s,{attrs:r}){const l=M(),u=_e(a,void 0);St(o,{collectionItemRef:l}),ht(()=>{const c=i(l);c&&u.itemMap.set(c,{ref:c,...r})}),Bt(()=>{const c=i(l);u.itemMap.delete(c)})}})}},sK=Ce({style:{type:G([String,Array,Object])},currentTabId:{type:G(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:G(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:rK,ElCollectionItem:lK,COLLECTION_INJECTION_KEY:P2,COLLECTION_ITEM_INJECTION_KEY:iK}=oK("RovingFocusGroup"),Om=Symbol("elRovingFocusGroup"),M2=Symbol("elRovingFocusGroupItem"),uK={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},cK=(e,t)=>e,dK=(e,t,n)=>{const a=cK(jt(e));return uK[a]},fK=(e,t)=>e.map((n,a)=>e[(a+t)%e.length]),m0=e=>{const{activeElement:t}=document;for(const n of e)if(n===t||(n.focus(),t!==document.activeElement))return},g0="currentTabIdChange",b0="rovingFocusGroup.entryFocus",pK={bubbles:!1,cancelable:!0};var hK=se({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:sK,emits:[g0,"entryFocus"],setup(e,{emit:t}){const n=M((e.currentTabId||e.defaultCurrentTabId)??null),a=M(!1),o=M(!1),s=M(),{getItems:r}=_e(P2,void 0),l=w(()=>[{outline:"none"},e.style]),u=h=>{t(g0,h)},c=()=>{a.value=!0},d=Rn(h=>{e.onMousedown?.(h)},()=>{o.value=!0}),f=Rn(h=>{e.onFocus?.(h)},h=>{const m=!i(o),{target:b,currentTarget:k}=h;if(b===k&&m&&!i(a)){const y=new Event(b0,pK);if(k?.dispatchEvent(y),!y.defaultPrevented){const S=r().filter(C=>C.focusable);m0([S.find(C=>C.active),S.find(C=>C.id===i(n)),...S].filter(Boolean).map(C=>C.ref))}}o.value=!1}),v=Rn(h=>{e.onBlur?.(h)},()=>{a.value=!1}),g=(...h)=>{t("entryFocus",...h)},p=h=>{const m=dK(h);if(m){h.preventDefault();let b=r().filter(k=>k.focusable).map(k=>k.ref);switch(m){case"last":b.reverse();break;case"prev":case"next":{m==="prev"&&b.reverse();const k=b.indexOf(h.currentTarget);b=e.loop?fK(b,k+1):b.slice(k+1);break}}Re(()=>{m0(b)})}};St(Om,{currentTabbedId:br(n),loop:Vt(e,"loop"),tabIndex:w(()=>i(a)?-1:0),rovingFocusGroupRef:s,rovingFocusGroupRootStyle:l,orientation:Vt(e,"orientation"),dir:Vt(e,"dir"),onItemFocus:u,onItemShiftTab:c,onBlur:v,onFocus:f,onMousedown:d,onKeydown:p}),le(()=>e.currentTabId,h=>{n.value=h??null}),Ft(s,b0,g)}});function vK(e,t,n,a,o,s){return ee(e.$slots,"default")}var mK=$n(hK,[["render",vK]]),gK=se({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:rK,ElRovingFocusGroupImpl:mK}});function bK(e,t,n,a,o,s){const r=It("el-roving-focus-group-impl"),l=It("el-focus-group-collection");return x(),oe(l,null,{default:J(()=>[Y(r,Jo(Zo(e.$attrs)),{default:J(()=>[ee(e.$slots,"default")]),_:3},16)]),_:3})}var yK=$n(gK,[["render",bK]]),wK=se({components:{ElRovingFocusCollectionItem:lK},props:{focusable:{type:Boolean,default:!0},active:Boolean},emits:["mousedown","focus","keydown"],setup(e,{emit:t}){const{currentTabbedId:n,onItemFocus:a,onItemShiftTab:o,onKeydown:s}=_e(Om,void 0),r=zn(),l=M(),u=Rn(v=>{t("mousedown",v)},v=>{e.focusable?a(i(r)):v.preventDefault()}),c=Rn(v=>{t("focus",v)},()=>{a(i(r))}),d=Rn(v=>{t("keydown",v)},v=>{const{shiftKey:g,target:p,currentTarget:h}=v;if(jt(v)===we.tab&&g){o();return}p===h&&s(v)}),f=w(()=>n.value===i(r));return St(M2,{rovingFocusGroupItemRef:l,tabIndex:w(()=>i(f)?0:-1),handleMousedown:u,handleFocus:c,handleKeydown:d}),{id:r,handleKeydown:d,handleFocus:c,handleMousedown:u}}});function SK(e,t,n,a,o,s){const r=It("el-roving-focus-collection-item");return x(),oe(r,{id:e.id,focusable:e.focusable,active:e.active},{default:J(()=>[ee(e.$slots,"default")]),_:3},8,["id","focusable","active"])}var CK=$n(wK,[["render",SK]]),kK=yK;const{ButtonGroup:EK}=In;var xK=se({name:"ElDropdown",components:{ElButton:In,ElButtonGroup:EK,ElScrollbar:ao,ElTooltip:Ln,ElRovingFocusGroup:kK,ElOnlyChild:qC,ElIcon:De,ArrowDown:Fo},props:$c,emits:["visible-change","click","command"],setup(e,{emit:t}){const n=ft(),a=fe("dropdown"),{t:o}=Ct(),s=M(),r=M(),l=M(),u=M(),c=M(null),d=M(null),f=M(!1),v=w(()=>({maxHeight:ln(e.maxHeight)})),g=w(()=>[a.m(S.value)]),p=w(()=>Nn(e.trigger)),h=zn().value,m=w(()=>e.id||h);function b(){l.value?.onClose(void 0,0)}function k(){l.value?.onClose()}function y(){l.value?.onOpen()}const S=Cn();function C(...V){t("command",...V)}function E(){}function $(){const V=i(u);p.value.includes("hover")&&V?.focus({preventScroll:!0}),d.value=null}function O(V){d.value=V}function N(){t("visible-change",!0)}function R(V){f.value=V?.type==="keydown",u.value?.focus()}function A(){t("visible-change",!1)}return St(uf,{contentRef:u,role:w(()=>e.role),triggerId:m,isUsingKeyboard:f,onItemEnter:E,onItemLeave:$,handleClose:k}),St(N2,{instance:n,dropdownSize:S,handleClick:b,commandHandler:C,trigger:Vt(e,"trigger"),hideOnClick:Vt(e,"hideOnClick")}),{t:o,ns:a,scrollbar:c,wrapStyle:v,dropdownTriggerKls:g,dropdownSize:S,triggerId:m,currentTabId:d,handleCurrentTabIdChange:O,handlerMainButtonClick:V=>{t("click",V)},handleClose:k,handleOpen:y,handleBeforeShowTooltip:N,handleShowTooltip:R,handleBeforeHideTooltip:A,popperRef:l,contentRef:u,triggeringElementRef:s,referenceElementRef:r}}});function TK(e,t,n,a,o,s){const r=It("el-roving-focus-group"),l=It("el-scrollbar"),u=It("el-only-child"),c=It("el-tooltip"),d=It("el-button"),f=It("arrow-down"),v=It("el-icon"),g=It("el-button-group");return x(),B("div",{class:T([e.ns.b(),e.ns.is("disabled",e.disabled)])},[Y(c,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"popper-style":e.popperStyle,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-arrow":e.showArrow,"show-after":e.trigger==="hover"?e.showTimeout:0,"hide-after":e.trigger==="hover"?e.hideTimeout:0,"virtual-ref":e.virtualRef??e.triggeringElementRef,"virtual-triggering":e.virtualTriggering||e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,"append-to":e.appendTo,pure:"","focus-on-target":"",persistent:e.persistent,onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},ua({content:J(()=>[Y(l,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:J(()=>[Y(r,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange},{default:J(()=>[ee(e.$slots,"dropdown")]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:J(()=>[Y(u,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:J(()=>[ee(e.$slots,"default")]),_:3},8,["id","tabindex"])]),key:"0"}]),1032,["role","effect","popper-options","placement","popper-class","popper-style","trigger","trigger-keys","trigger-target-el","show-arrow","show-after","hide-after","virtual-ref","virtual-triggering","disabled","transition","teleported","append-to","persistent","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(x(),oe(g,{key:0},{default:J(()=>[Y(d,dt({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:J(()=>[ee(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),Y(d,dt({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:J(()=>[Y(v,{class:T(e.ns.e("icon"))},{default:J(()=>[Y(f)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):te("v-if",!0)],2)}var $K=$n(xK,[["render",TK]]),OK=se({name:"DropdownItemImpl",components:{ElIcon:De},props:R2,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:t}){const n=fe("dropdown"),{role:a}=_e(uf,void 0),{collectionItemRef:o}=_e(iK,void 0),{rovingFocusGroupItemRef:s,tabIndex:r,handleFocus:l,handleKeydown:u,handleMousedown:c}=_e(M2,void 0),d=$m(o,s),f=w(()=>a.value==="menu"?"menuitem":a.value==="navigation"?"link":"button"),v=Rn(g=>{const p=jt(g);if([we.enter,we.numpadEnter,we.space].includes(p))return g.preventDefault(),g.stopImmediatePropagation(),t("clickimpl",g),!0},u);return{ns:n,itemRef:d,dataset:{[I2]:""},role:f,tabIndex:r,handleFocus:l,handleKeydown:v,handleMousedown:c}}});const RK=["aria-disabled","tabindex","role"];function NK(e,t,n,a,o,s){const r=It("el-icon");return x(),B(Fe,null,[e.divided?(x(),B("li",{key:0,role:"separator",class:T(e.ns.bem("menu","item","divided"))},null,2)):te("v-if",!0),z("li",dt({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:t[0]||(t[0]=l=>e.$emit("clickimpl",l)),onFocus:t[1]||(t[1]=(...l)=>e.handleFocus&&e.handleFocus(...l)),onKeydown:t[2]||(t[2]=Xe((...l)=>e.handleKeydown&&e.handleKeydown(...l),["self"])),onMousedown:t[3]||(t[3]=(...l)=>e.handleMousedown&&e.handleMousedown(...l)),onPointermove:t[4]||(t[4]=l=>e.$emit("pointermove",l)),onPointerleave:t[5]||(t[5]=l=>e.$emit("pointerleave",l))}),[e.icon||e.$slots.icon?(x(),oe(r,{key:0},{default:J(()=>[ee(e.$slots,"icon",{},()=>[(x(),oe(it(e.icon)))])]),_:3})):te("v-if",!0),ee(e.$slots,"default")],16,RK)],64)}var IK=$n(OK,[["render",NK]]);const _2=()=>{const e=_e(N2,{});return{elDropdown:e,_elDropdownSize:w(()=>e?.dropdownSize)}};var PK=se({name:"ElDropdownItem",components:{ElRovingFocusItem:CK,ElDropdownItemImpl:IK},inheritAttrs:!1,props:R2,emits:["pointermove","pointerleave","click"],setup(e,{emit:t,attrs:n}){const{elDropdown:a}=_2(),o=ft(),{onItemEnter:s,onItemLeave:r}=_e(uf,void 0),l=Rn(c=>(t("pointermove",c),c.defaultPrevented),Bb(c=>{if(e.disabled){r(c);return}const d=c.currentTarget;d===document.activeElement||d.contains(document.activeElement)||(s(c),c.defaultPrevented||d?.focus({preventScroll:!0}))})),u=Rn(c=>(t("pointerleave",c),c.defaultPrevented),Bb(r));return{handleClick:Rn(c=>{if(!e.disabled)return t("click",c),c.type!=="keydown"&&c.defaultPrevented},c=>{if(e.disabled){c.stopImmediatePropagation();return}a?.hideOnClick?.value&&a.handleClick?.(),a.commandHandler?.(e.command,o,c)}),handlePointerMove:l,handlePointerLeave:u,propsAndAttrs:w(()=>({...e,...n}))}}});function MK(e,t,n,a,o,s){const r=It("el-dropdown-item-impl"),l=It("el-roving-focus-item");return x(),oe(l,{focusable:!e.disabled},{default:J(()=>[Y(r,dt(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),ua({default:J(()=>[ee(e.$slots,"default")]),_:2},[e.$slots.icon?{name:"icon",fn:J(()=>[ee(e.$slots,"icon")]),key:"0"}:void 0]),1040,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])}var A2=$n(PK,[["render",MK]]),_K=se({name:"ElDropdownMenu",props:J5,setup(e){const t=fe("dropdown"),{_elDropdownSize:n}=_2(),a=n.value,{contentRef:o,role:s,triggerId:r,isUsingKeyboard:l,handleClose:u}=_e(uf,void 0),{rovingFocusGroupRef:c,rovingFocusGroupRootStyle:d,onBlur:f,onFocus:v,onKeydown:g,onMousedown:p}=_e(Om,void 0),{collectionRef:h}=_e(P2,void 0),m=w(()=>[t.b("menu"),t.bm("menu",a?.value)]),b=$m(o,c,h),k=Rn(S=>{e.onKeydown?.(S)},S=>{const{currentTarget:C,target:E}=S,$=jt(S);if(C.contains(E),we.tab===$)return u();g(S)});function y(S){l.value&&v(S)}return{size:a,rovingFocusGroupRootStyle:d,dropdownKls:m,role:s,triggerId:r,dropdownListWrapperRef:b,handleKeydown:k,onBlur:f,handleFocus:y,onMousedown:p}}});const AK=["role","aria-labelledby"];function LK(e,t,n,a,o,s){return x(),B("ul",{ref:e.dropdownListWrapperRef,class:T(e.dropdownKls),style:Ke(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onFocusin:t[0]||(t[0]=(...r)=>e.handleFocus&&e.handleFocus(...r)),onFocusout:t[1]||(t[1]=(...r)=>e.onBlur&&e.onBlur(...r)),onKeydown:t[2]||(t[2]=Xe((...r)=>e.handleKeydown&&e.handleKeydown(...r),["self"])),onMousedown:t[3]||(t[3]=Xe((...r)=>e.onMousedown&&e.onMousedown(...r),["self"]))},[ee(e.$slots,"default")],46,AK)}var L2=$n(_K,[["render",LK]]);const DK=rt($K,{DropdownItem:A2,DropdownMenu:L2}),BK=an(A2),FK=an(L2),VK=Ce({image:{type:String,default:""},imageSize:Number,description:{type:String,default:""}}),zK={viewBox:"0 0 79 86",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},HK=["id"],KK=["stop-color"],WK=["stop-color"],jK=["id"],UK=["stop-color"],qK=["stop-color"],YK=["id"],GK={stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},XK={transform:"translate(-1268.000000, -535.000000)"},JK={transform:"translate(1268.000000, 535.000000)"},ZK=["fill"],QK=["fill"],eW={transform:"translate(34.500000, 31.500000) scale(-1, 1) rotate(-25.000000) translate(-34.500000, -31.500000) translate(7.000000, 10.000000)"},tW=["fill"],nW=["fill"],aW=["fill"],oW=["fill"],sW=["fill"],rW={transform:"translate(53.000000, 45.000000)"},lW=["fill","xlink:href"],iW=["fill","mask"],uW=["fill"];var cW=se({name:"ImgEmpty",__name:"img-empty",setup(e){const t=fe("empty"),n=zn();return(a,o)=>(x(),B("svg",zK,[z("defs",null,[z("linearGradient",{id:`linearGradient-1-${i(n)}`,x1:"38.8503086%",y1:"0%",x2:"61.1496914%",y2:"100%"},[z("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,KK),z("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-4")})`,offset:"100%"},null,8,WK)],8,HK),z("linearGradient",{id:`linearGradient-2-${i(n)}`,x1:"0%",y1:"9.5%",x2:"100%",y2:"90.5%"},[z("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-1")})`,offset:"0%"},null,8,UK),z("stop",{"stop-color":`var(${i(t).cssVarBlockName("fill-color-6")})`,offset:"100%"},null,8,qK)],8,jK),z("rect",{id:`path-3-${i(n)}`,x:"0",y:"0",width:"17",height:"36"},null,8,YK)]),z("g",GK,[z("g",XK,[z("g",JK,[z("path",{d:"M39.5,86 C61.3152476,86 79,83.9106622 79,81.3333333 C79,78.7560045 57.3152476,78 35.5,78 C13.6847524,78 0,78.7560045 0,81.3333333 C0,83.9106622 17.6847524,86 39.5,86 Z",fill:`var(${i(t).cssVarBlockName("fill-color-3")})`},null,8,ZK),z("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-7")})`,transform:"translate(27.500000, 51.500000) scale(1, -1) translate(-27.500000, -51.500000) ",points:"13 58 53 58 42 45 2 45"},null,8,QK),z("g",eW,[z("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-7")})`,transform:"translate(11.500000, 5.000000) scale(1, -1) translate(-11.500000, -5.000000) ",points:"2.84078316e-14 3 18 3 23 7 5 7"},null,8,tW),z("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-5")})`,points:"-3.69149156e-15 7 38 7 38 43 -3.69149156e-15 43"},null,8,nW),z("rect",{fill:`url(#linearGradient-1-${i(n)})`,transform:"translate(46.500000, 25.000000) scale(-1, 1) translate(-46.500000, -25.000000) ",x:"38",y:"7",width:"17",height:"36"},null,8,aW),z("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-2")})`,transform:"translate(39.500000, 3.500000) scale(-1, 1) translate(-39.500000, -3.500000) ",points:"24 7 41 7 55 -3.63806207e-12 38 -3.63806207e-12"},null,8,oW)]),z("rect",{fill:`url(#linearGradient-2-${i(n)})`,x:"13",y:"45",width:"40",height:"36"},null,8,sW),z("g",rW,[z("use",{fill:`var(${i(t).cssVarBlockName("fill-color-8")})`,transform:"translate(8.500000, 18.000000) scale(-1, 1) translate(-8.500000, -18.000000) ","xlink:href":`#path-3-${i(n)}`},null,8,lW),z("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-9")})`,mask:`url(#mask-4-${i(n)})`,transform:"translate(12.000000, 9.000000) scale(-1, 1) translate(-12.000000, -9.000000) ",points:"7 0 24 0 20 18 7 16.5"},null,8,iW)]),z("polygon",{fill:`var(${i(t).cssVarBlockName("fill-color-2")})`,transform:"translate(66.000000, 51.500000) scale(-1, 1) translate(-66.000000, -51.500000) ",points:"62 45 79 45 70 58 53 58"},null,8,uW)])])])]))}}),dW=cW;const fW=["src"],pW={key:1};var hW=se({name:"ElEmpty",__name:"empty",props:VK,setup(e){const t=e,{t:n}=Ct(),a=fe("empty"),o=w(()=>t.description||n("el.table.emptyText")),s=w(()=>({width:ln(t.imageSize)}));return(r,l)=>(x(),B("div",{class:T(i(a).b())},[z("div",{class:T(i(a).e("image")),style:Ke(s.value)},[e.image?(x(),B("img",{key:0,src:e.image,ondragstart:"return false"},null,8,fW)):ee(r.$slots,"image",{key:1},()=>[Y(dW)])],6),z("div",{class:T(i(a).e("description"))},[r.$slots.description?ee(r.$slots,"description",{key:0}):(x(),B("p",pW,Se(o.value),1))],2),r.$slots.default?(x(),B("div",{key:0,class:T(i(a).e("bottom"))},[ee(r.$slots,"default")],2)):te("v-if",!0)],2))}}),vW=hW;const D2=rt(vW),mW=Ce({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:G([String,Object])},previewSrcList:{type:G(Array),default:()=>rn([])},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:G(String)}}),gW={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>He(e),close:()=>!0,show:()=>!0},bW=Ce({urlList:{type:G(Array),default:()=>rn([])},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:G(String)}}),yW={close:()=>!0,error:e=>e instanceof Event,switch:e=>He(e),rotate:e=>He(e)},wW=["src","crossorigin"];var SW=se({name:"ElImageViewer",__name:"image-viewer",props:bW,emits:yW,setup(e,{expose:t,emit:n}){const a={CONTAIN:{name:"contain",icon:xo(c3)},ORIGINAL:{name:"original",icon:xo(N3)}},o=e,s=n;let r;const{t:l}=Ct(),u=fe("image-viewer"),{nextZIndex:c}=uu(),d=M(),f=M(),v=tT(),g=w(()=>{const{scale:ie,minScale:ae,maxScale:ne}=o;return HS(ie,ae,ne)}),p=M(!0),h=M(!1),m=M(!1),b=M(o.initialIndex),k=Xt(a.CONTAIN),y=M({scale:g.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),S=M(o.zIndex??c());qd(m,{ns:u});const C=w(()=>{const{urlList:ie}=o;return ie.length<=1}),E=w(()=>b.value===0),$=w(()=>b.value===o.urlList.length-1),O=w(()=>o.urlList[b.value]),N=w(()=>[u.e("btn"),u.e("prev"),u.is("disabled",!o.infinite&&E.value)]),R=w(()=>[u.e("btn"),u.e("next"),u.is("disabled",!o.infinite&&$.value)]),A=w(()=>{const{scale:ie,deg:ae,offsetX:ne,offsetY:K,enableTransition:Z}=y.value;let re=ne/ie,ce=K/ie;const ve=ae*Math.PI/180,ke=Math.cos(ve),Ne=Math.sin(ve);re=re*ke+ce*Ne,ce=ce*ke-ne/ie*Ne;const Ie={transform:`scale(${ie}) rotate(${ae}deg) translate(${re}px, ${ce}px)`,transition:Z?"transform .3s":""};return k.value.name===a.CONTAIN.name&&(Ie.maxWidth=Ie.maxHeight="100%"),Ie}),_=w(()=>`${b.value+1} / ${o.urlList.length}`);function V(){U(),r?.(),m.value=!1,s("close")}function H(){const ie=Rs(ne=>{switch(jt(ne)){case we.esc:o.closeOnPressEscape&&V();break;case we.space:F();break;case we.left:j();break;case we.up:Q("zoomIn");break;case we.right:X();break;case we.down:Q("zoomOut");break}}),ae=Rs(ne=>{Q((ne.deltaY||ne.deltaX)<0?"zoomIn":"zoomOut",{zoomRate:o.zoomRate,enableTransition:!1})});v.run(()=>{Ft(document,"keydown",ie),Ft(d,"wheel",ae)})}function U(){v.stop()}function W(){p.value=!1}function P(ie){h.value=!0,p.value=!1,s("error",ie),ie.target.alt=l("el.image.error")}function I(ie){if(p.value||ie.button!==0||!d.value)return;y.value.enableTransition=!1;const{offsetX:ae,offsetY:ne}=y.value,K=ie.pageX,Z=ie.pageY,re=Rs(ke=>{y.value={...y.value,offsetX:ae+ke.pageX-K,offsetY:ne+ke.pageY-Z}}),ce=Ft(document,"mousemove",re),ve=Ft(document,"mouseup",()=>{ce(),ve()});ie.preventDefault()}function L(ie){if(p.value||!d.value||ie.touches.length!==1)return;y.value.enableTransition=!1;const{offsetX:ae,offsetY:ne}=y.value,{pageX:K,pageY:Z}=ie.touches[0],re=Rs(ke=>{const Ne=ke.touches[0];y.value={...y.value,offsetX:ae+Ne.pageX-K,offsetY:ne+Ne.pageY-Z}}),ce=Ft(document,"touchmove",re),ve=Ft(document,"touchend",()=>{ce(),ve()});ie.preventDefault()}function D(){y.value={scale:g.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function F(){if(p.value||h.value)return;const ie=Oi(a),ae=Object.values(a),ne=k.value.name;k.value=a[ie[(ae.findIndex(K=>K.name===ne)+1)%ie.length]],D()}function q(ie){h.value=!1;const ae=o.urlList.length;b.value=(ie+ae)%ae}function j(){E.value&&!o.infinite||q(b.value-1)}function X(){$.value&&!o.infinite||q(b.value+1)}function Q(ie,ae={}){if(p.value||h.value)return;const{minScale:ne,maxScale:K}=o,{zoomRate:Z,rotateDeg:re,enableTransition:ce}={zoomRate:o.zoomRate,rotateDeg:90,enableTransition:!0,...ae};switch(ie){case"zoomOut":y.value.scale>ne&&(y.value.scale=Number.parseFloat((y.value.scale/Z).toFixed(3)));break;case"zoomIn":y.value.scale0)return ie.preventDefault(),!1}}return le(()=>g.value,ie=>{y.value.scale=ie}),le(O,()=>{Re(()=>{f.value?.complete||(p.value=!0)})}),le(b,ie=>{D(),s("switch",ie)}),ht(()=>{m.value=!0,H(),r=Ft("wheel",ge,{passive:!1})}),t({setActiveItem:q}),(ie,ae)=>(x(),oe(i(_l),{to:"body",disabled:!e.teleported},{default:J(()=>[Y(Vn,{name:"viewer-fade",appear:""},{default:J(()=>[z("div",{ref_key:"wrapper",ref:d,tabindex:-1,class:T(i(u).e("wrapper")),style:Ke({zIndex:S.value})},[Y(i(Al),{loop:"",trapped:"","focus-trap-el":d.value,"focus-start-el":"container",onFocusoutPrevented:he,onReleaseRequested:ue},{default:J(()=>[z("div",{class:T(i(u).e("mask")),onClick:ae[0]||(ae[0]=Xe(ne=>e.hideOnClickModal&&V(),["self"]))},null,2),te(" CLOSE "),z("span",{class:T([i(u).e("btn"),i(u).e("close")]),onClick:V},[Y(i(De),null,{default:J(()=>[Y(i(Ha))]),_:1})],2),te(" ARROW "),C.value?te("v-if",!0):(x(),B(Fe,{key:0},[z("span",{class:T(N.value),onClick:j},[Y(i(De),null,{default:J(()=>[Y(i(is))]),_:1})],2),z("span",{class:T(R.value),onClick:X},[Y(i(De),null,{default:J(()=>[Y(i(na))]),_:1})],2)],64)),ie.$slots.progress||e.showProgress?(x(),B("div",{key:1,class:T([i(u).e("btn"),i(u).e("progress")])},[ee(ie.$slots,"progress",{activeIndex:b.value,total:e.urlList.length},()=>[wt(Se(_.value),1)])],2)):te("v-if",!0),te(" ACTIONS "),z("div",{class:T([i(u).e("btn"),i(u).e("actions")])},[z("div",{class:T(i(u).e("actions__inner"))},[ee(ie.$slots,"toolbar",{actions:Q,prev:j,next:X,reset:F,activeIndex:b.value,setActiveItem:q},()=>[Y(i(De),{onClick:ae[1]||(ae[1]=ne=>Q("zoomOut"))},{default:J(()=>[Y(i(U3))]),_:1}),Y(i(De),{onClick:ae[2]||(ae[2]=ne=>Q("zoomIn"))},{default:J(()=>[Y(i(zC))]),_:1}),z("i",{class:T(i(u).e("actions__divider"))},null,2),Y(i(De),{onClick:F},{default:J(()=>[(x(),oe(it(k.value.icon)))]),_:1}),z("i",{class:T(i(u).e("actions__divider"))},null,2),Y(i(De),{onClick:ae[3]||(ae[3]=ne=>Q("anticlockwise"))},{default:J(()=>[Y(i(T3))]),_:1}),Y(i(De),{onClick:ae[4]||(ae[4]=ne=>Q("clockwise"))},{default:J(()=>[Y(i(O3))]),_:1})])],2)],2),te(" CANVAS "),z("div",{class:T(i(u).e("canvas"))},[h.value&&ie.$slots["viewer-error"]?ee(ie.$slots,"viewer-error",{key:0,activeIndex:b.value,src:O.value}):(x(),B("img",{ref_key:"imgRef",ref:f,key:O.value,src:O.value,style:Ke(A.value),class:T(i(u).e("img")),crossorigin:e.crossorigin,onLoad:W,onError:P,onMousedown:I,onTouchstart:L},null,46,wW))],2),ee(ie.$slots,"default")]),_:3},8,["focus-trap-el"])],6)]),_:3})]),_:3},8,["disabled"]))}}),CW=SW;const B2=rt(CW),kW=["src","loading","crossorigin"],EW={key:0};var xW=se({name:"ElImage",inheritAttrs:!1,__name:"image",props:mW,emits:gW,setup(e,{expose:t,emit:n}){const a=e,o=n,{t:s}=Ct(),r=fe("image"),l=fs(),u=w(()=>fl(Object.entries(l).filter(([P])=>/^(data-|on[A-Z])/i.test(P)||["id","style"].includes(P)))),c=Wd({excludeListeners:!0,excludeKeys:w(()=>Object.keys(u.value))}),d=M(),f=M(!1),v=M(!0),g=M(!1),p=M(),h=M(),m=Mt&&"loading"in HTMLImageElement.prototype;let b;const k=w(()=>[r.e("inner"),S.value&&r.e("preview"),v.value&&r.is("loading")]),y=w(()=>{const{fit:P}=a;return Mt&&P?{objectFit:P}:{}}),S=w(()=>{const{previewSrcList:P}=a;return ye(P)&&P.length>0}),C=w(()=>{const{previewSrcList:P,initialIndex:I}=a;let L=I;return I>P.length-1&&(L=0),L}),E=w(()=>a.loading==="eager"?!1:!m&&a.loading==="lazy"||a.lazy),$=()=>{Mt&&(v.value=!0,f.value=!1,d.value=a.src)};function O(P){v.value=!1,f.value=!1,o("load",P)}function N(P){v.value=!1,f.value=!0,o("error",P)}function R(P){P&&($(),V())}const A=WS(R,200,!0);async function _(){if(!Mt)return;await Re();const{scrollContainer:P}=a;if(ha(P))h.value=P;else if(Le(P)&&P!=="")h.value=document.querySelector(P)??void 0;else if(p.value){const L=Bv(p.value);h.value=nu(L)?void 0:L}const{stop:I}=s_(p,([L])=>{A(L.isIntersecting)},{root:h});b=I}function V(){!Mt||!A||(b?.(),h.value=void 0,b=void 0)}function H(){S.value&&(g.value=!0,o("show"))}function U(){g.value=!1,o("close")}function W(P){o("switch",P)}return le(()=>a.src,()=>{E.value?(v.value=!0,f.value=!1,V(),_()):$()}),ht(()=>{E.value?_():$()}),t({showPreview:H}),(P,I)=>(x(),B("div",dt({ref_key:"container",ref:p},u.value,{class:[i(r).b(),P.$attrs.class]}),[f.value?ee(P.$slots,"error",{key:0},()=>[z("div",{class:T(i(r).e("error"))},Se(i(s)("el.image.error")),3)]):(x(),B(Fe,{key:1},[d.value!==void 0?(x(),B("img",dt({key:0},i(c),{src:d.value,loading:e.loading,style:y.value,class:k.value,crossorigin:e.crossorigin,onClick:H,onLoad:O,onError:N}),null,16,kW)):te("v-if",!0),v.value?(x(),B("div",{key:1,class:T(i(r).e("wrapper"))},[ee(P.$slots,"placeholder",{},()=>[z("div",{class:T(i(r).e("placeholder"))},null,2)])],2)):te("v-if",!0)],64)),S.value?(x(),B(Fe,{key:2},[g.value?(x(),oe(i(B2),{key:0,"z-index":e.zIndex,"initial-index":C.value,infinite:e.infinite,"zoom-rate":e.zoomRate,"min-scale":e.minScale,"max-scale":e.maxScale,"show-progress":e.showProgress,"url-list":e.previewSrcList,scale:e.scale,crossorigin:e.crossorigin,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:U,onSwitch:W},ua({toolbar:J(L=>[ee(P.$slots,"toolbar",Jo(Zo(L)))]),default:J(()=>[P.$slots.viewer?(x(),B("div",EW,[ee(P.$slots,"viewer")])):te("v-if",!0)]),_:2},[P.$slots.progress?{name:"progress",fn:J(L=>[ee(P.$slots,"progress",Jo(Zo(L)))]),key:"0"}:void 0,P.$slots["viewer-error"]?{name:"viewer-error",fn:J(L=>[ee(P.$slots,"viewer-error",Jo(Zo(L)))]),key:"1"}:void 0]),1032,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","show-progress","url-list","scale","crossorigin","hide-on-click-modal","teleported","close-on-press-escape"])):te("v-if",!0)],64)):te("v-if",!0)],16))}}),TW=xW;const $W=rt(TW),OW=Ce({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.MAX_SAFE_INTEGER},min:{type:Number,default:Number.MIN_SAFE_INTEGER},modelValue:{type:[Number,null]},readonly:Boolean,disabled:{type:Boolean,default:void 0},size:Tn,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:G([String,Number,null]),validator:e=>e===null||He(e)||["min","max"].includes(e),default:null},name:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0},...aa(["ariaLabel"]),inputmode:{type:G(String),default:void 0},align:{type:G(String),default:"center"},disabledScientific:Boolean}),RW={[yt]:(e,t)=>t!==e,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[Sn]:e=>He(e)||bn(e),[at]:e=>He(e)||bn(e)},NW=["aria-label"],IW=["aria-label"];var PW=se({name:"ElInputNumber",__name:"input-number",props:OW,emits:RW,setup(e,{expose:t,emit:n}){const a=e,o=n,{t:s}=Ct(),r=fe("input-number"),l=M(),u=At({currentValue:a.modelValue,userInput:null}),{formItem:c}=Dn(),d=w(()=>He(a.modelValue)&&a.modelValue<=a.min),f=w(()=>He(a.modelValue)&&a.modelValue>=a.max),v=w(()=>{const P=k(a.step);return Tt(a.precision)?Math.max(k(a.modelValue),P):(P>a.precision&&pt("InputNumber","precision should not be less than the decimal places of step"),a.precision)}),g=w(()=>a.controls&&a.controlsPosition==="right"),p=Cn(),h=un(),m=w(()=>{if(u.userInput!==null)return u.userInput;let P=u.currentValue;if(bn(P))return"";if(He(P)){if(Number.isNaN(P))return"";Tt(a.precision)||(P=P.toFixed(a.precision))}return P}),b=(P,I)=>{if(Tt(I)&&(I=v.value),I===0)return Math.round(P);let L=String(P);const D=L.indexOf(".");if(D===-1||!L.replace(".","").split("")[D+I])return P;const F=L.length;return L.charAt(F-1)==="5"&&(L=`${L.slice(0,Math.max(0,F-1))}6`),Number.parseFloat(Number(L).toFixed(I))},k=P=>{if(bn(P))return 0;const I=P.toString(),L=I.indexOf(".");let D=0;return L!==-1&&(D=I.length-L-1),D},y=(P,I=1)=>He(P)?P>=Number.MAX_SAFE_INTEGER&&I===1?(pt("InputNumber","The value has reached the maximum safe integer limit."),P):P<=Number.MIN_SAFE_INTEGER&&I===-1?(pt("InputNumber","The value has reached the minimum safe integer limit."),P):b(P+a.step*I):u.currentValue,S=P=>{const I=jt(P),L=nC(P);if(a.disabledScientific&&["e","E"].includes(L)){P.preventDefault();return}switch(I){case we.up:P.preventDefault(),C();break;case we.down:P.preventDefault(),E();break}},C=()=>{a.readonly||h.value||f.value||(O(y(Number(m.value)||0)),o(Sn,u.currentValue),U())},E=()=>{a.readonly||h.value||d.value||(O(y(Number(m.value)||0,-1)),o(Sn,u.currentValue),U())},$=(P,I)=>{const{max:L,min:D,step:F,precision:q,stepStrictly:j,valueOnClear:X}=a;LL||QL?L:D,I&&o(at,Q)),Q},O=(P,I=!0)=>{const L=u.currentValue,D=$(P);if(!I){o(at,D);return}u.userInput=null,!(L===D&&P)&&(o(at,D),L!==D&&o(yt,D,L),a.validateEvent&&c?.validate?.("change").catch(F=>pt(F)),u.currentValue=D)},N=P=>{u.userInput=P;const I=P===""?null:Number(P);o(Sn,I),O(I,!1)},R=P=>{const I=P!==""?Number(P):"";(He(I)&&!Number.isNaN(I)||P==="")&&O(I),U(),u.userInput=null},A=()=>{l.value?.focus?.()},_=()=>{l.value?.blur?.()},V=P=>{o("focus",P)},H=P=>{u.userInput=null,u.currentValue===null&&l.value?.input&&(l.value.input.value=""),o("blur",P),a.validateEvent&&c?.validate?.("blur").catch(I=>pt(I))},U=()=>{u.currentValue!==a.modelValue&&(u.currentValue=a.modelValue)},W=P=>{document.activeElement===P.target&&P.preventDefault()};return le(()=>a.modelValue,(P,I)=>{const L=$(P,!0);u.userInput===null&&L!==I&&(u.currentValue=L)},{immediate:!0}),le(()=>a.precision,()=>{u.currentValue=$(a.modelValue)}),ht(()=>{const{min:P,max:I,modelValue:L}=a,D=l.value?.input;if(D.setAttribute("role","spinbutton"),Number.isFinite(I)?D.setAttribute("aria-valuemax",String(I)):D.removeAttribute("aria-valuemax"),Number.isFinite(P)?D.setAttribute("aria-valuemin",String(P)):D.removeAttribute("aria-valuemin"),D.setAttribute("aria-valuenow",u.currentValue||u.currentValue===0?String(u.currentValue):""),D.setAttribute("aria-disabled",String(h.value)),!He(L)&&L!=null){let F=Number(L);Number.isNaN(F)&&(F=null),o(at,F)}D.addEventListener("wheel",W,{passive:!1})}),ro(()=>{l.value?.input?.setAttribute("aria-valuenow",`${u.currentValue??""}`)}),t({focus:A,blur:_}),(P,I)=>(x(),B("div",{class:T([i(r).b(),i(r).m(i(p)),i(r).is("disabled",i(h)),i(r).is("without-controls",!e.controls),i(r).is("controls-right",g.value),i(r).is(e.align,!!e.align)]),onDragstart:I[0]||(I[0]=Xe(()=>{},["prevent"]))},[e.controls?ut((x(),B("span",{key:0,role:"button","aria-label":i(s)("el.inputNumber.decrease"),class:T([i(r).e("decrease"),i(r).is("disabled",d.value)]),onKeydown:on(E,["enter"])},[ee(P.$slots,"decrease-icon",{},()=>[Y(i(De),null,{default:J(()=>[g.value?(x(),oe(i(Fo),{key:0})):(x(),oe(i(m3),{key:1}))]),_:1})])],42,NW)),[[i(nd),E]]):te("v-if",!0),e.controls?ut((x(),B("span",{key:1,role:"button","aria-label":i(s)("el.inputNumber.increase"),class:T([i(r).e("increase"),i(r).is("disabled",f.value)]),onKeydown:on(C,["enter"])},[ee(P.$slots,"increase-icon",{},()=>[Y(i(De),null,{default:J(()=>[g.value?(x(),oe(i(ef),{key:0})):(x(),oe(i(FC),{key:1}))]),_:1})])],42,IW)),[[i(nd),C]]):te("v-if",!0),Y(i(ea),{id:e.id,ref_key:"input",ref:l,type:"number",step:e.step,"model-value":m.value,placeholder:e.placeholder,readonly:e.readonly,disabled:i(h),size:i(p),max:e.max,min:e.min,name:e.name,"aria-label":e.ariaLabel,"validate-event":!1,inputmode:e.inputmode,onKeydown:S,onBlur:H,onFocus:V,onInput:N,onChange:R},ua({_:2},[P.$slots.prefix?{name:"prefix",fn:J(()=>[ee(P.$slots,"prefix")]),key:"0"}:void 0,P.$slots.suffix?{name:"suffix",fn:J(()=>[ee(P.$slots,"suffix")]),key:"1"}:void 0]),1032,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","inputmode"])],34))}}),MW=PW;const F2=rt(MW),_W=Ce({modelValue:{type:G(Array)},max:Number,tagType:{...us.type,default:"info"},tagEffect:us.effect,effect:{type:G(String),default:"light"},trigger:{type:G(String),default:we.enter},draggable:Boolean,delimiter:{type:[String,RegExp],default:""},size:Tn,clearable:Boolean,clearIcon:{type:Kt,default:Vo},disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},readonly:Boolean,autofocus:Boolean,id:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},placeholder:String,autocomplete:{type:G(String),default:"off"},saveOnBlur:{type:Boolean,default:!0},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},ariaLabel:String}),AW={[at]:e=>ye(e)||Tt(e),[yt]:e=>ye(e)||Tt(e),[Sn]:e=>Le(e),"add-tag":e=>Le(e)||ye(e),"remove-tag":(e,t)=>Le(e)&&He(t),"drag-tag":(e,t,n)=>He(e)&&He(t)&&Le(n),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0};function LW({wrapperRef:e,handleDragged:t,afterDragged:n}){const a=fe("input-tag"),o=Xt(),s=M(!1);let r,l,u,c;function d(p){return`.${a.e("inner")} .${a.namespace.value}-tag:nth-child(${p+1})`}function f(p,h){r=h,l=e.value.querySelector(d(h)),l&&(l.style.opacity="0.5"),p.dataTransfer.effectAllowed="move"}function v(p,h){if(u=h,p.preventDefault(),p.dataTransfer.dropEffect="move",Tt(r)||r===h){s.value=!1;return}const m=e.value.querySelector(d(h)).getBoundingClientRect(),b=r+1!==h,k=r-1!==h,y=p.clientX-m.left,S=b?k?.5:1:-1,C=k?b?.5:0:1;y<=m.width*S?c="before":y>m.width*C?c="after":c=void 0;const E=e.value.querySelector(`.${a.e("inner")}`),$=E.getBoundingClientRect(),O=Number.parseFloat(Yo(E,"gap"))/2,N=m.top-$.top;let R=-9999;if(c==="before")R=Math.max(m.left-$.left-O,Math.floor(-O/2));else if(c==="after"){const A=m.right-$.left;R=A+($.width===A?Math.floor(O/2):O)}JS(o.value,{top:`${N}px`,left:`${R}px`}),s.value=!!c}function g(p){p.preventDefault(),l&&(l.style.opacity=""),c&&!Tt(r)&&!Tt(u)&&r!==u&&t(r,u,c),s.value=!1,r=void 0,l=null,u=void 0,c=void 0,n?.()}return{dropIndicatorRef:o,showDropIndicator:s,handleDragStart:f,handleDragOver:v,handleDragEnd:g}}function DW(){const e=M(!1);return{hovering:e,handleMouseEnter:()=>{e.value=!0},handleMouseLeave:()=>{e.value=!1}}}function BW({props:e,emit:t,formItem:n}){const a=un(),o=Cn(),s=Xt(),r=M(),l=M(),u=w(()=>["small"].includes(o.value)?"small":"default"),c=w(()=>e.modelValue?.length?void 0:e.placeholder),d=w(()=>!(e.readonly||a.value)),f=w(()=>Tt(e.max)?!1:(e.modelValue?.length??0)>=e.max),v=w(()=>e.collapseTags?e.modelValue?.slice(0,e.maxCollapseTags):e.modelValue),g=w(()=>e.collapseTags?e.modelValue?.slice(e.maxCollapseTags):[]),p=W=>{const P=[...e.modelValue??[],...Nn(W)];t(at,P),t(yt,P),t("add-tag",W),r.value=void 0},h=W=>{const P=W.split(e.delimiter),I=P.length>1?P.map(L=>L.trim()).filter(Boolean):[];if(e.max){const L=e.max-(e.modelValue?.length??0);I.splice(L)}return I.length===1?I[0]:I},m=W=>{const P=W.clipboardData?.getData("text");if(e.readonly||f.value||!e.delimiter||!P)return;const{selectionStart:I=0,selectionEnd:L=0,value:D}=W.target,F=D.slice(0,I)+P+D.slice(L),q=h(F);q.length&&(p(q),t(Sn,F),W.preventDefault())},b=W=>{if(f.value){r.value=void 0;return}if(!_.value){if(e.delimiter&&r.value){const P=h(r.value);P.length&&p(P)}t(Sn,W.target.value)}},k=W=>{if(!_.value)switch(jt(W)){case e.trigger:W.preventDefault(),W.stopPropagation(),S();break;case we.numpadEnter:e.trigger===we.enter&&(W.preventDefault(),W.stopPropagation(),S());break;case we.backspace:!r.value&&e.modelValue?.length&&(W.preventDefault(),W.stopPropagation(),C(e.modelValue.length-1));break}},y=W=>{_.value||!GS()||jt(W)===we.space&&e.trigger===we.space&&(W.preventDefault(),W.stopPropagation(),S())},S=()=>{const W=r.value?.trim();!W||f.value||p(W)},C=W=>{const P=(e.modelValue??[]).slice(),[I]=P.splice(W,1);t(at,P),t(yt,P),t("remove-tag",I,W)},E=()=>{r.value=void 0,t(at,void 0),t(yt,void 0),t("clear")},$=(W,P,I)=>{const L=(e.modelValue??[]).slice(),[D]=L.splice(W,1),F=P>W&&I==="before"?-1:P{s.value?.focus()},N=()=>{s.value?.blur()},{wrapperRef:R,isFocused:A}=ms(s,{disabled:a,beforeBlur(W){return l.value?.isFocusInsideContent(W)},afterBlur(){e.saveOnBlur?S():r.value=void 0,e.validateEvent&&n?.validate?.("blur").catch(W=>pt(W))}}),{isComposing:_,handleCompositionStart:V,handleCompositionUpdate:H,handleCompositionEnd:U}=pu({afterComposition:b});return le(()=>e.modelValue,()=>{e.validateEvent&&n?.validate?.(yt).catch(W=>pt(W))}),{inputRef:s,wrapperRef:R,tagTooltipRef:l,isFocused:A,isComposing:_,inputValue:r,size:o,tagSize:u,placeholder:c,closable:d,disabled:a,inputLimit:f,showTagList:v,collapseTagList:g,handleDragged:$,handlePaste:m,handleInput:b,handleKeydown:k,handleKeyup:y,handleAddTag:S,handleRemoveTag:C,handleClear:E,handleCompositionStart:V,handleCompositionUpdate:H,handleCompositionEnd:U,focus:O,blur:N}}function FW({props:e,isFocused:t,hovering:n,disabled:a,inputValue:o,size:s,validateState:r,validateIcon:l,needStatusIcon:u}){const c=fs(),d=vn(),f=fe("input-tag"),v=fe("input"),g=M(),p=M(),h=w(()=>[f.b(),f.is("focused",t.value),f.is("hovering",n.value),f.is("disabled",a.value),f.m(s.value),f.e("wrapper"),c.class]),m=w(()=>[c.style]),b=w(()=>[f.e("inner"),f.is("draggable",e.draggable),f.is("left-space",!e.modelValue?.length&&!d.prefix),f.is("right-space",!e.modelValue?.length&&!y.value)]),k=w(()=>e.clearable&&!a.value&&!e.readonly&&(e.modelValue?.length||o.value)&&(t.value||n.value)),y=w(()=>d.suffix||k.value||r.value&&l.value&&u.value),S=At({innerWidth:0,collapseItemWidth:0}),C=()=>{if(!p.value)return 0;const N=window.getComputedStyle(p.value);return Number.parseFloat(N.gap||"6px")},E=()=>{S.innerWidth=Number.parseFloat(window.getComputedStyle(p.value).width)},$=()=>{S.collapseItemWidth=g.value.getBoundingClientRect().width},O=w(()=>{if(!e.collapseTags)return{};const N=C(),R=N+Ad,A=g.value&&e.maxCollapseTags===1?S.innerWidth-S.collapseItemWidth-N-R:S.innerWidth-R;return{maxWidth:`${Math.max(A,0)}px`}});return en(p,E),en(g,$),{ns:f,nsInput:v,containerKls:h,containerStyle:m,innerKls:b,showClear:k,showSuffix:y,tagStyle:O,collapseItemRef:g,innerRef:p}}const VW=["id","minlength","maxlength","disabled","readonly","autocomplete","tabindex","placeholder","autofocus","ariaLabel"],zW=["textContent"];var HW=se({name:"ElInputTag",inheritAttrs:!1,__name:"input-tag",props:_W,emits:AW,setup(e,{expose:t,emit:n}){const a=e,o=n,s=Wd(),r=vn(),{form:l,formItem:u}=Dn(),{inputId:c}=Ia(a,{formItemContext:u}),d=w(()=>l?.statusIcon??!1),f=w(()=>u?.validateState||""),v=w(()=>f.value&&nf[f.value]),{inputRef:g,wrapperRef:p,tagTooltipRef:h,isFocused:m,inputValue:b,size:k,tagSize:y,placeholder:S,closable:C,disabled:E,showTagList:$,collapseTagList:O,handleDragged:N,handlePaste:R,handleInput:A,handleKeydown:_,handleKeyup:V,handleRemoveTag:H,handleClear:U,handleCompositionStart:W,handleCompositionUpdate:P,handleCompositionEnd:I,focus:L,blur:D}=BW({props:a,emit:o,formItem:u}),{hovering:F,handleMouseEnter:q,handleMouseLeave:j}=DW(),{calculatorRef:X,inputStyle:Q}=Av(),{dropIndicatorRef:he,showDropIndicator:ue,handleDragStart:ge,handleDragOver:ie,handleDragEnd:ae}=LW({wrapperRef:p,handleDragged:N,afterDragged:L}),{ns:ne,nsInput:K,containerKls:Z,containerStyle:re,innerKls:ce,showClear:ve,showSuffix:ke,tagStyle:Ne,collapseItemRef:Ie,innerRef:$e}=FW({props:a,hovering:F,isFocused:m,inputValue:b,disabled:E,size:k,validateState:f,validateIcon:v,needStatusIcon:d});return t({focus:L,blur:D}),(pe,Ee)=>(x(),B("div",{ref_key:"wrapperRef",ref:p,class:T(i(Z)),style:Ke(i(re)),onMouseenter:Ee[9]||(Ee[9]=(...me)=>i(q)&&i(q)(...me)),onMouseleave:Ee[10]||(Ee[10]=(...me)=>i(j)&&i(j)(...me))},[i(r).prefix?(x(),B("div",{key:0,class:T(i(ne).e("prefix"))},[ee(pe.$slots,"prefix")],2)):te("v-if",!0),z("div",{ref_key:"innerRef",ref:$e,class:T(i(ce))},[(x(!0),B(Fe,null,gt(i($),(me,Me)=>(x(),oe(i(ts),{key:Me,size:i(y),closable:i(C),type:e.tagType,effect:e.tagEffect,draggable:i(C)&&e.draggable,style:Ke(i(Ne)),"disable-transitions":"",onClose:We=>i(H)(Me),onDragstart:We=>i(ge)(We,Me),onDragover:We=>i(ie)(We,Me),onDragend:i(ae),onDrop:Ee[0]||(Ee[0]=Xe(()=>{},["stop"]))},{default:J(()=>[ee(pe.$slots,"tag",{value:me,index:Me},()=>[wt(Se(me),1)])]),_:2},1032,["size","closable","type","effect","draggable","style","onClose","onDragstart","onDragover","onDragend"]))),128)),e.collapseTags&&e.modelValue&&e.modelValue.length>e.maxCollapseTags?(x(),oe(i(Ln),{key:0,ref_key:"tagTooltipRef",ref:h,disabled:!e.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom"},{default:J(()=>[z("div",{ref_key:"collapseItemRef",ref:Ie,class:T(i(ne).e("collapse-tag"))},[Y(i(ts),{closable:!1,size:i(y),type:e.tagType,effect:e.tagEffect,"disable-transitions":""},{default:J(()=>[wt(" + "+Se(e.modelValue.length-e.maxCollapseTags),1)]),_:1},8,["size","type","effect"])],2)]),content:J(()=>[z("div",{class:T(i(ne).e("input-tag-list"))},[(x(!0),B(Fe,null,gt(i(O),(me,Me)=>(x(),oe(i(ts),{key:Me,size:i(y),closable:i(C),type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:We=>i(H)(Me+e.maxCollapseTags)},{default:J(()=>[ee(pe.$slots,"tag",{value:me,index:Me+e.maxCollapseTags},()=>[wt(Se(me),1)])]),_:2},1032,["size","closable","type","effect","onClose"]))),128))],2)]),_:3},8,["disabled","effect"])):te("v-if",!0),z("div",{class:T(i(ne).e("input-wrapper"))},[ut(z("input",dt({id:i(c),ref_key:"inputRef",ref:g,"onUpdate:modelValue":Ee[1]||(Ee[1]=me=>Jt(b)?b.value=me:null)},i(s),{type:"text",minlength:e.minlength,maxlength:e.maxlength,disabled:i(E),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,placeholder:i(S),autofocus:e.autofocus,ariaLabel:e.ariaLabel,class:i(ne).e("input"),style:i(Q),onCompositionstart:Ee[2]||(Ee[2]=(...me)=>i(W)&&i(W)(...me)),onCompositionupdate:Ee[3]||(Ee[3]=(...me)=>i(P)&&i(P)(...me)),onCompositionend:Ee[4]||(Ee[4]=(...me)=>i(I)&&i(I)(...me)),onPaste:Ee[5]||(Ee[5]=(...me)=>i(R)&&i(R)(...me)),onInput:Ee[6]||(Ee[6]=(...me)=>i(A)&&i(A)(...me)),onKeydown:Ee[7]||(Ee[7]=(...me)=>i(_)&&i(_)(...me)),onKeyup:Ee[8]||(Ee[8]=(...me)=>i(V)&&i(V)(...me))}),null,16,VW),[[hv,i(b)]]),z("span",{ref_key:"calculatorRef",ref:X,"aria-hidden":"true",class:T(i(ne).e("input-calculator")),textContent:Se(i(b))},null,10,zW)],2),ut(z("div",{ref_key:"dropIndicatorRef",ref:he,class:T(i(ne).e("drop-indicator"))},null,2),[[Pt,i(ue)]])],2),i(ke)?(x(),B("div",{key:1,class:T(i(ne).e("suffix"))},[ee(pe.$slots,"suffix"),i(ve)?(x(),oe(i(De),{key:0,class:T([i(ne).e("icon"),i(ne).e("clear")]),onMousedown:Xe(i(Dt),["prevent"]),onClick:i(U)},{default:J(()=>[(x(),oe(it(e.clearIcon)))]),_:1},8,["class","onMousedown","onClick"])):te("v-if",!0),f.value&&v.value&&d.value?(x(),oe(i(De),{key:1,class:T([i(K).e("icon"),i(K).e("validateIcon"),i(K).is("loading",f.value==="validating")])},{default:J(()=>[(x(),oe(it(v.value)))]),_:1},8,["class"])):te("v-if",!0)],2)):te("v-if",!0)],38))}}),KW=HW;const WW=rt(KW),jW=Ce({type:{type:String,values:["primary","success","warning","info","danger","default"],default:void 0},underline:{type:[Boolean,String],values:[!0,!1,"always","never","hover"],default:void 0},disabled:Boolean,href:{type:String,default:""},target:{type:String,default:"_self"},icon:{type:Kt}}),UW={click:e=>e instanceof MouseEvent},qW=["href","target"];var YW=se({name:"ElLink",__name:"link",props:jW,emits:UW,setup(e,{emit:t}){const n=e,a=t,o=gs("link");To({scope:"el-link",from:"The underline option (boolean)",replacement:"'always' | 'hover' | 'never'",version:"3.0.0",ref:"https://element-plus.org/en-US/component/link.html#underline"},w(()=>Ht(n.underline)));const s=fe("link"),r=w(()=>[s.b(),s.m(n.type??o.value?.type??"default"),s.is("disabled",n.disabled),s.is("underline",l.value==="always"),s.is("hover-underline",l.value==="hover"&&!n.disabled)]),l=w(()=>Ht(n.underline)?n.underline?"hover":"never":n.underline??o.value?.underline??"hover");function u(c){n.disabled||a("click",c)}return(c,d)=>(x(),B("a",{class:T(r.value),href:e.disabled||!e.href?void 0:e.href,target:e.disabled||!e.href?void 0:e.target,onClick:u},[e.icon?(x(),oe(i(De),{key:0},{default:J(()=>[(x(),oe(it(e.icon)))]),_:1})):te("v-if",!0),c.$slots.default?(x(),B("span",{key:1,class:T(i(s).e("inner"))},[ee(c.$slots,"default")],2)):te("v-if",!0),c.$slots.icon?ee(c.$slots,"icon",{key:2}):te("v-if",!0)],10,qW))}}),GW=YW;const XW=rt(GW),Rm="rootMenu",cd="subMenu:";function V2(e,t){const n=w(()=>{let a=e.parent;const o=[t.value];for(;a.type.name!=="ElMenu";)a.props.index&&o.unshift(a.props.index),a=a.parent;return o});return{parentMenu:w(()=>{let a=e.parent;for(;a&&!["ElMenu","ElSubMenu"].includes(a.type.name);)a=a.parent;return a}),indexPath:n}}function JW(e){return w(()=>{const t=e.backgroundColor;return t?new pn(t).shade(20).toString():""})}const z2=(e,t)=>{const n=fe("menu");return w(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":JW(e).value||"","active-color":e.activeTextColor||"",level:`${t}`}))},ZW=Ce({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,popperStyle:{type:G([String,Object])},disabled:Boolean,teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:Kt},expandOpenIcon:{type:Kt},collapseCloseIcon:{type:Kt},collapseOpenIcon:{type:Kt}}),ap="ElSubMenu";var Nm=se({name:ap,props:ZW,setup(e,{slots:t,expose:n}){const a=ft(),{indexPath:o,parentMenu:s}=V2(a,w(()=>e.index)),r=fe("menu"),l=fe("sub-menu"),u=_e(Rm);u||nn(ap,"can not inject root menu");const c=_e(`${cd}${s.value.uid}`);c||nn(ap,"can not inject sub menu");const d=M({}),f=M({});let v;const g=M(!1),p=M(),h=M(),m=w(()=>c.level===0),b=w(()=>O.value==="horizontal"&&m.value?"bottom-start":"right-start"),k=w(()=>O.value==="horizontal"&&m.value||O.value==="vertical"&&!u.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?E.value?e.expandOpenIcon:e.expandCloseIcon:Fo:e.collapseCloseIcon&&e.collapseOpenIcon?E.value?e.collapseOpenIcon:e.collapseCloseIcon:na),y=w(()=>{const q=e.teleported;return Tt(q)?m.value:q}),S=w(()=>u.props.collapse?`${r.namespace.value}-zoom-in-left`:`${r.namespace.value}-zoom-in-top`),C=w(()=>O.value==="horizontal"&&m.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),E=w(()=>u.openedMenus.includes(e.index)),$=w(()=>[...Object.values(d.value),...Object.values(f.value)].some(({active:q})=>q)),O=w(()=>u.props.mode),N=w(()=>u.props.persistent),R=At({index:e.index,indexPath:o,active:$}),A=z2(u.props,c.level+1),_=w(()=>e.popperOffset??u.props.popperOffset),V=w(()=>e.popperClass??u.props.popperClass),H=w(()=>e.popperStyle??u.props.popperStyle),U=w(()=>e.showTimeout??u.props.showTimeout),W=w(()=>e.hideTimeout??u.props.hideTimeout),P=()=>h.value?.popperRef?.popperInstanceRef?.destroy(),I=q=>{q||P()},L=()=>{u.props.menuTrigger==="hover"&&u.props.mode==="horizontal"||u.props.collapse&&u.props.mode==="vertical"||e.disabled||u.handleSubMenuClick({index:e.index,indexPath:o.value,active:$.value})},D=(q,j=U.value)=>{if(q.type!=="focus"){if(u.props.menuTrigger==="click"&&u.props.mode==="horizontal"||!u.props.collapse&&u.props.mode==="vertical"||e.disabled){c.mouseInChild.value=!0;return}c.mouseInChild.value=!0,v?.(),{stop:v}=pl(()=>{u.openMenu(e.index,o.value)},j),y.value&&s.value.vnode.el?.dispatchEvent(new MouseEvent("mouseenter")),q.type==="mouseenter"&&q.target&&Re(()=>{ru(q.target,{preventScroll:!0})})}},F=(q=!1)=>{if(u.props.menuTrigger==="click"&&u.props.mode==="horizontal"||!u.props.collapse&&u.props.mode==="vertical"){c.mouseInChild.value=!1;return}v?.(),c.mouseInChild.value=!1,{stop:v}=pl(()=>!g.value&&u.closeMenu(e.index,o.value),W.value),y.value&&q&&c.handleMouseleave?.(!0)};le(()=>u.props.collapse,q=>I(!!q));{const q=X=>{f.value[X.index]=X},j=X=>{delete f.value[X.index]};St(`${cd}${a.uid}`,{addSubMenu:q,removeSubMenu:j,handleMouseleave:F,mouseInChild:g,level:c.level+1})}return n({opened:E}),ht(()=>{u.addSubMenu(R),c.addSubMenu(R)}),Bt(()=>{c.removeSubMenu(R),u.removeSubMenu(R)}),()=>{const q=[t.title?.(),Ye(De,{class:l.e("icon-arrow"),style:{transform:E.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&u.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>Le(k.value)?Ye(a.appContext.components[k.value]):Ye(k.value)})],j=u.isMenuPopup?Ye(Ln,{ref:h,visible:E.value,effect:"light",pure:!0,offset:_.value,showArrow:!1,persistent:N.value,popperClass:V.value,popperStyle:H.value,placement:b.value,teleported:y.value,fallbackPlacements:C.value,transition:S.value,gpuAcceleration:!1},{content:()=>Ye("div",{class:[r.m(O.value),r.m("popup-container"),V.value],onMouseenter:X=>D(X,100),onMouseleave:()=>F(!0),onFocus:X=>D(X,100)},[Ye("ul",{class:[r.b(),r.m("popup"),r.m(`popup-${b.value}`)],style:A.value},[t.default?.()])]),default:()=>Ye("div",{class:l.e("title"),onClick:L},q)}):Ye(Fe,{},[Ye("div",{class:l.e("title"),ref:p,onClick:L},q),Ye(rf,{},{default:()=>ut(Ye("ul",{role:"menu",class:[r.b(),r.m("inline")],style:A.value},[t.default?.()]),[[Pt,E.value]])})]);return Ye("li",{class:[l.b(),l.is("active",$.value),l.is("opened",E.value),l.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:E.value,onMouseenter:D,onMouseleave:()=>F(),onFocus:D},[j])}}}),QW=class{constructor(e,t){this.parent=e,this.domNode=t,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(e){e===this.subMenuItems.length?e=0:e<0&&(e=this.subMenuItems.length-1),this.subMenuItems[e].focus(),this.subIndex=e}addListeners(){const e=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,t=>{t.addEventListener("keydown",n=>{const a=jt(n);let o=!1;switch(a){case we.down:this.gotoSubIndex(this.subIndex+1),o=!0;break;case we.up:this.gotoSubIndex(this.subIndex-1),o=!0;break;case we.tab:uc(e,"mouseleave");break;case we.enter:case we.numpadEnter:case we.space:o=!0,n.currentTarget.click();break}return o&&(n.preventDefault(),n.stopPropagation()),!1})})}},ej=class{constructor(e,t){this.domNode=e,this.submenu=null,this.submenu=null,this.init(t)}init(e){this.domNode.setAttribute("tabindex","0");const t=this.domNode.querySelector(`.${e}-menu`);t&&(this.submenu=new QW(this,t)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",e=>{const t=jt(e);let n=!1;switch(t){case we.down:uc(e.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break;case we.up:uc(e.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break;case we.tab:uc(e.currentTarget,"mouseleave");break;case we.enter:case we.numpadEnter:case we.space:n=!0,e.currentTarget.click();break}n&&e.preventDefault()})}},tj=class{constructor(e,t){this.domNode=e,this.init(t)}init(e){const t=this.domNode.childNodes;Array.from(t).forEach(n=>{n.nodeType===1&&new ej(n,e)})}},nj=se({name:"ElMenuCollapseTransition",__name:"menu-collapse-transition",setup(e){const t=fe("menu"),n={onBeforeEnter:a=>a.style.opacity="0.2",onEnter(a,o){La(a,`${t.namespace.value}-opacity-transition`),a.style.opacity="1",o()},onAfterEnter(a){ta(a,`${t.namespace.value}-opacity-transition`),a.style.opacity=""},onBeforeLeave(a){a.dataset||(a.dataset={}),$o(a,t.m("collapse"))?(ta(a,t.m("collapse")),a.dataset.oldOverflow=a.style.overflow,a.dataset.scrollWidth=a.clientWidth.toString(),La(a,t.m("collapse"))):(La(a,t.m("collapse")),a.dataset.oldOverflow=a.style.overflow,a.dataset.scrollWidth=a.clientWidth.toString(),ta(a,t.m("collapse"))),a.style.width=`${a.scrollWidth}px`,a.style.overflow="hidden"},onLeave(a){La(a,"horizontal-collapse-transition"),a.style.width=`${a.dataset.scrollWidth}px`}};return(a,o)=>(x(),oe(Vn,dt({mode:"out-in"},n),{default:J(()=>[ee(a.$slots,"default")]),_:3},16))}}),aj=nj;const oj=Ce({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:G(Array),default:()=>rn([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:Kt,default:()=>y3},popperEffect:{type:G(String),default:"dark"},popperClass:String,popperStyle:{type:G([String,Object])},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},persistent:{type:Boolean,default:!0}}),op=e=>ye(e)&&e.every(t=>Le(t)),sj={close:(e,t)=>Le(e)&&op(t),open:(e,t)=>Le(e)&&op(t),select:(e,t,n,a)=>Le(e)&&op(t)&&ot(n)&&(Tt(a)||a instanceof Promise)},y0=64;var rj=se({name:"ElMenu",props:oj,emits:sj,setup(e,{emit:t,slots:n,expose:a}){const o=ft(),s=o.appContext.config.globalProperties.$router,r=M(),l=M(),u=fe("menu"),c=fe("sub-menu");let d=y0;const f=M(-1),v=M(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),g=M(e.defaultActive),p=M({}),h=M({}),m=w(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),b=()=>{const P=g.value&&p.value[g.value];!P||e.mode==="horizontal"||e.collapse||P.indexPath.forEach(I=>{const L=h.value[I];L&&k(I,L.indexPath)})},k=(P,I)=>{v.value.includes(P)||(e.uniqueOpened&&(v.value=v.value.filter(L=>I.includes(L))),v.value.push(P),t("open",P,I))},y=P=>{const I=v.value.indexOf(P);I!==-1&&v.value.splice(I,1)},S=(P,I)=>{y(P),t("close",P,I)},C=({index:P,indexPath:I})=>{v.value.includes(P)?S(P,I):k(P,I)},E=P=>{(e.mode==="horizontal"||e.collapse)&&(v.value=[]);const{index:I,indexPath:L}=P;if(!(bn(I)||bn(L)))if(e.router&&s){const D=P.route||I,F=s.push(D).then(q=>(q||(g.value=I),q));t("select",I,L,{index:I,indexPath:L,route:D},F)}else g.value=I,t("select",I,L,{index:I,indexPath:L})},$=P=>{const I=p.value;g.value=(I[P]||g.value&&I[g.value]||I[e.defaultActive])?.index??P},O=P=>{const I=getComputedStyle(P),L=Number.parseInt(I.marginLeft,10),D=Number.parseInt(I.marginRight,10);return P.offsetWidth+L+D||0},N=()=>{if(!r.value)return-1;const P=Array.from(r.value.childNodes).filter(X=>X.nodeName!=="#comment"&&(X.nodeName!=="#text"||X.nodeValue)),I=getComputedStyle(r.value),L=Number.parseInt(I.paddingLeft,10),D=Number.parseInt(I.paddingRight,10),F=r.value.clientWidth-L-D;let q=0,j=0;return P.forEach((X,Q)=>{q+=O(X),q<=F-d&&(j=Q+1)}),j===P.length?-1:j},R=P=>h.value[P].indexPath,A=(P,I=33.34)=>{let L;return()=>{L&&clearTimeout(L),L=setTimeout(()=>{P()},I)}};let _=!0;const V=()=>{const P=xn(l);if(P&&(d=O(P)||y0),f.value===N())return;const I=()=>{f.value=-1,Re(()=>{f.value=N()})};_?I():A(I)(),_=!1};le(()=>e.defaultActive,P=>{p.value[P]||(g.value=""),$(P)}),le(()=>e.collapse,P=>{P&&(v.value=[])}),le(p.value,b);let H;wa(()=>{e.mode==="horizontal"&&e.ellipsis?H=en(r,V).stop:H?.()});const U=M(!1);{const P=F=>{h.value[F.index]=F},I=F=>{delete h.value[F.index]};St(Rm,At({props:e,openedMenus:v,items:p,subMenus:h,activeIndex:g,isMenuPopup:m,addMenuItem:F=>{p.value[F.index]=F},removeMenuItem:F=>{delete p.value[F.index]},addSubMenu:P,removeSubMenu:I,openMenu:k,closeMenu:S,handleMenuItemClick:E,handleSubMenuClick:C})),St(`${cd}${o.uid}`,{addSubMenu:P,removeSubMenu:I,mouseInChild:U,level:0})}ht(()=>{e.mode==="horizontal"&&new tj(o.vnode.el,u.namespace.value)}),a({open:I=>{const{indexPath:L}=h.value[I];L.forEach(D=>k(D,L))},close:y,updateActiveIndex:$,handleResize:V});const W=z2(e,0);return()=>{let P=n.default?.()??[];const I=[];if(e.mode==="horizontal"&&r.value){const F=Ta(P).filter(X=>X?.shapeFlag!==8),q=f.value===-1?F:F.slice(0,f.value),j=f.value===-1?[]:F.slice(f.value);j?.length&&e.ellipsis&&(P=q,I.push(Ye(Nm,{ref:l,index:"sub-menu-more",class:c.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>Ye(De,{class:c.e("icon-more")},{default:()=>Ye(e.ellipsisIcon)}),default:()=>j})))}const L=e.closeOnClickOutside?[[zs,()=>{v.value.length&&(U.value||(v.value.forEach(F=>t("close",F,R(F))),v.value=[]))}]]:[],D=ut(Ye("ul",{key:String(e.collapse),role:"menubar",ref:r,style:W.value,class:{[u.b()]:!0,[u.m(e.mode)]:!0,[u.m("collapse")]:e.collapse}},[...P,...I]),L);return e.collapseTransition&&e.mode==="vertical"?Ye(aj,()=>D):D}}});const lj=Ce({index:{type:G([String,null]),default:null},route:{type:G([String,Object])},disabled:Boolean}),ij={click:e=>Le(e.index)&&ye(e.indexPath)},uj={title:String},Zu="ElMenuItem";var cj=se({name:Zu,__name:"menu-item",props:lj,emits:ij,setup(e,{expose:t,emit:n}){const a=e,o=n;va(a.index)&&pt(Zu,'Missing required prop: "index"');const s=ft(),r=_e(Rm),l=fe("menu"),u=fe("menu-item");r||nn(Zu,"can not inject root menu");const{parentMenu:c,indexPath:d}=V2(s,Vt(a,"index")),f=_e(`${cd}${c.value.uid}`);f||nn(Zu,"can not inject sub menu");const v=w(()=>a.index===r.activeIndex),g=At({index:a.index,indexPath:d,active:v}),p=()=>{a.disabled||(r.handleMenuItemClick({index:a.index,indexPath:d.value,route:a.route}),o("click",g))};return ht(()=>{f.addSubMenu(g),r.addMenuItem(g)}),Bt(()=>{f.removeSubMenu(g),r.removeMenuItem(g)}),t({parentMenu:c,rootMenu:r,active:v,nsMenu:l,nsMenuItem:u,handleClick:p}),(h,m)=>(x(),B("li",{class:T([i(u).b(),i(u).is("active",v.value),i(u).is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:p},[i(c).type.name==="ElMenu"&&i(r).props.collapse&&h.$slots.title?(x(),oe(i(Ln),{key:0,effect:i(r).props.popperEffect,placement:"right","fallback-placements":["left"],"popper-class":i(r).props.popperClass,"popper-style":i(r).props.popperStyle,persistent:i(r).props.persistent,"focus-on-target":""},{content:J(()=>[ee(h.$slots,"title")]),default:J(()=>[z("div",{class:T(i(l).be("tooltip","trigger"))},[ee(h.$slots,"default")],2)]),_:3},8,["effect","popper-class","popper-style","persistent"])):(x(),B(Fe,{key:1},[ee(h.$slots,"default"),ee(h.$slots,"title")],64))],2))}}),H2=cj,dj=se({name:"ElMenuItemGroup",__name:"menu-item-group",props:uj,setup(e){const t=fe("menu-item-group");return(n,a)=>(x(),B("li",{class:T(i(t).b())},[z("div",{class:T(i(t).e("title"))},[n.$slots.title?ee(n.$slots,"title",{key:1}):(x(),B(Fe,{key:0},[wt(Se(e.title),1)],64))],2),z("ul",null,[ee(n.$slots,"default")])],2))}}),K2=dj;const fj=rt(rj,{MenuItem:H2,MenuItemGroup:K2,SubMenu:Nm}),pj=an(H2),hj=an(K2),vj=an(Nm),mj=Ce({icon:{type:Kt,default:()=>K4},title:String,content:{type:String,default:""}}),gj={back:()=>!0},bj=["aria-label"];var yj=se({name:"ElPageHeader",__name:"page-header",props:mj,emits:gj,setup(e,{emit:t}){const n=t,{t:a}=Ct(),o=fe("page-header");function s(){n("back")}return(r,l)=>(x(),B("div",{class:T([i(o).b(),i(o).is("contentful",!!r.$slots.default),{[i(o).m("has-breadcrumb")]:!!r.$slots.breadcrumb,[i(o).m("has-extra")]:!!r.$slots.extra}])},[r.$slots.breadcrumb?(x(),B("div",{key:0,class:T(i(o).e("breadcrumb"))},[ee(r.$slots,"breadcrumb")],2)):te("v-if",!0),z("div",{class:T(i(o).e("header"))},[z("div",{class:T(i(o).e("left"))},[z("div",{class:T(i(o).e("back")),role:"button",tabindex:"0",onClick:s},[e.icon||r.$slots.icon?(x(),B("div",{key:0,"aria-label":e.title||i(a)("el.pageHeader.title"),class:T(i(o).e("icon"))},[ee(r.$slots,"icon",{},()=>[e.icon?(x(),oe(i(De),{key:0},{default:J(()=>[(x(),oe(it(e.icon)))]),_:1})):te("v-if",!0)])],10,bj)):te("v-if",!0),z("div",{class:T(i(o).e("title"))},[ee(r.$slots,"title",{},()=>[wt(Se(e.title||i(a)("el.pageHeader.title")),1)])],2)],2),Y(i(O2),{direction:"vertical"}),z("div",{class:T(i(o).e("content"))},[ee(r.$slots,"content",{},()=>[wt(Se(e.content),1)])],2)],2),r.$slots.extra?(x(),B("div",{key:0,class:T(i(o).e("extra"))},[ee(r.$slots,"extra")],2)):te("v-if",!0)],2),r.$slots.default?(x(),B("div",{key:1,class:T(i(o).e("main"))},[ee(r.$slots,"default")],2)):te("v-if",!0)],2))}}),wj=yj;const Sj=rt(wj),W2=Symbol("elPaginationKey"),Cj=Ce({disabled:Boolean,currentPage:{type:Number,default:1},prevText:{type:String},prevIcon:{type:Kt}}),kj={click:e=>e instanceof MouseEvent},Ej=["disabled","aria-label","aria-disabled"],xj={key:0};var Tj=se({name:"ElPaginationPrev",__name:"prev",props:Cj,emits:kj,setup(e){const t=e,{t:n}=Ct(),a=w(()=>t.disabled||t.currentPage<=1);return(o,s)=>(x(),B("button",{type:"button",class:"btn-prev",disabled:a.value,"aria-label":o.prevText||i(n)("el.pagination.prev"),"aria-disabled":a.value,onClick:s[0]||(s[0]=r=>o.$emit("click",r))},[o.prevText?(x(),B("span",xj,Se(o.prevText),1)):(x(),oe(i(De),{key:1},{default:J(()=>[(x(),oe(it(o.prevIcon)))]),_:1}))],8,Ej))}}),$j=Tj;const Oj=Ce({disabled:Boolean,currentPage:{type:Number,default:1},pageCount:{type:Number,default:50},nextText:{type:String},nextIcon:{type:Kt}}),Rj=["disabled","aria-label","aria-disabled"],Nj={key:0};var Ij=se({name:"ElPaginationNext",__name:"next",props:Oj,emits:["click"],setup(e){const t=e,{t:n}=Ct(),a=w(()=>t.disabled||t.currentPage===t.pageCount||t.pageCount===0);return(o,s)=>(x(),B("button",{type:"button",class:"btn-next",disabled:a.value,"aria-label":o.nextText||i(n)("el.pagination.next"),"aria-disabled":a.value,onClick:s[0]||(s[0]=r=>o.$emit("click",r))},[o.nextText?(x(),B("span",Nj,Se(o.nextText),1)):(x(),oe(i(De),{key:1},{default:J(()=>[(x(),oe(it(o.nextIcon)))]),_:1}))],8,Rj))}}),Pj=Ij;const Im=()=>_e(W2,{}),Mj=Ce({pageSize:{type:Number,required:!0},pageSizes:{type:G(Array),default:()=>rn([10,20,30,40,50,100])},popperClass:{type:String},popperStyle:{type:G([String,Object])},disabled:Boolean,teleported:Boolean,size:{type:String,values:lo},appendSizeTo:String});var _j=se({name:"ElPaginationSizes",__name:"sizes",props:Mj,emits:["page-size-change"],setup(e,{emit:t}){const n=e,a=t,{t:o}=Ct(),s=fe("pagination"),r=Im(),l=M(n.pageSize);le(()=>n.pageSizes,(d,f)=>{sn(d,f)||ye(d)&&a("page-size-change",d.includes(n.pageSize)?n.pageSize:n.pageSizes[0])}),le(()=>n.pageSize,d=>{l.value=d});const u=w(()=>n.pageSizes);function c(d){d!==l.value&&(l.value=d,r.handleSizeChange?.(Number(d)))}return(d,f)=>(x(),B("span",{class:T(i(s).e("sizes"))},[Y(i(Hs),{"model-value":l.value,disabled:d.disabled,"popper-class":d.popperClass,"popper-style":d.popperStyle,size:d.size,teleported:d.teleported,"validate-event":!1,"append-to":d.appendSizeTo,onChange:c},{default:J(()=>[(x(!0),B(Fe,null,gt(u.value,v=>(x(),oe(i(sd),{key:v,value:v,label:v+i(o)("el.pagination.pagesize")},null,8,["value","label"]))),128))]),_:1},8,["model-value","disabled","popper-class","popper-style","size","teleported","append-to"])],2))}}),Aj=_j;const Lj=Ce({size:{type:String,values:lo}}),Dj=["disabled"];var Bj=se({name:"ElPaginationJumper",__name:"jumper",props:Lj,setup(e){const{t}=Ct(),n=fe("pagination"),{pageCount:a,disabled:o,currentPage:s,changeEvent:r}=Im(),l=M(),u=w(()=>l.value??s?.value);function c(f){l.value=f?+f:""}function d(f){f=Math.trunc(+f),r?.(f),l.value=void 0}return(f,v)=>(x(),B("span",{class:T(i(n).e("jump")),disabled:i(o)},[z("span",{class:T([i(n).e("goto")])},Se(i(t)("el.pagination.goto")),3),Y(i(ea),{size:f.size,class:T([i(n).e("editor"),i(n).is("in-pagination")]),min:1,max:i(a),disabled:i(o),"model-value":u.value,"validate-event":!1,"aria-label":i(t)("el.pagination.page"),type:"number","onUpdate:modelValue":c,onChange:d},null,8,["size","class","max","disabled","model-value","aria-label"]),z("span",{class:T([i(n).e("classifier")])},Se(i(t)("el.pagination.pageClassifier")),3)],10,Dj))}}),Fj=Bj;const Vj=Ce({total:{type:Number,default:1e3}}),zj=["disabled"];var Hj=se({name:"ElPaginationTotal",__name:"total",props:Vj,setup(e){const{t}=Ct(),n=fe("pagination"),{disabled:a}=Im();return(o,s)=>(x(),B("span",{class:T(i(n).e("total")),disabled:i(a)},Se(i(t)("el.pagination.total",{total:o.total})),11,zj))}}),Kj=Hj;const Wj=Ce({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),jj=["aria-current","aria-label","tabindex"],Uj=["tabindex","aria-label"],qj=["aria-current","aria-label","tabindex"],Yj=["tabindex","aria-label"],Gj=["aria-current","aria-label","tabindex"];var Xj=se({name:"ElPaginationPager",__name:"pager",props:Wj,emits:[yt],setup(e,{emit:t}){const n=e,a=t,o=fe("pager"),s=fe("icon"),{t:r}=Ct(),l=M(!1),u=M(!1),c=M(!1),d=M(!1),f=M(!1),v=M(!1),g=w(()=>{const C=n.pagerCount,E=(C-1)/2,$=Number(n.currentPage),O=Number(n.pageCount);let N=!1,R=!1;O>C&&($>C-E&&(N=!0),$["more","btn-quickprev",s.b(),o.is("disabled",n.disabled)]),h=w(()=>["more","btn-quicknext",s.b(),o.is("disabled",n.disabled)]),m=w(()=>n.disabled?-1:0);le(()=>[n.pageCount,n.pagerCount,n.currentPage],([C,E,$])=>{const O=(E-1)/2;let N=!1,R=!1;C>E&&(N=$>E-O,R=$O&&($=O)),$!==N&&a(yt,$)}return(C,E)=>(x(),B("ul",{class:T(i(o).b()),onClick:S,onKeyup:on(y,["enter"])},[C.pageCount>0?(x(),B("li",{key:0,class:T([[i(o).is("active",C.currentPage===1),i(o).is("disabled",C.disabled)],"number"]),"aria-current":C.currentPage===1,"aria-label":i(r)("el.pagination.currentPage",{pager:1}),tabindex:m.value}," 1 ",10,jj)):te("v-if",!0),l.value?(x(),B("li",{key:1,class:T(p.value),tabindex:m.value,"aria-label":i(r)("el.pagination.prevPages",{pager:C.pagerCount-2}),onMouseenter:E[0]||(E[0]=$=>b(!0)),onMouseleave:E[1]||(E[1]=$=>c.value=!1),onFocus:E[2]||(E[2]=$=>k(!0)),onBlur:E[3]||(E[3]=$=>f.value=!1)},[(c.value||f.value)&&!C.disabled?(x(),oe(i(Bs),{key:0})):(x(),oe(i(ly),{key:1}))],42,Uj)):te("v-if",!0),(x(!0),B(Fe,null,gt(g.value,$=>(x(),B("li",{key:$,class:T([[i(o).is("active",C.currentPage===$),i(o).is("disabled",C.disabled)],"number"]),"aria-current":C.currentPage===$,"aria-label":i(r)("el.pagination.currentPage",{pager:$}),tabindex:m.value},Se($),11,qj))),128)),u.value?(x(),B("li",{key:2,class:T(h.value),tabindex:m.value,"aria-label":i(r)("el.pagination.nextPages",{pager:C.pagerCount-2}),onMouseenter:E[4]||(E[4]=$=>b()),onMouseleave:E[5]||(E[5]=$=>d.value=!1),onFocus:E[6]||(E[6]=$=>k()),onBlur:E[7]||(E[7]=$=>v.value=!1)},[(d.value||v.value)&&!C.disabled?(x(),oe(i(Fs),{key:0})):(x(),oe(i(ly),{key:1}))],42,Yj)):te("v-if",!0),C.pageCount>1?(x(),B("li",{key:3,class:T([[i(o).is("active",C.currentPage===C.pageCount),i(o).is("disabled",C.disabled)],"number"]),"aria-current":C.currentPage===C.pageCount,"aria-label":i(r)("el.pagination.currentPage",{pager:C.pageCount}),tabindex:m.value},Se(C.pageCount),11,Gj)):te("v-if",!0)],34))}}),Jj=Xj;const sa=e=>typeof e!="number",Zj=Ce({pageSize:Number,defaultPageSize:Number,total:Number,pageCount:Number,pagerCount:{type:Number,validator:e=>He(e)&&Math.trunc(e)===e&&e>4&&e<22&&e%2===1,default:7},currentPage:Number,defaultCurrentPage:Number,layout:{type:String,default:["prev","pager","next","jumper","->","total"].join(", ")},pageSizes:{type:G(Array),default:()=>rn([10,20,30,40,50,100])},popperClass:{type:String,default:""},popperStyle:{type:G([String,Object])},prevText:{type:String,default:""},prevIcon:{type:Kt,default:()=>is},nextText:{type:String,default:""},nextIcon:{type:Kt,default:()=>na},teleported:{type:Boolean,default:!0},small:Boolean,size:Tn,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean,appendSizeTo:String}),Qj={"update:current-page":e=>He(e),"update:page-size":e=>He(e),"size-change":e=>He(e),change:(e,t)=>He(e)&&He(t),"current-change":e=>He(e),"prev-click":e=>He(e),"next-click":e=>He(e)},w0="ElPagination";var e9=se({name:w0,props:Zj,emits:Qj,setup(e,{emit:t,slots:n}){const{t:a}=Ct(),o=fe("pagination"),s=ft().vnode.props||{},r=MC(),l=w(()=>e.small?"small":e.size??r.value);To({from:"small",replacement:"size",version:"3.0.0",scope:"el-pagination",ref:"https://element-plus.org/zh-CN/component/pagination.html"},w(()=>!!e.small));const u="onUpdate:currentPage"in s||"onUpdate:current-page"in s||"onCurrentChange"in s,c="onUpdate:pageSize"in s||"onUpdate:page-size"in s||"onSizeChange"in s,d=w(()=>{if(sa(e.total)&&sa(e.pageCount)||!sa(e.currentPage)&&!u)return!1;if(e.layout.includes("sizes")){if(sa(e.pageCount)){if(!sa(e.total)&&!sa(e.pageSize)&&!c)return!1}else if(!c)return!1}return!0}),f=M(sa(e.defaultPageSize)?10:e.defaultPageSize),v=M(sa(e.defaultCurrentPage)?1:e.defaultCurrentPage),g=w({get(){return sa(e.pageSize)?f.value:e.pageSize},set(C){sa(e.pageSize)&&(f.value=C),c&&(t("update:page-size",C),t("size-change",C))}}),p=w(()=>{let C=0;return sa(e.pageCount)?sa(e.total)||(C=Math.max(1,Math.ceil(e.total/g.value))):C=e.pageCount,C}),h=w({get(){return sa(e.currentPage)?v.value:e.currentPage},set(C){let E=C;C<1?E=1:C>p.value&&(E=p.value),sa(e.currentPage)&&(v.value=E),u&&(t("update:current-page",E),t("current-change",E))}});le(p,C=>{h.value>C&&(h.value=C)}),le([h,g],C=>{t(yt,...C)},{flush:"post"});function m(C){h.value=C}function b(C){g.value=C;const E=p.value;h.value>E&&(h.value=E)}function k(){e.disabled||(h.value-=1,t("prev-click",h.value))}function y(){e.disabled||(h.value+=1,t("next-click",h.value))}function S(C,E){C&&(C.props||(C.props={}),C.props.class=[C.props.class,E].join(" "))}return St(W2,{pageCount:p,disabled:w(()=>e.disabled),currentPage:h,changeEvent:m,handleSizeChange:b}),()=>{if(!d.value)return pt(w0,a("el.pagination.deprecationWarning")),null;if(!e.layout||e.hideOnSinglePage&&p.value<=1)return null;const C=[],E=[],$=Ye("div",{class:o.e("rightwrapper")},E),O={prev:Ye($j,{disabled:e.disabled,currentPage:h.value,prevText:e.prevText,prevIcon:e.prevIcon,onClick:k}),jumper:Ye(Fj,{size:l.value}),pager:Ye(Jj,{currentPage:h.value,pageCount:p.value,pagerCount:e.pagerCount,onChange:m,disabled:e.disabled}),next:Ye(Pj,{disabled:e.disabled,currentPage:h.value,pageCount:p.value,nextText:e.nextText,nextIcon:e.nextIcon,onClick:y}),sizes:Ye(Aj,{pageSize:g.value,pageSizes:e.pageSizes,popperClass:e.popperClass,popperStyle:e.popperStyle,disabled:e.disabled,teleported:e.teleported,size:l.value,appendSizeTo:e.appendSizeTo}),slot:n?.default?.()??null,total:Ye(Kj,{total:sa(e.total)?0:e.total})},N=e.layout.split(",").map(A=>A.trim());let R=!1;return N.forEach(A=>{if(A==="->"){R=!0;return}R?E.push(O[A]):C.push(O[A])}),S(C[0],o.is("first")),S(C[C.length-1],o.is("last")),R&&E.length>0&&(S(E[0],o.is("first")),S(E[E.length-1],o.is("last")),C.push($)),Ye("div",{class:[o.b(),o.is("background",e.background),o.m(l.value)]},C)}}});const t9=rt(e9),n9=Ce({title:String,confirmButtonText:String,cancelButtonText:String,confirmButtonType:{type:String,values:Jp,default:"primary"},cancelButtonType:{type:String,values:Jp,default:"text"},icon:{type:Kt,default:()=>E3},iconColor:{type:String,default:"#f90"},hideIcon:Boolean,hideAfter:{type:Number,default:200},effect:{...zt.effect,default:"light"},teleported:zt.teleported,persistent:zt.persistent,width:{type:[String,Number],default:150},virtualTriggering:No.virtualTriggering,virtualRef:No.virtualRef}),a9={confirm:e=>e instanceof MouseEvent,cancel:e=>e instanceof MouseEvent};var o9=se({name:"ElPopconfirm",__name:"popconfirm",props:n9,emits:a9,setup(e,{expose:t,emit:n}){const a=e,o=n,{t:s}=Ct(),r=fe("popconfirm"),l=M(),u=M(),c=w(()=>i(l)?.popperRef),d=()=>{u.value?.focus?.()},f=()=>{l.value?.onClose?.()},v=w(()=>({width:ln(a.width)})),g=b=>{o("confirm",b),f()},p=b=>{o("cancel",b),f()},h=w(()=>a.confirmButtonText||s("el.popconfirm.confirmButtonText")),m=w(()=>a.cancelButtonText||s("el.popconfirm.cancelButtonText"));return t({popperRef:c,hide:f}),(b,k)=>(x(),oe(i(Ln),dt({ref_key:"tooltipRef",ref:l,trigger:"click",effect:e.effect},b.$attrs,{"virtual-triggering":e.virtualTriggering,"virtual-ref":e.virtualRef,"popper-class":`${i(r).namespace.value}-popover`,"popper-style":v.value,teleported:e.teleported,"fallback-placements":["bottom","top","right","left"],"hide-after":e.hideAfter,persistent:e.persistent,loop:"",onShow:d}),{content:J(()=>[z("div",{ref_key:"rootRef",ref:u,tabindex:"-1",class:T(i(r).b())},[z("div",{class:T(i(r).e("main"))},[!e.hideIcon&&e.icon?(x(),oe(i(De),{key:0,class:T(i(r).e("icon")),style:Ke({color:e.iconColor})},{default:J(()=>[(x(),oe(it(e.icon)))]),_:1},8,["class","style"])):te("v-if",!0),wt(" "+Se(e.title),1)],2),z("div",{class:T(i(r).e("action"))},[ee(b.$slots,"actions",{confirm:g,cancel:p},()=>[Y(i(In),{size:"small",type:e.cancelButtonType==="text"?"":e.cancelButtonType,text:e.cancelButtonType==="text",onClick:p},{default:J(()=>[wt(Se(m.value),1)]),_:1},8,["type","text"]),Y(i(In),{size:"small",type:e.confirmButtonType==="text"?"":e.confirmButtonType,text:e.confirmButtonType==="text",onClick:g},{default:J(()=>[wt(Se(h.value),1)]),_:1},8,["type","text"])])],2)],2)]),default:J(()=>[b.$slots.reference?ee(b.$slots,"reference",{key:0}):te("v-if",!0)]),_:3},16,["effect","virtual-triggering","virtual-ref","popper-class","popper-style","teleported","hide-after","persistent"]))}}),s9=o9;const r9=rt(s9),l9=Ce({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:Boolean,duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:G(String),default:"round"},textInside:Boolean,width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:G([String,Array,Function]),default:""},striped:Boolean,stripedFlow:Boolean,format:{type:G(Function),default:e=>`${e}%`}}),i9=["aria-valuenow"],u9={viewBox:"0 0 100 100"},c9=["d","stroke","stroke-linecap","stroke-width"],d9=["d","stroke","opacity","stroke-linecap","stroke-width"],f9={key:0};var p9=se({name:"ElProgress",__name:"progress",props:l9,setup(e){const t={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},n=e,a=fe("progress"),o=w(()=>{const y={width:`${n.percentage}%`,animationDuration:`${n.duration}s`},S=k(n.percentage);return S.includes("gradient")?y.background=S:y.backgroundColor=S,y}),s=w(()=>(n.strokeWidth/n.width*100).toFixed(1)),r=w(()=>["circle","dashboard"].includes(n.type)?Number.parseInt(`${50-Number.parseFloat(s.value)/2}`,10):0),l=w(()=>{const y=r.value,S=n.type==="dashboard";return` + M 50 50 + m 0 ${S?"":"-"}${y} + a ${y} ${y} 0 1 1 0 ${S?"-":""}${y*2} + a ${y} ${y} 0 1 1 0 ${S?"":"-"}${y*2} + `}),u=w(()=>2*Math.PI*r.value),c=w(()=>n.type==="dashboard"?.75:1),d=w(()=>`${-1*u.value*(1-c.value)/2}px`),f=w(()=>({strokeDasharray:`${u.value*c.value}px, ${u.value}px`,strokeDashoffset:d.value})),v=w(()=>({strokeDasharray:`${u.value*c.value*(n.percentage/100)}px, ${u.value}px`,strokeDashoffset:d.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),g=w(()=>{let y;return n.color?y=k(n.percentage):y=t[n.status]||t.default,y}),p=w(()=>n.status==="warning"?tf:n.type==="line"?n.status==="success"?tm:Vo:n.status==="success"?vu:Ha),h=w(()=>n.type==="line"?12+n.strokeWidth*.4:n.width*.111111+2),m=w(()=>n.format(n.percentage));function b(y){const S=100/y.length;return y.map((C,E)=>Le(C)?{color:C,percentage:(E+1)*S}:C).sort((C,E)=>C.percentage-E.percentage)}const k=y=>{const{color:S}=n;if(Ve(S))return S(y);if(Le(S))return S;{const C=b(S);for(const E of C)if(E.percentage>y)return E.color;return C[C.length-1]?.color}};return(y,S)=>(x(),B("div",{class:T([i(a).b(),i(a).m(e.type),i(a).is(e.status),{[i(a).m("without-text")]:!e.showText,[i(a).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[e.type==="line"?(x(),B("div",{key:0,class:T(i(a).b("bar"))},[z("div",{class:T(i(a).be("bar","outer")),style:Ke({height:`${e.strokeWidth}px`})},[z("div",{class:T([i(a).be("bar","inner"),{[i(a).bem("bar","inner","indeterminate")]:e.indeterminate},{[i(a).bem("bar","inner","striped")]:e.striped},{[i(a).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:Ke(o.value)},[(e.showText||y.$slots.default)&&e.textInside?(x(),B("div",{key:0,class:T(i(a).be("bar","innerText"))},[ee(y.$slots,"default",{percentage:e.percentage},()=>[z("span",null,Se(m.value),1)])],2)):te("v-if",!0)],6)],6)],2)):(x(),B("div",{key:1,class:T(i(a).b("circle")),style:Ke({height:`${e.width}px`,width:`${e.width}px`})},[(x(),B("svg",u9,[z("path",{class:T(i(a).be("circle","track")),d:l.value,stroke:`var(${i(a).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":s.value,fill:"none",style:Ke(f.value)},null,14,c9),z("path",{class:T(i(a).be("circle","path")),d:l.value,stroke:g.value,fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":s.value,style:Ke(v.value)},null,14,d9)]))],6)),(e.showText||y.$slots.default)&&!e.textInside?(x(),B("div",{key:2,class:T(i(a).e("text")),style:Ke({fontSize:`${h.value}px`})},[ee(y.$slots,"default",{percentage:e.percentage},()=>[e.status?(x(),oe(i(De),{key:1},{default:J(()=>[(x(),oe(it(p.value)))]),_:1})):(x(),B("span",f9,Se(m.value),1))])],6)):te("v-if",!0)],10,i9))}}),h9=p9;const j2=rt(h9),v9=Ce({modelValue:{type:Number,default:0},id:{type:String,default:void 0},lowThreshold:{type:Number,default:2},highThreshold:{type:Number,default:4},max:{type:Number,default:5},colors:{type:G([Array,Object]),default:()=>rn(["","",""])},voidColor:{type:String,default:""},disabledVoidColor:{type:String,default:""},icons:{type:G([Array,Object]),default:()=>[Vu,Vu,Vu]},voidIcon:{type:Kt,default:()=>F3},disabledVoidIcon:{type:Kt,default:()=>Vu},disabled:{type:Boolean,default:void 0},allowHalf:Boolean,showText:Boolean,showScore:Boolean,textColor:{type:String,default:""},texts:{type:G(Array),default:()=>rn(["Extremely bad","Disappointed","Fair","Satisfied","Surprise"])},scoreTemplate:{type:String,default:"{value}"},size:Tn,clearable:Boolean,...aa(["ariaLabel"])}),m9={[yt]:e=>He(e),[at]:e=>He(e)},g9=["id","aria-label","aria-labelledby","aria-valuenow","aria-valuetext","aria-valuemax","tabindex","aria-disabled"],b9=["onMousemove","onClick"];var y9=se({name:"ElRate",__name:"rate",props:v9,emits:m9,setup(e,{expose:t,emit:n}){function a(I,L){const D=q=>ot(q),F=L[Object.keys(L).map(q=>+q).filter(q=>{const j=L[q];return D(j)&&j.excluded?Iq-j)[0]];return D(F)&&F.value||F}const o=e,s=n,r=_e(Lo,void 0),l=Cn(),u=fe("rate"),{inputId:c,isLabeledByFormItem:d}=Ia(o,{formItemContext:r}),f=M(ar(o.modelValue,0,o.max)),v=M(-1),g=M(!0),p=M([]),h=w(()=>p.value.map(I=>I.$el.clientWidth)),m=w(()=>[u.b(),u.m(l.value)]),b=un(),k=w(()=>u.cssVarBlock({"void-color":o.voidColor,"disabled-void-color":o.disabledVoidColor,"fill-color":E.value})),y=w(()=>{let I="";return o.showScore?I=o.scoreTemplate.replace(/\{\s*value\s*\}/,b.value?`${o.modelValue}`:`${f.value}`):o.showText&&(I=o.texts[Math.ceil(f.value)-1]),I}),S=w(()=>o.modelValue*100-Math.floor(o.modelValue)*100),C=w(()=>ye(o.colors)?{[o.lowThreshold]:o.colors[0],[o.highThreshold]:{value:o.colors[1],excluded:!0},[o.max]:o.colors[2]}:o.colors),E=w(()=>{const I=a(f.value,C.value);return ot(I)?"":I}),$=w(()=>{let I="";return b.value?I=`${S.value}%`:o.allowHalf&&(I="50%"),{color:E.value,width:I}}),O=w(()=>{let I=ye(o.icons)?[...o.icons]:{...o.icons};return I=xo(I),ye(I)?{[o.lowThreshold]:I[0],[o.highThreshold]:{value:I[1],excluded:!0},[o.max]:I[2]}:I}),N=w(()=>a(o.modelValue,O.value)),R=w(()=>b.value?Le(o.disabledVoidIcon)?o.disabledVoidIcon:xo(o.disabledVoidIcon):Le(o.voidIcon)?o.voidIcon:xo(o.voidIcon)),A=w(()=>a(f.value,O.value));function _(I){const L=b.value&&S.value>0&&I-1o.modelValue,D=o.allowHalf&&g.value&&I-.5<=f.value&&I>f.value;return L||D}function V(I){o.clearable&&I===o.modelValue&&(I=0),s(at,I),o.modelValue!==I&&s(yt,I)}function H(I){b.value||(o.allowHalf&&g.value?V(f.value):V(I))}function U(I){if(b.value)return;const L=jt(I),D=o.allowHalf?.5:1;let F=f.value;switch(L){case we.up:case we.right:F+=D;break;case we.left:case we.down:F-=D;break}if(F=ar(F,0,o.max),F!==f.value)return I.stopPropagation(),I.preventDefault(),s(at,F),s(yt,F),F}function W(I,L){b.value||(o.allowHalf&&L?(g.value=L.offsetX*2<=h.value[I-1],f.value=g.value?I-.5:I):f.value=I,v.value=I)}function P(){b.value||(o.allowHalf&&(g.value=o.modelValue!==Math.floor(o.modelValue)),f.value=ar(o.modelValue,0,o.max),v.value=-1)}return le(()=>o.modelValue,I=>{f.value=ar(I,0,o.max),g.value=o.modelValue!==Math.floor(o.modelValue)}),o.modelValue||s(at,0),t({setCurrentValue:W,resetCurrentValue:P}),(I,L)=>(x(),B("div",{id:i(c),class:T([m.value,i(u).is("disabled",i(b))]),role:"slider","aria-label":i(d)?void 0:e.ariaLabel||"rating","aria-labelledby":i(d)?i(r)?.labelId:void 0,"aria-valuenow":f.value,"aria-valuetext":y.value||void 0,"aria-valuemin":"0","aria-valuemax":e.max,style:Ke(k.value),tabindex:i(b)?void 0:0,"aria-disabled":i(b),onKeydown:U},[(x(!0),B(Fe,null,gt(e.max,(D,F)=>(x(),B("span",{key:F,class:T(i(u).e("item")),onMousemove:q=>W(D,q),onMouseleave:P,onClick:q=>H(D)},[Y(i(De),{ref_for:!0,ref_key:"iconRefs",ref:p,class:T([i(u).e("icon"),{hover:v.value===D},i(u).is("active",D<=f.value),i(u).is("focus-visible",D===Math.ceil(f.value||1))])},{default:J(()=>[ut((x(),oe(it(A.value),null,null,512)),[[Pt,!_(D)&&D<=f.value]]),ut((x(),oe(it(R.value),null,null,512)),[[Pt,!_(D)&&D>f.value]]),ut((x(),oe(it(R.value),{class:T([i(u).em("decimal","box")])},null,8,["class"])),[[Pt,_(D)]]),ut(Y(i(De),{style:Ke($.value),class:T([i(u).e("icon"),i(u).e("decimal")])},{default:J(()=>[(x(),oe(it(N.value)))]),_:1},8,["style","class"]),[[Pt,_(D)]])]),_:2},1032,["class"])],42,b9))),128)),e.showText||e.showScore?(x(),B("span",{key:0,class:T(i(u).e("text")),style:Ke({color:e.textColor})},Se(y.value),7)):te("v-if",!0)],46,g9))}}),w9=y9;const S9=rt(w9),tr={primary:"icon-primary",success:"icon-success",warning:"icon-warning",error:"icon-error",info:"icon-info"},S0={[tr.primary]:Mi,[tr.success]:J4,[tr.warning]:tf,[tr.error]:nm,[tr.info]:Mi},C9=Ce({title:{type:String,default:""},subTitle:{type:String,default:""},icon:{type:String,values:["primary","success","warning","info","error"],default:"info"}});var k9=se({name:"ElResult",__name:"result",props:C9,setup(e){const t=e,n=fe("result"),a=w(()=>{const o=t.icon,s=o&&tr[o]?tr[o]:"icon-info";return{class:s,component:S0[s]||S0["icon-info"]}});return(o,s)=>(x(),B("div",{class:T(i(n).b())},[z("div",{class:T(i(n).e("icon"))},[ee(o.$slots,"icon",{},()=>[a.value.component?(x(),oe(it(a.value.component),{key:0,class:T(a.value.class)},null,8,["class"])):te("v-if",!0)])],2),e.title||o.$slots.title?(x(),B("div",{key:0,class:T(i(n).e("title"))},[ee(o.$slots,"title",{},()=>[z("p",null,Se(e.title),1)])],2)):te("v-if",!0),e.subTitle||o.$slots["sub-title"]?(x(),B("div",{key:1,class:T(i(n).e("subtitle"))},[ee(o.$slots,"sub-title",{},()=>[z("p",null,Se(e.subTitle),1)])],2)):te("v-if",!0),o.$slots.extra?(x(),B("div",{key:2,class:T(i(n).e("extra"))},[ee(o.$slots,"extra")],2)):te("v-if",!0)],2))}}),E9=k9;const x9=rt(E9),gh=50,dd="itemRendered",fd="scroll",Yr="forward",pd="backward",Da="auto",cf="smart",Vi="start",ko="center",zi="end",kl="horizontal",U2="vertical",T9="ltr",al="rtl",Hi="negative",Pm="positive-ascending",Mm="positive-descending",$9={[kl]:"left",[U2]:"top"},O9=20,bh=uo({type:G([Number,Function]),required:!0}),yh=uo({type:Number}),wh=uo({type:Number,default:2}),R9=uo({type:String,values:["ltr","rtl"],default:"ltr"}),Sh=uo({type:Number,default:0}),hd=uo({type:Number,required:!0}),q2=uo({type:String,values:["horizontal","vertical"],default:U2}),Y2=Ce({className:{type:String,default:""},containerElement:{type:G([String,Object]),default:"div"},data:{type:G(Array),default:()=>rn([])},direction:R9,height:{type:[String,Number],required:!0},innerElement:{type:[String,Object],default:"div"},innerProps:{type:G(Object),default:()=>({})},style:{type:G([Object,String,Array])},useIsScrolling:Boolean,width:{type:[Number,String],required:!1},perfMode:{type:Boolean,default:!0},scrollbarAlwaysOn:Boolean}),G2=Ce({cache:wh,estimatedItemSize:yh,layout:q2,initScrollOffset:Sh,total:hd,itemSize:bh,...Y2}),Ch={type:Number,default:6},X2={type:Number,default:0},J2={type:Number,default:2},hr=Ce({columnCache:wh,columnWidth:bh,estimatedColumnWidth:yh,estimatedRowHeight:yh,initScrollLeft:Sh,initScrollTop:Sh,itemKey:{type:G(Function),default:({columnIndex:e,rowIndex:t})=>`${t}:${e}`},rowCache:wh,rowHeight:bh,totalColumn:hd,totalRow:hd,hScrollbarSize:Ch,vScrollbarSize:Ch,scrollbarStartGap:X2,scrollbarEndGap:J2,role:String,...Y2}),Z2=Ce({alwaysOn:Boolean,class:String,layout:q2,total:hd,ratio:{type:Number,required:!0},clientSize:{type:Number,required:!0},scrollFrom:{type:Number,required:!0},scrollbarSize:Ch,startGap:X2,endGap:J2,visible:Boolean}),lr=(e,t)=>ee===T9||e===al||e===kl,C0=e=>e===al;let Hr=null;function vd(e=!1){if(Hr===null||e){const t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",n.direction="rtl";const a=document.createElement("div"),o=a.style;return o.width="100px",o.height="100px",t.appendChild(a),document.body.appendChild(t),t.scrollLeft>0?Hr=Mm:(t.scrollLeft=1,t.scrollLeft===0?Hr=Hi:Hr=Pm),document.body.removeChild(t),Hr}return Hr}function N9({move:e,size:t,bar:n},a){const o={},s=`translate${n.axis}(${e}px)`;return o[n.size]=t,o.transform=s,a==="horizontal"?o.height="100%":o.width="100%",o}var k0=Number.isNaN||function(t){return typeof t=="number"&&t!==t};function I9(e,t){return!!(e===t||k0(e)&&k0(t))}function P9(e,t){if(e.length!==t.length)return!1;for(var n=0;n{const e=ft().proxy.$props;return w(()=>{const t=(n,a,o)=>({});return e.perfMode?Vd(t):M9(t)})},eE=({atEndEdge:e,atStartEdge:t,layout:n},a)=>{let o,s=0;const r=u=>u<0&&t.value||u>0&&e.value;return{hasReachedEdge:r,onWheel:u=>{rs(o);let{deltaX:c,deltaY:d}=u;u.shiftKey&&d!==0&&(c=d,d=0);const f=n.value===kl?c:d;r(f)||(s+=f,!Ud()&&f!==0&&u.preventDefault(),o=eo(()=>{a(s),s=0}))}}},kh=se({name:"ElVirtualScrollBar",props:Z2,emits:["scroll","start-move","stop-move"],setup(e,{emit:t}){const n=w(()=>e.startGap+e.endGap),a=fe("virtual-scrollbar"),o=fe("scrollbar"),s=M(),r=M();let l=null,u=null;const c=At({isDragging:!1,traveled:0}),d=w(()=>ak[e.layout]),f=w(()=>e.clientSize-i(n)),v=w(()=>({position:"absolute",width:`${kl===e.layout?f.value:e.scrollbarSize}px`,height:`${kl===e.layout?e.scrollbarSize:f.value}px`,[$9[e.layout]]:"2px",right:"2px",bottom:"2px",borderRadius:"4px"})),g=w(()=>{const E=e.ratio;if(E>=100)return Number.POSITIVE_INFINITY;if(E>=50)return E*f.value/100;const $=f.value/3;return Math.floor(Math.min(Math.max(E*f.value/100,O9),$))}),p=w(()=>{if(!Number.isFinite(g.value))return{display:"none"};const E=`${g.value}px`;return N9({bar:d.value,size:E,move:c.traveled},e.layout)}),h=w(()=>Math.ceil(e.clientSize-g.value-i(n))),m=()=>{window.addEventListener("mousemove",S),window.addEventListener("mouseup",y);const E=i(r);E&&(u=document.onselectstart,document.onselectstart=()=>!1,E.addEventListener("touchmove",S,{passive:!0}),E.addEventListener("touchend",y))},b=()=>{window.removeEventListener("mousemove",S),window.removeEventListener("mouseup",y),document.onselectstart=u,u=null;const E=i(r);E&&(E.removeEventListener("touchmove",S),E.removeEventListener("touchend",y))},k=E=>{E.stopImmediatePropagation(),!(E.ctrlKey||[1,2].includes(E.button))&&(c.isDragging=!0,c[d.value.axis]=E.currentTarget[d.value.offset]-(E[d.value.client]-E.currentTarget.getBoundingClientRect()[d.value.direction]),t("start-move"),m())},y=()=>{c.isDragging=!1,c[d.value.axis]=0,t("stop-move"),b()},S=E=>{const{isDragging:$}=c;if(!$||!r.value||!s.value)return;const O=c[d.value.axis];if(!O)return;rs(l);const N=(s.value.getBoundingClientRect()[d.value.direction]-E[d.value.client])*-1-(r.value[d.value.offset]-O);l=eo(()=>{c.traveled=Math.max(0,Math.min(N,h.value)),t("scroll",N,h.value)})},C=E=>{const $=Math.abs(E.target.getBoundingClientRect()[d.value.direction]-E[d.value.client])-r.value[d.value.offset]/2;c.traveled=Math.max(0,Math.min($,h.value)),t("scroll",$,h.value)};return le(()=>e.scrollFrom,E=>{c.isDragging||(c.traveled=Math.ceil(E*h.value))}),Bt(()=>{b()}),()=>Ye("div",{role:"presentation",ref:s,class:[a.b(),e.class,(e.alwaysOn||c.isDragging)&&"always-on"],style:v.value,onMousedown:Xe(C,["stop","prevent"]),onTouchstartPrevent:k},Ye("div",{ref:r,class:o.e("thumb"),style:p.value,onMousedown:k},[]))}}),tE=({name:e,getOffset:t,getItemSize:n,getItemOffset:a,getEstimatedTotalSize:o,getStartIndexForOffset:s,getStopIndexForStartIndex:r,initCache:l,clearCache:u,validateProps:c})=>se({name:e??"ElVirtualList",props:G2,emits:[dd,fd],setup(d,{emit:f,expose:v}){c(d);const g=ft(),p=fe("vl"),h=M(l(d,g)),m=Q2(),b=M(),k=M(),y=M(),S=M({isScrolling:!1,scrollDir:"forward",scrollOffset:He(d.initScrollOffset)?d.initScrollOffset:0,updateRequested:!1,isScrollbarDragging:!1,scrollbarAlwaysOn:d.scrollbarAlwaysOn}),C=w(()=>{const{total:j,cache:X}=d,{isScrolling:Q,scrollDir:he,scrollOffset:ue}=i(S);if(j===0)return[0,0,0,0];const ge=s(d,ue,i(h)),ie=r(d,ge,ue,i(h)),ae=!Q||he===pd?Math.max(1,X):1,ne=!Q||he===Yr?Math.max(1,X):1;return[Math.max(0,ge-ae),Math.max(0,Math.min(j-1,ie+ne)),ge,ie]}),E=w(()=>o(d,i(h))),$=w(()=>Ki(d.layout)),O=w(()=>[{position:"relative",[`overflow-${$.value?"x":"y"}`]:"scroll",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:d.direction,height:He(d.height)?`${d.height}px`:d.height,width:He(d.width)?`${d.width}px`:d.width},d.style]),N=w(()=>{const j=i(E),X=i($);return{height:X?"100%":`${j}px`,pointerEvents:i(S).isScrolling?"none":void 0,width:X?`${j}px`:"100%",margin:0,boxSizing:"border-box"}}),R=w(()=>$.value?d.width:d.height),{onWheel:A}=eE({atStartEdge:w(()=>S.value.scrollOffset<=0),atEndEdge:w(()=>S.value.scrollOffset>=E.value),layout:w(()=>d.layout)},j=>{y.value.onMouseUp?.(),P(Math.min(S.value.scrollOffset+j,E.value-R.value))});Ft(b,"wheel",A,{passive:!1});const _=()=>{const{total:j}=d;if(j>0){const[ue,ge,ie,ae]=i(C);f(dd,ue,ge,ie,ae)}const{scrollDir:X,scrollOffset:Q,updateRequested:he}=i(S);f(fd,X,Q,he)},V=j=>{const{clientHeight:X,scrollHeight:Q,scrollTop:he}=j.currentTarget,ue=i(S);if(ue.scrollOffset===he)return;const ge=Math.max(0,Math.min(he,Q-X));S.value={...ue,isScrolling:!0,scrollDir:lr(ue.scrollOffset,ge),scrollOffset:ge,updateRequested:!1},Re(D)},H=j=>{const{clientWidth:X,scrollLeft:Q,scrollWidth:he}=j.currentTarget,ue=i(S);if(ue.scrollOffset===Q)return;const{direction:ge}=d;let ie=Q;if(ge===al)switch(vd()){case Hi:ie=-Q;break;case Mm:ie=he-X-Q;break}ie=Math.max(0,Math.min(ie,he-X)),S.value={...ue,isScrolling:!0,scrollDir:lr(ue.scrollOffset,ie),scrollOffset:ie,updateRequested:!1},Re(D)},U=j=>{i($)?H(j):V(j),_()},W=(j,X)=>{const Q=(E.value-R.value)/X*j;P(Math.min(E.value-R.value,Q))},P=j=>{j=Math.max(j,0),j!==i(S).scrollOffset&&(S.value={...i(S),scrollOffset:j,scrollDir:lr(i(S).scrollOffset,j),updateRequested:!0},Re(D))},I=(j,X=Da)=>{const{scrollOffset:Q}=i(S);j=Math.max(0,Math.min(j,d.total-1)),P(t(d,j,X,Q,i(h)))},L=j=>{const{direction:X,itemSize:Q,layout:he}=d,ue=m.value(u&&Q,u&&he,u&&X);let ge;if(Nt(ue,String(j)))ge=ue[j];else{const ie=a(d,j,i(h)),ae=n(d,j,i(h)),ne=i($),K=X===al,Z=ne?ie:0;ue[j]=ge={position:"absolute",left:K?void 0:`${Z}px`,right:K?`${Z}px`:void 0,top:ne?0:`${ie}px`,height:ne?"100%":`${ae}px`,width:ne?`${ae}px`:"100%"}}return ge},D=()=>{S.value.isScrolling=!1,Re(()=>{m.value(-1,null,null)})},F=()=>{const j=b.value;j&&(j.scrollTop=0)};ht(()=>{if(!Mt)return;const{initScrollOffset:j}=d,X=i(b);He(j)&&X&&(i($)?X.scrollLeft=j:X.scrollTop=j),_()}),ro(()=>{const{direction:j,layout:X}=d,{scrollOffset:Q,updateRequested:he}=i(S),ue=i(b);if(he&&ue)if(X===kl)if(j===al)switch(vd()){case Hi:ue.scrollLeft=-Q;break;case Pm:ue.scrollLeft=Q;break;default:{const{clientWidth:ge,scrollWidth:ie}=ue;ue.scrollLeft=ie-ge-Q;break}}else ue.scrollLeft=Q;else ue.scrollTop=Q}),Gi(()=>{i(b).scrollTop=i(S).scrollOffset});const q={ns:p,clientSize:R,estimatedTotalSize:E,windowStyle:O,windowRef:b,innerRef:k,innerStyle:N,itemsToRender:C,scrollbarRef:y,states:S,getItemStyle:L,onScroll:U,onScrollbarScroll:W,onWheel:A,scrollTo:P,scrollToItem:I,resetScrollTop:F};return v({windowRef:b,innerRef:k,getItemStyleCache:m,scrollTo:P,scrollToItem:I,resetScrollTop:F,states:S}),q},render(d){const{$slots:f,className:v,clientSize:g,containerElement:p,data:h,getItemStyle:m,innerElement:b,itemsToRender:k,innerStyle:y,layout:S,total:C,onScroll:E,onScrollbarScroll:$,states:O,useIsScrolling:N,windowStyle:R,ns:A}=d,[_,V]=k,H=it(p),U=it(b),W=[];if(C>0)for(let D=_;D<=V;D++)W.push(Ye(Fe,{key:D},f.default?.({data:h,index:D,isScrolling:N?O.isScrolling:void 0,style:m(D)})));const P=[Ye(U,dt(d.innerProps,{style:y,ref:"innerRef"}),Le(U)?W:{default:()=>W})],I=Ye(kh,{ref:"scrollbarRef",clientSize:g,layout:S,onScroll:$,ratio:g*100/this.estimatedTotalSize,scrollFrom:O.scrollOffset/(this.estimatedTotalSize-g),total:C,alwaysOn:O.scrollbarAlwaysOn}),L=Ye(H,{class:[A.e("window"),v],style:R,onScroll:E,ref:"windowRef",key:0},Le(H)?[P]:{default:()=>[P]});return Ye("div",{key:0,class:[A.e("wrapper"),O.scrollbarAlwaysOn?"always-on":""]},[L,I])}}),nE=tE({name:"ElFixedSizeList",getItemOffset:({itemSize:e},t)=>t*e,getItemSize:({itemSize:e})=>e,getEstimatedTotalSize:({total:e,itemSize:t})=>t*e,getOffset:({height:e,total:t,itemSize:n,layout:a,width:o},s,r,l)=>{const u=Ki(a)?o:e;Le(u)&&nn("[ElVirtualList]",` + You should set + width/height + to number when your layout is + horizontal/vertical + `);const c=Math.max(0,t*n-u),d=Math.min(c,s*n),f=Math.max(0,(s+1)*n-u);switch(r===cf&&(l>=f-u&&l<=d+u?r=Da:r=ko),r){case Vi:return d;case zi:return f;case ko:{const v=Math.round(f+(d-f)/2);return vc+Math.floor(u/2)?c:v}case Da:default:return l>=f&&l<=d?l:lMath.max(0,Math.min(e-1,Math.floor(n/t))),getStopIndexForStartIndex:({height:e,total:t,itemSize:n,layout:a,width:o},s,r)=>{const l=s*n,u=Ki(a)?o:e,c=Math.ceil((u+r-l)/n);return Math.max(0,Math.min(t-1,s+c-1))},initCache(){},clearCache:!0,validateProps(){}}),_9="ElDynamicSizeList",Gr=(e,t,n)=>{const{itemSize:a}=e,{items:o,lastVisitedIndex:s}=n;if(t>s){let r=0;if(s>=0){const l=o[s];r=l.offset+l.size}for(let l=s+1;l<=t;l++){const u=a(l);o[l]={offset:r,size:u},r+=u}n.lastVisitedIndex=t}return o[t]},A9=(e,t,n)=>{const{items:a,lastVisitedIndex:o}=t;return(o>0?a[o].offset:0)>=n?aE(e,t,0,o,n):L9(e,t,Math.max(0,o),n)},aE=(e,t,n,a,o)=>{for(;n<=a;){const s=n+Math.floor((a-n)/2),r=Gr(e,s,t).offset;if(r===o)return s;ro&&(a=s-1)}return Math.max(0,n-1)},L9=(e,t,n,a)=>{const{total:o}=e;let s=1;for(;n{let o=0;if(a>=e&&(a=e-1),a>=0){const r=t[a];o=r.offset+r.size}const s=(e-a-1)*n;return o+s},D9=tE({name:"ElDynamicSizeList",getItemOffset:(e,t,n)=>Gr(e,t,n).offset,getItemSize:(e,t,{items:n})=>n[t].size,getEstimatedTotalSize:E0,getOffset:(e,t,n,a,o)=>{const{height:s,layout:r,width:l}=e,u=Ki(r)?l:s,c=Gr(e,t,o),d=E0(e,o),f=Math.max(0,Math.min(d-u,c.offset)),v=Math.max(0,c.offset-u+c.size);switch(n===cf&&(a>=v-u&&a<=f+u?n=Da:n=ko),n){case Vi:return f;case zi:return v;case ko:return Math.round(v+(f-v)/2);case Da:default:return a>=v&&a<=f?a:aA9(e,n,t),getStopIndexForStartIndex:(e,t,n,a)=>{const{height:o,total:s,layout:r,width:l}=e,u=Ki(r)?l:o,c=Gr(e,t,a),d=n+u;let f=c.offset+c.size,v=t;for(;v{n.lastVisitedIndex=Math.min(n.lastVisitedIndex,a-1),t.exposed?.getItemStyleCache(-1),o&&t.proxy?.$forceUpdate()},n},clearCache:!1,validateProps:({itemSize:e})=>{typeof e!="function"&&nn(_9,` + itemSize is required as function, but the given value was ${typeof e} + `)}}),B9=({atXEndEdge:e,atXStartEdge:t,atYEndEdge:n,atYStartEdge:a},o)=>{let s=null,r=0,l=0;const u=(d,f)=>{const v=d<0&&t.value||d>0&&e.value,g=f<0&&a.value||f>0&&n.value;return v||g};return{hasReachedEdge:u,onWheel:d=>{rs(s);let f=d.deltaX,v=d.deltaY;if(Math.abs(f)>Math.abs(v)?v=0:f=0,d.shiftKey&&v!==0&&(f=v,v=0),u(f,v)){d.deltaX!==0&&f===0&&d.preventDefault();return}r+=f,l+=v,d.preventDefault(),s=eo(()=>{o(r,l),r=0,l=0})}}},F9=(e,t,n,a,o,s,r)=>{const l=M(0),u=M(0);let c,d=0,f=0;const v=p=>{rs(c),l.value=p.touches[0].clientX,u.value=p.touches[0].clientY,d=0,f=0},g=p=>{p.preventDefault(),rs(c),d+=l.value-p.touches[0].clientX,f+=u.value-p.touches[0].clientY,l.value=p.touches[0].clientX,u.value=p.touches[0].clientY,c=eo(()=>{const h=a.value-i(s),m=o.value-i(r);n({scrollLeft:Math.min(t.value.scrollLeft+d,h),scrollTop:Math.min(t.value.scrollTop+f,m)}),d=0,f=0})};return Ft(e,"touchstart",v,{passive:!0}),Ft(e,"touchmove",g,{passive:!1}),{touchStartX:l,touchStartY:u,handleTouchStart:v,handleTouchMove:g}},oE=({name:e,clearCache:t,getColumnPosition:n,getColumnStartIndexForOffset:a,getColumnStopIndexForStartIndex:o,getEstimatedTotalHeight:s,getEstimatedTotalWidth:r,getColumnOffset:l,getRowOffset:u,getRowPosition:c,getRowStartIndexForOffset:d,getRowStopIndexForStartIndex:f,initCache:v,injectToInstance:g,validateProps:p})=>se({name:e??"ElVirtualList",props:hr,emits:[dd,fd],setup(h,{emit:m,expose:b,slots:k}){const y=fe("vl");p(h);const S=ft(),C=M(v(h,S));g?.(S,C);const E=M(),$=M(),O=M(),N=M(),R=M({isScrolling:!1,scrollLeft:He(h.initScrollLeft)?h.initScrollLeft:0,scrollTop:He(h.initScrollTop)?h.initScrollTop:0,updateRequested:!1,xAxisScrollDir:Yr,yAxisScrollDir:Yr}),A=Q2(),_=w(()=>Number.parseInt(`${h.height}`,10)),V=w(()=>Number.parseInt(`${h.width}`,10)),H=w(()=>{const{totalColumn:pe,totalRow:Ee,columnCache:me}=h,{isScrolling:Me,xAxisScrollDir:We,scrollLeft:Ze}=i(R);if(pe===0||Ee===0)return[0,0,0,0];const Pe=a(h,Ze,i(C)),Ae=o(h,Pe,Ze,i(C)),je=!Me||We===pd?Math.max(1,me):1,Rt=!Me||We===Yr?Math.max(1,me):1;return[Math.max(0,Pe-je),Math.max(0,Math.min(pe-1,Ae+Rt)),Pe,Ae]}),U=w(()=>{const{totalColumn:pe,totalRow:Ee,rowCache:me}=h,{isScrolling:Me,yAxisScrollDir:We,scrollTop:Ze}=i(R);if(pe===0||Ee===0)return[0,0,0,0];const Pe=d(h,Ze,i(C)),Ae=f(h,Pe,Ze,i(C)),je=!Me||We===pd?Math.max(1,me):1,Rt=!Me||We===Yr?Math.max(1,me):1;return[Math.max(0,Pe-je),Math.max(0,Math.min(Ee-1,Ae+Rt)),Pe,Ae]}),W=w(()=>s(h,i(C))),P=w(()=>r(h,i(C))),I=w(()=>[{position:"relative",overflow:"hidden",WebkitOverflowScrolling:"touch",willChange:"transform"},{direction:h.direction,height:He(h.height)?`${h.height}px`:h.height,width:He(h.width)?`${h.width}px`:h.width},h.style??{}]),L=w(()=>{const pe=`${i(P)}px`;return{height:`${i(W)}px`,pointerEvents:i(R).isScrolling?"none":void 0,width:pe,margin:0,boxSizing:"border-box"}}),D=()=>{const{totalColumn:pe,totalRow:Ee}=h;if(pe>0&&Ee>0){const[Ae,je,Rt,Ue]=i(H),[lt,mt,kt,be]=i(U);m(dd,{columnCacheStart:Ae,columnCacheEnd:je,rowCacheStart:lt,rowCacheEnd:mt,columnVisibleStart:Rt,columnVisibleEnd:Ue,rowVisibleStart:kt,rowVisibleEnd:be})}const{scrollLeft:me,scrollTop:Me,updateRequested:We,xAxisScrollDir:Ze,yAxisScrollDir:Pe}=i(R);m(fd,{xAxisScrollDir:Ze,scrollLeft:me,yAxisScrollDir:Pe,scrollTop:Me,updateRequested:We})},F=pe=>{const{clientHeight:Ee,clientWidth:me,scrollHeight:Me,scrollLeft:We,scrollTop:Ze,scrollWidth:Pe}=pe.currentTarget,Ae=i(R);if(Ae.scrollTop===Ze&&Ae.scrollLeft===We)return;let je=We;if(C0(h.direction))switch(vd()){case Hi:je=-We;break;case Mm:je=Pe-me-We;break}R.value={...Ae,isScrolling:!0,scrollLeft:je,scrollTop:Math.max(0,Math.min(Ze,Me-Ee)),updateRequested:!0,xAxisScrollDir:lr(Ae.scrollLeft,je),yAxisScrollDir:lr(Ae.scrollTop,Ze)},Re(()=>K()),Z(),D()},q=(pe,Ee)=>{const me=i(_),Me=(W.value-me)/Ee*pe;Q({scrollTop:Math.min(W.value-me,Me)})},j=(pe,Ee)=>{const me=i(V),Me=(P.value-me)/Ee*pe;Q({scrollLeft:Math.min(P.value-me,Me)})},{onWheel:X}=B9({atXStartEdge:w(()=>R.value.scrollLeft<=0),atXEndEdge:w(()=>R.value.scrollLeft>=P.value-i(V)),atYStartEdge:w(()=>R.value.scrollTop<=0),atYEndEdge:w(()=>R.value.scrollTop>=W.value-i(_))},(pe,Ee)=>{$.value?.onMouseUp?.(),O.value?.onMouseUp?.();const me=i(V),Me=i(_);Q({scrollLeft:Math.min(R.value.scrollLeft+pe,P.value-me),scrollTop:Math.min(R.value.scrollTop+Ee,W.value-Me)})});Ft(E,"wheel",X,{passive:!1});const Q=({scrollLeft:pe=R.value.scrollLeft,scrollTop:Ee=R.value.scrollTop})=>{pe=Math.max(pe,0),Ee=Math.max(Ee,0);const me=i(R);Ee===me.scrollTop&&pe===me.scrollLeft||(R.value={...me,xAxisScrollDir:lr(me.scrollLeft,pe),yAxisScrollDir:lr(me.scrollTop,Ee),scrollLeft:pe,scrollTop:Ee,updateRequested:!0},Re(()=>K()),Z(),D())},{touchStartX:he,touchStartY:ue,handleTouchStart:ge,handleTouchMove:ie}=F9(E,R,Q,P,W,V,_),ae=(pe=0,Ee=0,me=Da)=>{const Me=i(R);Ee=Math.max(0,Math.min(Ee,h.totalColumn-1)),pe=Math.max(0,Math.min(pe,h.totalRow-1));const We=tC(y.namespace.value),Ze=i(C),Pe=s(h,Ze),Ae=r(h,Ze);Q({scrollLeft:l(h,Ee,me,Me.scrollLeft,Ze,Ae>h.width?We:0),scrollTop:u(h,pe,me,Me.scrollTop,Ze,Pe>h.height?We:0)})},ne=(pe,Ee)=>{const{columnWidth:me,direction:Me,rowHeight:We}=h,Ze=A.value(t&&me,t&&We,t&&Me),Pe=`${pe},${Ee}`;if(Nt(Ze,Pe))return Ze[Pe];{const[,Ae]=n(h,Ee,i(C)),je=i(C),Rt=C0(Me),[Ue,lt]=c(h,pe,je),[mt]=n(h,Ee,je);return Ze[Pe]={position:"absolute",left:Rt?void 0:`${Ae}px`,right:Rt?`${Ae}px`:void 0,top:`${lt}px`,height:`${Ue}px`,width:`${mt}px`},Ze[Pe]}},K=()=>{R.value.isScrolling=!1,Re(()=>{A.value(-1,null,null)})};ht(()=>{if(!Mt)return;const{initScrollLeft:pe,initScrollTop:Ee}=h,me=i(E);me&&(He(pe)&&(me.scrollLeft=pe),He(Ee)&&(me.scrollTop=Ee)),D()});const Z=()=>{const{direction:pe}=h,{scrollLeft:Ee,scrollTop:me,updateRequested:Me}=i(R),We=i(E);if(Me&&We){if(pe===al)switch(vd()){case Hi:We.scrollLeft=-Ee;break;case Pm:We.scrollLeft=Ee;break;default:{const{clientWidth:Ze,scrollWidth:Pe}=We;We.scrollLeft=Pe-Ze-Ee;break}}else We.scrollLeft=Math.max(0,Ee);We.scrollTop=Math.max(0,me)}},{resetAfterColumnIndex:re,resetAfterRowIndex:ce,resetAfter:ve}=S.proxy;b({windowRef:E,innerRef:N,getItemStyleCache:A,touchStartX:he,touchStartY:ue,handleTouchStart:ge,handleTouchMove:ie,scrollTo:Q,scrollToItem:ae,states:R,resetAfterColumnIndex:re,resetAfterRowIndex:ce,resetAfter:ve});const ke=()=>{const{scrollbarAlwaysOn:pe,scrollbarStartGap:Ee,scrollbarEndGap:me,totalColumn:Me,totalRow:We}=h,Ze=i(V),Pe=i(_),Ae=i(P),je=i(W),{scrollLeft:Rt,scrollTop:Ue}=i(R);return{horizontalScrollbar:Ye(kh,{ref:$,alwaysOn:pe,startGap:Ee,endGap:me,class:y.e("horizontal"),clientSize:Ze,layout:"horizontal",onScroll:j,ratio:Ze*100/Ae,scrollFrom:Rt/(Ae-Ze),total:We,visible:!0}),verticalScrollbar:Ye(kh,{ref:O,alwaysOn:pe,startGap:Ee,endGap:me,class:y.e("vertical"),clientSize:Pe,layout:"vertical",onScroll:q,ratio:Pe*100/je,scrollFrom:Ue/(je-Pe),total:Me,visible:!0})}},Ne=()=>{const[pe,Ee]=i(H),[me,Me]=i(U),{data:We,totalColumn:Ze,totalRow:Pe,useIsScrolling:Ae,itemKey:je}=h,Rt=[];if(Pe>0&&Ze>0)for(let Ue=me;Ue<=Me;Ue++)for(let lt=pe;lt<=Ee;lt++){const mt=je({columnIndex:lt,data:We,rowIndex:Ue});Rt.push(Ye(Fe,{key:mt},k.default?.({columnIndex:lt,data:We,isScrolling:Ae?i(R).isScrolling:void 0,style:ne(Ue,lt),rowIndex:Ue})))}return Rt},Ie=()=>{const pe=it(h.innerElement),Ee=Ne();return[Ye(pe,dt(h.innerProps,{style:i(L),ref:N}),Le(pe)?Ee:{default:()=>Ee})]};return()=>{const pe=it(h.containerElement),{horizontalScrollbar:Ee,verticalScrollbar:me}=ke(),Me=Ie();return Ye("div",{key:0,class:y.e("wrapper"),role:h.role},[Ye(pe,{class:h.className,style:i(I),onScroll:F,ref:E},Le(pe)?Me:{default:()=>Me}),Ee,me])}}}),x0="ElFixedSizeGrid",V9=oE({name:"ElFixedSizeGrid",getColumnPosition:({columnWidth:e},t)=>[e,t*e],getRowPosition:({rowHeight:e},t)=>[e,t*e],getEstimatedTotalHeight:({totalRow:e,rowHeight:t})=>t*e,getEstimatedTotalWidth:({totalColumn:e,columnWidth:t})=>t*e,getColumnOffset:({totalColumn:e,columnWidth:t,width:n},a,o,s,r,l)=>{n=Number(n);const u=Math.max(0,e*t-n),c=Math.min(u,a*t),d=Math.max(0,a*t-n+l+t);switch(o==="smart"&&(s>=d-n&&s<=c+n?o=Da:o=ko),o){case Vi:return c;case zi:return d;case ko:{const f=Math.round(d+(c-d)/2);return fu+Math.floor(n/2)?u:f}case Da:default:return s>=d&&s<=c?s:d>c||s{t=Number(t);const u=Math.max(0,n*e-t),c=Math.min(u,a*e),d=Math.max(0,a*e-t+l+e);switch(o===cf&&(s>=d-t&&s<=c+t?o=Da:o=ko),o){case Vi:return c;case zi:return d;case ko:{const f=Math.round(d+(c-d)/2);return fu+Math.floor(t/2)?u:f}case Da:default:return s>=d&&s<=c?s:d>c||sMath.max(0,Math.min(t-1,Math.floor(n/e))),getColumnStopIndexForStartIndex:({columnWidth:e,totalColumn:t,width:n},a,o)=>{const s=a*e,r=Math.ceil((n+o-s)/e);return Math.max(0,Math.min(t-1,a+r-1))},getRowStartIndexForOffset:({rowHeight:e,totalRow:t},n)=>Math.max(0,Math.min(t-1,Math.floor(n/e))),getRowStopIndexForStartIndex:({rowHeight:e,totalRow:t,height:n},a,o)=>{const s=a*e,r=Math.ceil((n+o-s)/e);return Math.max(0,Math.min(t-1,a+r-1))},initCache:()=>{},clearCache:!0,validateProps:({columnWidth:e,rowHeight:t})=>{He(e)||nn(x0,` + "columnWidth" must be passed as number, + instead ${typeof e} was given. + `),He(t)||nn(x0,` + "columnWidth" must be passed as number, + instead ${typeof t} was given. + `)}}),{max:md,min:sE,floor:rE}=Math,T0="ElDynamicSizeGrid",z9={column:"columnWidth",row:"rowHeight"},Eh={column:"lastVisitedColumnIndex",row:"lastVisitedRowIndex"},jo=(e,t,n,a)=>{const[o,s,r]=[n[a],e[z9[a]],n[Eh[a]]];if(t>r){let l=0;if(r>=0){const u=o[r];l=u.offset+u.size}for(let u=r+1;u<=t;u++){const c=s(u);o[u]={offset:l,size:c},l+=c}n[Eh[a]]=t}return o[t]},lE=(e,t,n,a,o,s)=>{for(;n<=a;){const r=n+rE((a-n)/2),l=jo(e,r,t,s).offset;if(l===o)return r;l{const s=o==="column"?e.totalColumn:e.totalRow;let r=1;for(;n{const[o,s]=[t[a],t[Eh[a]]];return(s>0?o[s].offset:0)>=n?lE(e,t,0,s,n,a):H9(e,t,md(0,s),n,a)},iE=({totalRow:e},{estimatedRowHeight:t,lastVisitedRowIndex:n,row:a})=>{let o=0;if(n>=e&&(n=e-1),n>=0){const r=a[n];o=r.offset+r.size}const s=(e-n-1)*t;return o+s},uE=({totalColumn:e},{column:t,estimatedColumnWidth:n,lastVisitedColumnIndex:a})=>{let o=0;if(a>e&&(a=e-1),a>=0){const r=t[a];o=r.offset+r.size}const s=(e-a-1)*n;return o+s},K9={column:uE,row:iE},O0=(e,t,n,a,o,s,r)=>{const[l,u]=[s==="row"?e.height:e.width,K9[s]],c=jo(e,t,o,s),d=md(0,sE(u(e,o)-l,c.offset)),f=md(0,c.offset-l+r+c.size);switch(n===cf&&(a>=f-l&&a<=d+l?n=Da:n=ko),n){case Vi:return d;case zi:return f;case ko:return Math.round(f+(d-f)/2);case Da:default:return a>=f&&a<=d?a:f>d||a{const a=jo(e,t,n,"column");return[a.size,a.offset]},getRowPosition:(e,t,n)=>{const a=jo(e,t,n,"row");return[a.size,a.offset]},getColumnOffset:(e,t,n,a,o,s)=>O0(e,t,n,a,o,"column",s),getRowOffset:(e,t,n,a,o,s)=>O0(e,t,n,a,o,"row",s),getColumnStartIndexForOffset:(e,t,n)=>$0(e,n,t,"column"),getColumnStopIndexForStartIndex:(e,t,n,a)=>{const o=jo(e,t,a,"column"),s=n+e.width;let r=o.offset+o.size,l=t;for(;l$0(e,n,t,"row"),getRowStopIndexForStartIndex:(e,t,n,a)=>{const{totalRow:o,height:s}=e,r=jo(e,t,a,"row"),l=n+s;let u=r.size+r.offset,c=t;for(;c{const n=({columnIndex:s,rowIndex:r},l)=>{l=Tt(l)?!0:l,He(s)&&(t.value.lastVisitedColumnIndex=Math.min(t.value.lastVisitedColumnIndex,s-1)),He(r)&&(t.value.lastVisitedRowIndex=Math.min(t.value.lastVisitedRowIndex,r-1)),e.exposed?.getItemStyleCache.value(-1,null,null),l&&e.proxy?.$forceUpdate()},a=(s,r)=>{n({columnIndex:s},r)},o=(s,r)=>{n({rowIndex:s},r)};Object.assign(e.proxy,{resetAfterColumnIndex:a,resetAfterRowIndex:o,resetAfter:n})},initCache:({estimatedColumnWidth:e=gh,estimatedRowHeight:t=gh})=>({column:{},estimatedColumnWidth:e,estimatedRowHeight:t,lastVisitedColumnIndex:-1,lastVisitedRowIndex:-1,row:{}}),clearCache:!1,validateProps:({columnWidth:e,rowHeight:t})=>{Ve(e)||nn(T0,` + "columnWidth" must be passed as function, + instead ${typeof e} was given. + `),Ve(t)||nn(T0,` + "rowHeight" must be passed as function, + instead ${typeof t} was given. + `)}}),_m=Symbol("ElSelectV2Injection"),j9=Ce({allowCreate:Boolean,autocomplete:{type:G(String),default:"none"},automaticDropdown:Boolean,clearable:Boolean,clearIcon:{type:Kt,default:Vo},effect:{type:G(String),default:"light"},collapseTags:Boolean,collapseTagsTooltip:Boolean,tagTooltip:{type:G(Object),default:()=>({})},maxCollapseTags:{type:Number,default:1},defaultFirstOption:Boolean,disabled:{type:Boolean,default:void 0},estimatedOptionHeight:{type:Number,default:void 0},filterable:Boolean,filterMethod:{type:G(Function)},height:{type:Number,default:274},itemHeight:{type:Number,default:34},id:String,loading:Boolean,loadingText:String,modelValue:{type:G([Array,String,Number,Boolean,Object]),default:void 0},multiple:Boolean,multipleLimit:{type:Number,default:0},name:String,noDataText:String,noMatchText:String,remoteMethod:{type:G(Function)},reserveKeyword:{type:Boolean,default:!0},options:{type:G(Array),required:!0},placeholder:{type:String},teleported:zt.teleported,persistent:{type:Boolean,default:!0},popperClass:zt.popperClass,popperStyle:zt.popperStyle,popperOptions:{type:G(Object),default:()=>({})},remote:Boolean,debounce:{type:Number,default:300},size:Tn,props:{type:G(Object),default:()=>od},valueKey:{type:String,default:"value"},scrollbarAlwaysOn:Boolean,validateEvent:{type:Boolean,default:!0},offset:{type:Number,default:12},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},placement:{type:G(String),values:Do,default:"bottom-start"},fallbackPlacements:{type:G(Array),default:["bottom-start","top-start","right","left"]},tagType:{...us.type,default:"info"},tagEffect:{...us.effect,default:"light"},tabindex:{type:[String,Number],default:0},appendTo:zt.appendTo,fitInputWidth:{type:[Boolean,Number],default:!0,validator(e){return Ht(e)||He(e)}},suffixIcon:{type:Kt,default:Fo},...Pr,...aa(["ariaLabel"])}),U9=Ce({data:Array,disabled:Boolean,hovering:Boolean,item:{type:G(Object),required:!0},index:Number,style:Object,selected:Boolean,created:Boolean}),q9={[at]:e=>!0,[yt]:e=>!0,"remove-tag":e=>!0,"visible-change":e=>!0,focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0},Y9={hover:e=>He(e),select:(e,t)=>!0};var G9=se({props:{item:{type:Object,required:!0},style:{type:Object},height:Number},setup(){return{ns:fe("select")}}});function X9(e,t,n,a,o,s){return x(),B("div",{class:T(e.ns.be("group","title")),style:Ke({...e.style,lineHeight:`${e.height}px`})},Se(e.item.label),7)}var J9=$n(G9,[["render",X9]]);function Z9(e,{emit:t}){return{hoverItem:()=>{e.disabled||t("hover",e.index)},selectOptionClick:()=>{e.disabled||t("select",e.item,e.index)}}}var Q9=se({props:U9,emits:Y9,setup(e,{emit:t}){const n=_e(_m),a=fe("select"),{hoverItem:o,selectOptionClick:s}=Z9(e,{emit:t}),{getLabel:r}=yu(n.props);return{ns:a,contentId:n.contentId,hoverItem:o,selectOptionClick:s,getLabel:r}}});const e7=["id","aria-selected","aria-disabled"];function t7(e,t,n,a,o,s){return x(),B("li",{id:`${e.contentId}-${e.index}`,role:"option","aria-selected":e.selected,"aria-disabled":e.disabled||void 0,style:Ke(e.style),class:T([e.ns.be("dropdown","item"),e.ns.is("selected",e.selected),e.ns.is("disabled",e.disabled),e.ns.is("created",e.created),e.ns.is("hovering",e.hovering)]),onMousemove:t[0]||(t[0]=(...r)=>e.hoverItem&&e.hoverItem(...r)),onClick:t[1]||(t[1]=Xe((...r)=>e.selectOptionClick&&e.selectOptionClick(...r),["stop"]))},[ee(e.$slots,"default",{item:e.item,index:e.index,disabled:e.disabled},()=>[z("span",null,Se(e.getLabel(e.item)),1)])],46,e7)}var n7=$n(Q9,[["render",t7]]);const a7={loading:Boolean,data:{type:Array,required:!0},hoveringIndex:Number,width:Number,id:String,ariaLabel:String};var o7=se({name:"ElSelectDropdown",props:a7,setup(e,{slots:t,expose:n}){const a=_e(_m),o=fe("select"),{getLabel:s,getValue:r,getDisabled:l}=yu(a.props),u=M([]),c=M(),d=w(()=>e.data.length);le(()=>d.value,()=>{a.tooltipRef.value?.updatePopper?.()});const f=w(()=>Tt(a.props.estimatedOptionHeight)),v=w(()=>f.value?{itemSize:a.props.itemHeight}:{estimatedSize:a.props.estimatedOptionHeight,itemSize:R=>u.value[R]}),g=(R=[],A)=>{const{props:{valueKey:_}}=a;return ot(A)?R&&R.some(V=>qt(wn(V,_))===wn(A,_)):R.includes(A)},p=(R,A)=>{if(ot(A)){const{valueKey:_}=a.props;return wn(R,_)===wn(A,_)}else return R===A},h=(R,A)=>a.props.multiple?g(R,r(A)):p(R,r(A)),m=(R,A)=>{const{disabled:_,multiple:V,multipleLimit:H}=a.props;return _||!A&&(V?H>0&&R.length>=H:!1)},b=R=>e.hoveringIndex===R;n({listRef:c,isSized:f,isItemDisabled:m,isItemHovering:b,isItemSelected:h,scrollToItem:R=>{const A=c.value;A&&A.scrollToItem(R)},resetScrollTop:()=>{const R=c.value;R&&R.resetScrollTop()}});const S=R=>{const{index:A,data:_,style:V}=R,H=i(f),{itemSize:U,estimatedSize:W}=i(v),{modelValue:P}=a.props,{onSelect:I,onHover:L}=a,D=_[A];if(D.type==="Group")return Y(J9,{item:D,style:V,height:H?U:W},null);const F=h(P,D),q=m(P,F),j=b(A);return Y(n7,dt(R,{selected:F,disabled:l(D)||q,created:!!D.created,hovering:j,item:D,onSelect:I,onHover:L}),{default:X=>t.default?.(X)||Y("span",null,[s(D)])})},{onKeyboardNavigate:C,onKeyboardSelect:E}=a,$=()=>{C("forward")},O=()=>{C("backward")},N=R=>{const A=jt(R),{tab:_,esc:V,down:H,up:U,enter:W,numpadEnter:P}=we;switch([V,H,U,W,P].includes(A)&&(R.preventDefault(),R.stopPropagation()),A){case _:case V:break;case H:$();break;case U:O();break;case W:case P:E();break}};return()=>{const{data:R,width:A}=e,{height:_,multiple:V,scrollbarAlwaysOn:H}=a.props,U=w(()=>Xc?!0:H),W=i(f)?nE:D9;return Y("div",{class:[o.b("dropdown"),o.is("multiple",V)],style:{width:`${A}px`}},[t.header?.(),t.loading?.()||t.empty?.()||Y(W,dt({ref:c},i(v),{className:o.be("dropdown","list"),scrollbarAlwaysOn:U.value,data:R,height:_,width:A,total:R.length,innerElement:"ul",innerProps:{id:e.id,role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical"},onKeydown:N}),{default:P=>Y(S,P,null)}),t.footer?.()])}}});function s7(e,t){const{aliasProps:n,getLabel:a,getValue:o}=yu(e),s=M(0),r=M(),l=w(()=>e.allowCreate&&e.filterable);le(()=>e.options,g=>{const p=new Set(g.map(h=>a(h)));t.createdOptions=t.createdOptions.filter(h=>!p.has(a(h)))});function u(g){const p=h=>a(h)===g;return e.options&&e.options.some(p)||t.createdOptions.some(p)}function c(g){l.value&&(e.multiple&&g.created?s.value++:r.value=g)}function d(g){if(l.value)if(g&&g.length>0){if(u(g)){t.createdOptions=t.createdOptions.filter(h=>a(h)!==t.previousQuery);return}const p={[n.value.value]:g,[n.value.label]:g,created:!0,[n.value.disabled]:!1};t.createdOptions.length>=s.value?t.createdOptions[s.value]=p:t.createdOptions.push(p)}else if(e.multiple)t.createdOptions.length=s.value;else{const p=r.value;t.createdOptions.length=0,p&&p.created&&t.createdOptions.push(p)}}function f(g){if(!l.value||!g||!g.created||g.created&&e.reserveKeyword&&t.inputValue===a(g))return;const p=t.createdOptions.findIndex(h=>o(h)===o(g));~p&&(t.createdOptions.splice(p,1),s.value--)}function v(){l.value&&(t.createdOptions.length=0,s.value=0)}return{createNewOption:d,removeNewOption:f,selectNewOption:c,clearAllNewOption:v}}const r7=(e,t)=>{const{t:n}=Ct(),a=vn(),o=fe("select"),s=fe("input"),{form:r,formItem:l}=Dn(),{inputId:u}=Ia(e,{formItemContext:l}),{aliasProps:c,getLabel:d,getValue:f,getDisabled:v,getOptions:g}=yu(e),{valueOnClear:p,isEmptyValue:h}=hu(e),m=At({inputValue:"",cachedOptions:[],createdOptions:[],hoveringIndex:-1,inputHovering:!1,selectionWidth:0,collapseItemWidth:0,previousQuery:null,previousValue:void 0,selectedLabel:"",menuVisibleOnFocus:!1,isBeforeHide:!1}),b=M(-1),k=M(!1),y=M(),S=M(),C=M(),E=M(),$=M(),O=M(),N=M(),R=M(),A=M(),_=M(),{isComposing:V,handleCompositionStart:H,handleCompositionEnd:U,handleCompositionUpdate:W}=pu({afterComposition:Oe=>Yt(Oe)}),P=un(),{wrapperRef:I,isFocused:L,handleBlur:D}=ms($,{disabled:P,afterFocus(){e.automaticDropdown&&!X.value&&(X.value=!0,m.menuVisibleOnFocus=!0)},beforeBlur(Oe){return C.value?.isFocusInsideContent(Oe)||E.value?.isFocusInsideContent(Oe)},afterBlur(){X.value=!1,m.menuVisibleOnFocus=!1,e.validateEvent&&l?.validate?.("blur").catch(Oe=>pt(Oe))}}),F=w(()=>Ne("")),q=w(()=>e.loading?!1:e.options.length>0||m.createdOptions.length>0),j=M([]),X=M(!1),Q=w(()=>r?.statusIcon??!1),he=w(()=>{const Oe=j.value.length*e.itemHeight;return Oe>e.height?e.height:Oe}),ue=w(()=>e.multiple?ye(e.modelValue)&&e.modelValue.length>0:!h(e.modelValue)),ge=w(()=>e.clearable&&!P.value&&ue.value&&(L.value||m.inputHovering)),ie=w(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),ae=w(()=>ie.value&&o.is("reverse",X.value)),ne=w(()=>l?.validateState||""),K=w(()=>{if(ne.value)return nf[ne.value]}),Z=w(()=>e.remote?e.debounce:0),re=w(()=>e.remote&&!m.inputValue&&!q.value),ce=w(()=>e.loading?e.loadingText||n("el.select.loading"):e.filterable&&m.inputValue&&q.value&&j.value.length===0?e.noMatchText||n("el.select.noMatch"):q.value?null:e.noDataText||n("el.select.noData")),ve=w(()=>e.filterable&&Ve(e.filterMethod)),ke=w(()=>e.filterable&&e.remote&&Ve(e.remoteMethod)),Ne=Oe=>{const Ot=new RegExp(Lv(Oe),"i"),Et=xt=>ve.value||ke.value?!0:Oe?Ot.test(d(xt)||""):!0;return e.loading?[]:[...m.createdOptions,...e.options].reduce((xt,Bn)=>{const Sa=g(Bn);if(ye(Sa)){const Iu=Sa.filter(Et);Iu.length>0&&xt.push({label:d(Bn),type:"Group"},...Iu)}else(e.remote||Et(Bn))&&xt.push(Bn);return xt},[])},Ie=()=>{j.value=Ne(m.inputValue)},$e=w(()=>{const Oe=new Map;return F.value.forEach((Ot,Et)=>{Oe.set(tt(f(Ot)),{option:Ot,index:Et})}),Oe}),pe=w(()=>{const Oe=new Map;return j.value.forEach((Ot,Et)=>{Oe.set(tt(f(Ot)),{option:Ot,index:Et})}),Oe}),Ee=w(()=>j.value.every(Oe=>v(Oe))),me=Cn(),Me=w(()=>me.value==="small"?"small":"default"),We=()=>{if(He(e.fitInputWidth)){b.value=e.fitInputWidth;return}const Oe=y.value?.offsetWidth||200;!e.fitInputWidth&&q.value?Re(()=>{b.value=Math.max(Oe,Ze())}):b.value=Oe},Ze=()=>{const Oe=document.createElement("canvas").getContext("2d"),Ot=o.be("dropdown","item"),Et=(R.value?.listRef?.innerRef||document).querySelector(`.${Ot}`);if(Et===null||Oe===null)return 0;const xt=getComputedStyle(Et),Bn=Number.parseFloat(xt.paddingLeft)+Number.parseFloat(xt.paddingRight);return Oe.font=`bold ${xt.font.replace(new RegExp(`\\b${xt.fontWeight}\\b`),"")}`,j.value.reduce((Sa,Iu)=>{const Hx=Oe.measureText(d(Iu));return Math.max(Hx.width,Sa)},0)+Bn},Pe=()=>{if(!S.value)return 0;const Oe=window.getComputedStyle(S.value);return Number.parseFloat(Oe.gap||"6px")},Ae=w(()=>{const Oe=Pe(),Ot=e.filterable?Oe+Ad:0;return{maxWidth:`${_.value&&e.maxCollapseTags===1?m.selectionWidth-m.collapseItemWidth-Oe-Ot:m.selectionWidth-Ot}px`}}),je=w(()=>({maxWidth:`${m.selectionWidth}px`})),Rt=w(()=>ye(e.modelValue)?e.modelValue.length===0&&!m.inputValue:e.filterable?!m.inputValue:!0),Ue=w(()=>{const Oe=e.placeholder??n("el.select.placeholder");return e.multiple||!ue.value?Oe:m.selectedLabel}),lt=w(()=>C.value?.popperRef?.contentRef),mt=w(()=>{if(e.multiple){const Oe=e.modelValue.length;if(Oe>0&&pe.value.has(e.modelValue[Oe-1])){const{index:Ot}=pe.value.get(e.modelValue[Oe-1]);return Ot}}else if(!h(e.modelValue)&&pe.value.has(e.modelValue)){const{index:Oe}=pe.value.get(e.modelValue);return Oe}return-1}),kt=w({get(){return X.value&&(e.loading||!re.value||e.remote&&!!a.empty)&&(!k.value||!ia(m.previousQuery))},set(Oe){X.value=Oe}}),be=w(()=>e.multiple?e.collapseTags?m.cachedOptions.slice(0,e.maxCollapseTags):m.cachedOptions:[]),ze=w(()=>e.multiple?e.collapseTags?m.cachedOptions.slice(e.maxCollapseTags):[]:[]),{createNewOption:de,removeNewOption:Ge,selectNewOption:$t,clearAllNewOption:tn}=s7(e,m),_n=Oe=>{P.value||e.filterable&&X.value&&Oe&&!N.value?.contains(Oe.target)||(m.menuVisibleOnFocus?m.menuVisibleOnFocus=!1:X.value=!X.value)},Be=()=>{m.inputValue.length>0&&!X.value&&(X.value=!0),de(m.inputValue),Re(()=>{ct(m.inputValue)})},nt=ou(()=>{Be(),k.value=!1},Z),ct=Oe=>{m.previousQuery===Oe||V.value||(m.previousQuery=Oe,e.filterable&&Ve(e.filterMethod)?e.filterMethod(Oe):e.filterable&&e.remote&&Ve(e.remoteMethod)&&e.remoteMethod(Oe),e.defaultFirstOption&&(e.filterable||e.remote)&&j.value.length?Re(kn):Re(Lt))},kn=()=>{const Oe=j.value.filter(xt=>!xt.disabled&&xt.type!=="Group"),Ot=Oe.find(xt=>xt.created),Et=Oe[0];m.hoveringIndex=Qe(j.value,Ot||Et)},Wt=Oe=>{sn(e.modelValue,Oe)||t(yt,Oe)},yn=Oe=>{t(at,Oe),Wt(Oe),m.previousValue=e.multiple?String(Oe):Oe,Re(()=>{if(e.multiple&&ye(e.modelValue)){const Ot=m.cachedOptions.slice(),Et=e.modelValue.map(xt=>fg(xt,Ot));sn(m.cachedOptions,Et)||(m.cachedOptions=Et)}else Nu(!0)})},Qe=(Oe=[],Ot)=>{if(!ot(Ot))return Oe.indexOf(Ot);const Et=e.valueKey;let xt=-1;return Oe.some((Bn,Sa)=>wn(Bn,Et)===wn(Ot,Et)?(xt=Sa,!0):!1),xt},tt=Oe=>ot(Oe)?wn(Oe,e.valueKey):Oe,bt=()=>{We()},oa=()=>{m.selectionWidth=Number.parseFloat(window.getComputedStyle(S.value).width)},ho=()=>{m.collapseItemWidth=_.value.getBoundingClientRect().width},Wa=()=>{C.value?.updatePopper?.()},Ou=()=>{E.value?.updatePopper?.()},js=Oe=>{const Ot=f(Oe);if(e.multiple){let Et=e.modelValue.slice();const xt=Qe(Et,Ot);xt>-1?(Et=[...Et.slice(0,xt),...Et.slice(xt+1)],m.cachedOptions.splice(xt,1),Ge(Oe)):(e.multipleLimit<=0||Et.length{let Et=e.modelValue.slice();const xt=Qe(Et,f(Ot));xt>-1&&!P.value&&(Et=[...e.modelValue.slice(0,xt),...e.modelValue.slice(xt+1)],m.cachedOptions.splice(xt,1),yn(Et),t("remove-tag",f(Ot)),Ge(Ot)),Oe.stopPropagation(),zo()},zo=()=>{$.value?.focus()},yf=()=>{if(X.value){X.value=!1,Re(()=>$.value?.blur());return}$.value?.blur()},wf=()=>{m.inputValue.length>0?m.inputValue="":X.value=!1},Sf=Oe=>MS(Oe,Ot=>!m.cachedOptions.some(Et=>f(Et)===Ot&&v(Et))),Cf=Oe=>{const Ot=jt(Oe);if(e.multiple&&Ot!==we.delete&&m.inputValue.length===0){Oe.preventDefault();const Et=e.modelValue.slice(),xt=Sf(Et);if(xt<0)return;const Bn=Et[xt];Et.splice(xt,1);const Sa=m.cachedOptions[xt];m.cachedOptions.splice(xt,1),Ge(Sa),yn(Et),t("remove-tag",Bn)}},kf=()=>{let Oe;ye(e.modelValue)?Oe=[]:Oe=p.value,m.selectedLabel="",X.value=!1,yn(Oe),t("clear"),tn(),zo()},_r=(Oe,Ot=void 0)=>{const Et=j.value;if(!["forward","backward"].includes(Oe)||P.value||Et.length<=0||Ee.value||V.value)return;if(!X.value)return _n();Tt(Ot)&&(Ot=m.hoveringIndex);let xt=-1;Oe==="forward"?(xt=Ot+1,xt>=Et.length&&(xt=0)):Oe==="backward"&&(xt=Ot-1,(xt<0||xt>=Et.length)&&(xt=Et.length-1));const Bn=Et[xt];if(v(Bn)||Bn.type==="Group")return _r(Oe,xt);m.hoveringIndex=xt,Ar(xt)},Te=()=>{if(X.value)~m.hoveringIndex&&j.value[m.hoveringIndex]&&js(j.value[m.hoveringIndex]);else return _n()},vt=Oe=>{m.hoveringIndex=Oe??-1},Lt=()=>{if(!e.multiple)m.hoveringIndex=j.value.findIndex(Oe=>tt(f(Oe))===tt(e.modelValue));else{const Oe=e.modelValue.length;if(Oe>0){const Ot=e.modelValue[Oe-1];m.hoveringIndex=j.value.findIndex(Et=>tt(Ot)===tt(f(Et)))}else m.hoveringIndex=-1}},Yt=Oe=>{if(m.inputValue=Oe.target.value,e.remote)k.value=!0,nt();else return Be()},En=Oe=>{X.value=!1,L.value&&D(new FocusEvent("blur",Oe))},vo=()=>(m.isBeforeHide=!1,Re(()=>{~mt.value&&Ar(mt.value)})),Ar=Oe=>{R.value.scrollToItem(Oe)},fg=(Oe,Ot)=>{const Et=tt(Oe);if($e.value.has(Et)){const{option:xt}=$e.value.get(Et);return xt}if(Ot&&Ot.length){const xt=Ot.find(Bn=>tt(f(Bn))===Et);if(xt)return xt}return{[c.value.value]:Oe,[c.value.label]:Oe}},zx=Oe=>$e.value.get(f(Oe))?.index??-1,Nu=(Oe=!1)=>{if(e.multiple)if(e.modelValue.length>0){const Ot=m.cachedOptions.slice();m.cachedOptions.length=0,m.previousValue=e.modelValue.toString();for(const Et of e.modelValue){const xt=fg(Et,Ot);m.cachedOptions.push(xt)}}else m.cachedOptions=[],m.previousValue=void 0;else if(ue.value){m.previousValue=e.modelValue;const Ot=j.value,Et=Ot.findIndex(xt=>tt(f(xt))===tt(e.modelValue));~Et?m.selectedLabel=d(Ot[Et]):(!m.selectedLabel||Oe)&&(m.selectedLabel=tt(e.modelValue))}else m.selectedLabel="",m.previousValue=void 0;tn(),We()};le(()=>e.fitInputWidth,()=>{We()}),le(X,Oe=>{Oe?(e.persistent||We(),ct("")):(m.inputValue="",m.previousQuery=null,m.isBeforeHide=!0,m.menuVisibleOnFocus=!1,de(""))}),le(()=>e.modelValue,(Oe,Ot)=>{(!Oe||ye(Oe)&&Oe.length===0||e.multiple&&!sn(Oe.toString(),m.previousValue)||!e.multiple&&tt(Oe)!==tt(m.previousValue))&&Nu(!0),!sn(Oe,Ot)&&e.validateEvent&&l?.validate?.("change").catch(Et=>pt(Et))},{deep:!0}),le(()=>e.options,()=>{const Oe=$.value;(!Oe||Oe&&document.activeElement!==Oe)&&Nu()},{deep:!0,flush:"post"}),le(()=>j.value,()=>(We(),R.value&&Re(R.value.resetScrollTop))),wa(()=>{m.isBeforeHide||Ie()}),wa(()=>{const{valueKey:Oe,options:Ot}=e,Et=new Map;for(const xt of Ot){const Bn=f(xt);let Sa=Bn;if(ot(Sa)&&(Sa=wn(Bn,Oe)),Et.get(Sa)){pt("ElSelectV2","The option values you provided seem to be duplicated, which may cause some problems, please check.");break}else Et.set(Sa,!0)}}),ht(()=>{Nu()}),en(y,bt),en(S,oa),en(I,Wa),en(A,Ou),en(_,ho);let Ef;return le(()=>kt.value,Oe=>{Oe?Ef=en(R,Wa).stop:(Ef?.(),Ef=void 0),t("visible-change",Oe)}),{inputId:u,collapseTagSize:Me,currentPlaceholder:Ue,expanded:X,emptyText:ce,popupHeight:he,debounce:Z,allOptions:F,allOptionsValueMap:$e,filteredOptions:j,iconComponent:ie,iconReverse:ae,tagStyle:Ae,collapseTagStyle:je,popperSize:b,dropdownMenuVisible:kt,hasModelValue:ue,shouldShowPlaceholder:Rt,selectDisabled:P,selectSize:me,needStatusIcon:Q,showClearBtn:ge,states:m,isFocused:L,nsSelect:o,nsInput:s,inputRef:$,menuRef:R,tagMenuRef:A,tooltipRef:C,tagTooltipRef:E,selectRef:y,wrapperRef:I,selectionRef:S,prefixRef:O,suffixRef:N,collapseItemRef:_,popperRef:lt,validateState:ne,validateIcon:K,showTagList:be,collapseTagList:ze,debouncedOnInputChange:nt,deleteTag:Ru,getLabel:d,getValue:f,getDisabled:v,getValueKey:tt,getIndex:zx,handleClear:kf,handleClickOutside:En,handleDel:Cf,handleEsc:wf,focus:zo,blur:yf,handleMenuEnter:vo,handleResize:bt,resetSelectionWidth:oa,updateTooltip:Wa,updateTagTooltip:Ou,updateOptions:Ie,toggleMenu:_n,scrollTo:Ar,onInput:Yt,onKeyboardNavigate:_r,onKeyboardSelect:Te,onSelect:js,onHover:vt,handleCompositionStart:H,handleCompositionEnd:U,handleCompositionUpdate:W}};var l7=se({name:"ElSelectV2",components:{ElSelectMenu:o7,ElTag:ts,ElTooltip:Ln,ElIcon:De},directives:{ClickOutside:zs},props:j9,emits:q9,setup(e,{emit:t}){const n=w(()=>{const{modelValue:u,multiple:c}=e,d=c?[]:void 0;return ye(u)?c?u:d:c?d:u}),a=r7(At({...Mn(e),modelValue:n}),t),{calculatorRef:o,inputStyle:s}=Av(),r=zn();St(_m,{props:At({...Mn(e),height:a.popupHeight,modelValue:n}),expanded:a.expanded,tooltipRef:a.tooltipRef,contentId:r,onSelect:a.onSelect,onHover:a.onHover,onKeyboardNavigate:a.onKeyboardNavigate,onKeyboardSelect:a.onKeyboardSelect});const l=w(()=>e.multiple?a.states.cachedOptions.map(u=>a.getLabel(u)):a.states.selectedLabel);return{...a,modelValue:n,selectedLabel:l,calculatorRef:o,inputStyle:s,contentId:r,BORDER_HORIZONTAL_WIDTH:J1}}});const i7=["id","value","autocomplete","tabindex","aria-expanded","aria-label","disabled","aria-controls","aria-activedescendant","readonly","name"],u7=["textContent"],c7={key:1};function d7(e,t,n,a,o,s){const r=It("el-tag"),l=It("el-tooltip"),u=It("el-icon"),c=It("el-select-menu"),d=iv("click-outside");return ut((x(),B("div",{ref:"selectRef",class:T([e.nsSelect.b(),e.nsSelect.m(e.selectSize)]),onMouseenter:t[15]||(t[15]=f=>e.states.inputHovering=!0),onMouseleave:t[16]||(t[16]=f=>e.states.inputHovering=!1)},[Y(l,{ref:"tooltipRef",visible:e.dropdownMenuVisible,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"popper-style":e.popperStyle,"gpu-acceleration":!1,"stop-popper-mouse-event":!1,"popper-options":e.popperOptions,"fallback-placements":e.fallbackPlacements,effect:e.effect,placement:e.placement,pure:"",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,trigger:"click",persistent:e.persistent,"append-to":e.appendTo,"show-arrow":e.showArrow,offset:e.offset,onBeforeShow:e.handleMenuEnter,onHide:t[14]||(t[14]=f=>e.states.isBeforeHide=!1)},{default:J(()=>[z("div",{ref:"wrapperRef",class:T([e.nsSelect.e("wrapper"),e.nsSelect.is("focused",e.isFocused),e.nsSelect.is("hovering",e.states.inputHovering),e.nsSelect.is("filterable",e.filterable),e.nsSelect.is("disabled",e.selectDisabled)]),onClick:t[11]||(t[11]=Xe((...f)=>e.toggleMenu&&e.toggleMenu(...f),["prevent"]))},[e.$slots.prefix?(x(),B("div",{key:0,ref:"prefixRef",class:T(e.nsSelect.e("prefix"))},[ee(e.$slots,"prefix")],2)):te("v-if",!0),z("div",{ref:"selectionRef",class:T([e.nsSelect.e("selection"),e.nsSelect.is("near",e.multiple&&!e.$slots.prefix&&!!e.modelValue.length)])},[e.multiple?ee(e.$slots,"tag",{key:0,data:e.states.cachedOptions,deleteTag:e.deleteTag,selectDisabled:e.selectDisabled},()=>[(x(!0),B(Fe,null,gt(e.showTagList,f=>(x(),B("div",{key:e.getValueKey(e.getValue(f)),class:T(e.nsSelect.e("selected-item"))},[Y(r,{closable:!e.selectDisabled&&!e.getDisabled(f),size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",style:Ke(e.tagStyle),onClose:v=>e.deleteTag(v,f)},{default:J(()=>[z("span",{class:T(e.nsSelect.e("tags-text"))},[ee(e.$slots,"label",{index:e.getIndex(f),label:e.getLabel(f),value:e.getValue(f)},()=>[wt(Se(e.getLabel(f)),1)])],2)]),_:2},1032,["closable","size","type","effect","style","onClose"])],2))),128)),e.collapseTags&&e.states.cachedOptions.length>e.maxCollapseTags?(x(),oe(l,{key:0,ref:"tagTooltipRef",disabled:e.dropdownMenuVisible||!e.collapseTagsTooltip,"fallback-placements":e.tagTooltip?.fallbackPlacements??["bottom","top","right","left"],effect:e.tagTooltip?.effect??e.effect,placement:e.tagTooltip?.placement??"bottom","popper-class":e.tagTooltip?.popperClass??e.popperClass,"popper-style":e.tagTooltip?.popperStyle??e.popperStyle,teleported:e.tagTooltip?.teleported??e.teleported,"append-to":e.tagTooltip?.appendTo??e.appendTo,"popper-options":e.tagTooltip?.popperOptions??e.popperOptions,transition:e.tagTooltip?.transition,"show-after":e.tagTooltip?.showAfter,"hide-after":e.tagTooltip?.hideAfter,"auto-close":e.tagTooltip?.autoClose,offset:e.tagTooltip?.offset},{default:J(()=>[z("div",{ref:"collapseItemRef",class:T(e.nsSelect.e("selected-item"))},[Y(r,{closable:!1,size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,style:Ke(e.collapseTagStyle),"disable-transitions":""},{default:J(()=>[z("span",{class:T(e.nsSelect.e("tags-text"))}," + "+Se(e.states.cachedOptions.length-e.maxCollapseTags),3)]),_:1},8,["size","type","effect","style"])],2)]),content:J(()=>[z("div",{ref:"tagMenuRef",class:T(e.nsSelect.e("selection"))},[(x(!0),B(Fe,null,gt(e.collapseTagList,f=>(x(),B("div",{key:e.getValueKey(e.getValue(f)),class:T(e.nsSelect.e("selected-item"))},[Y(r,{class:"in-tooltip",closable:!e.selectDisabled&&!e.getDisabled(f),size:e.collapseTagSize,type:e.tagType,effect:e.tagEffect,"disable-transitions":"",onClose:v=>e.deleteTag(v,f)},{default:J(()=>[z("span",{class:T(e.nsSelect.e("tags-text"))},[ee(e.$slots,"label",{index:e.getIndex(f),label:e.getLabel(f),value:e.getValue(f)},()=>[wt(Se(e.getLabel(f)),1)])],2)]),_:2},1032,["closable","size","type","effect","onClose"])],2))),128))],2)]),_:3},8,["disabled","fallback-placements","effect","placement","popper-class","popper-style","teleported","append-to","popper-options","transition","show-after","hide-after","auto-close","offset"])):te("v-if",!0)]):te("v-if",!0),z("div",{class:T([e.nsSelect.e("selected-item"),e.nsSelect.e("input-wrapper"),e.nsSelect.is("hidden",!e.filterable||e.selectDisabled||!e.states.inputValue&&!e.isFocused)])},[z("input",{id:e.inputId,ref:"inputRef",value:e.states.inputValue,style:Ke(e.inputStyle),autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-autocomplete":"none","aria-haspopup":"listbox",autocapitalize:"off","aria-expanded":e.expanded,"aria-label":e.ariaLabel,class:T([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,role:"combobox","aria-controls":e.contentId,"aria-activedescendant":e.states.hoveringIndex>=0?`${e.contentId}-${e.states.hoveringIndex}`:"",readonly:!e.filterable,spellcheck:"false",type:"text",name:e.name,onInput:t[0]||(t[0]=(...f)=>e.onInput&&e.onInput(...f)),onChange:t[1]||(t[1]=Xe(()=>{},["stop"])),onCompositionstart:t[2]||(t[2]=(...f)=>e.handleCompositionStart&&e.handleCompositionStart(...f)),onCompositionupdate:t[3]||(t[3]=(...f)=>e.handleCompositionUpdate&&e.handleCompositionUpdate(...f)),onCompositionend:t[4]||(t[4]=(...f)=>e.handleCompositionEnd&&e.handleCompositionEnd(...f)),onKeydown:[t[5]||(t[5]=on(Xe(f=>e.onKeyboardNavigate("backward"),["stop","prevent"]),["up"])),t[6]||(t[6]=on(Xe(f=>e.onKeyboardNavigate("forward"),["stop","prevent"]),["down"])),t[7]||(t[7]=on(Xe((...f)=>e.onKeyboardSelect&&e.onKeyboardSelect(...f),["stop","prevent"]),["enter"])),t[8]||(t[8]=on(Xe((...f)=>e.handleEsc&&e.handleEsc(...f),["stop","prevent"]),["esc"])),t[9]||(t[9]=on(Xe((...f)=>e.handleDel&&e.handleDel(...f),["stop"]),["delete"]))],onClick:t[10]||(t[10]=Xe((...f)=>e.toggleMenu&&e.toggleMenu(...f),["stop"]))},null,46,i7),e.filterable?(x(),B("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:T(e.nsSelect.e("input-calculator")),textContent:Se(e.states.inputValue)},null,10,u7)):te("v-if",!0)],2),e.shouldShowPlaceholder?(x(),B("div",{key:1,class:T([e.nsSelect.e("selected-item"),e.nsSelect.e("placeholder"),e.nsSelect.is("transparent",!e.hasModelValue||e.expanded&&!e.states.inputValue)])},[e.hasModelValue?ee(e.$slots,"label",{key:0,index:e.allOptionsValueMap.get(e.modelValue)?.index??-1,label:e.currentPlaceholder,value:e.modelValue},()=>[z("span",null,Se(e.currentPlaceholder),1)]):(x(),B("span",c7,Se(e.currentPlaceholder),1))],2)):te("v-if",!0)],2),z("div",{ref:"suffixRef",class:T(e.nsSelect.e("suffix"))},[e.iconComponent?ut((x(),oe(u,{key:0,class:T([e.nsSelect.e("caret"),e.nsInput.e("icon"),e.iconReverse])},{default:J(()=>[(x(),oe(it(e.iconComponent)))]),_:1},8,["class"])),[[Pt,!e.showClearBtn]]):te("v-if",!0),e.showClearBtn&&e.clearIcon?(x(),oe(u,{key:1,class:T([e.nsSelect.e("caret"),e.nsInput.e("icon"),e.nsSelect.e("clear")]),onClick:Xe(e.handleClear,["prevent","stop"])},{default:J(()=>[(x(),oe(it(e.clearIcon)))]),_:1},8,["class","onClick"])):te("v-if",!0),e.validateState&&e.validateIcon&&e.needStatusIcon?(x(),oe(u,{key:2,class:T([e.nsInput.e("icon"),e.nsInput.e("validateIcon"),e.nsInput.is("loading",e.validateState==="validating")])},{default:J(()=>[(x(),oe(it(e.validateIcon)))]),_:1},8,["class"])):te("v-if",!0)],2)],2)]),content:J(()=>[Y(c,{id:e.contentId,ref:"menuRef",data:e.filteredOptions,width:e.popperSize-e.BORDER_HORIZONTAL_WIDTH,"hovering-index":e.states.hoveringIndex,"scrollbar-always-on":e.scrollbarAlwaysOn,"aria-label":e.ariaLabel},ua({default:J(f=>[ee(e.$slots,"default",Jo(Zo(f)))]),_:2},[e.$slots.header?{name:"header",fn:J(()=>[z("div",{class:T(e.nsSelect.be("dropdown","header")),onClick:t[12]||(t[12]=Xe(()=>{},["stop"]))},[ee(e.$slots,"header")],2)]),key:"0"}:void 0,e.$slots.loading&&e.loading?{name:"loading",fn:J(()=>[z("div",{class:T(e.nsSelect.be("dropdown","loading"))},[ee(e.$slots,"loading")],2)]),key:"1"}:e.loading||e.filteredOptions.length===0?{name:"empty",fn:J(()=>[z("div",{class:T(e.nsSelect.be("dropdown","empty"))},[ee(e.$slots,"empty",{},()=>[z("span",null,Se(e.emptyText),1)])],2)]),key:"2"}:void 0,e.$slots.footer?{name:"footer",fn:J(()=>[z("div",{class:T(e.nsSelect.be("dropdown","footer")),onClick:t[13]||(t[13]=Xe(()=>{},["stop"]))},[ee(e.$slots,"footer")],2)]),key:"3"}:void 0]),1032,["id","data","width","hovering-index","scrollbar-always-on","aria-label"])]),_:3},8,["visible","teleported","popper-class","popper-style","popper-options","fallback-placements","effect","placement","transition","persistent","append-to","show-arrow","offset","onBeforeShow"])],34)),[[d,e.handleClickOutside,e.popperRef]])}var f7=$n(l7,[["render",d7]]);const p7=rt(f7),h7=Ce({animated:Boolean,count:{type:Number,default:1},rows:{type:Number,default:3},loading:{type:Boolean,default:!0},throttle:{type:G([Number,Object])}}),v7=Ce({variant:{type:String,values:["circle","rect","h1","h3","text","caption","p","image","button"],default:"text"}});var m7=se({name:"ElSkeletonItem",__name:"skeleton-item",props:v7,setup(e){const t=fe("skeleton");return(n,a)=>(x(),B("div",{class:T([i(t).e("item"),i(t).e(e.variant)])},[e.variant==="image"?(x(),oe(i(S3),{key:0})):te("v-if",!0)],2))}}),gd=m7,g7=se({name:"ElSkeleton",__name:"skeleton",props:h7,setup(e,{expose:t}){const n=e,a=fe("skeleton"),o=xA(Vt(n,"loading"),n.throttle);return t({uiLoading:o}),(s,r)=>i(o)?(x(),B("div",dt({key:0,class:[i(a).b(),i(a).is("animated",e.animated)]},s.$attrs),[(x(!0),B(Fe,null,gt(e.count,l=>(x(),B(Fe,{key:l},[i(o)?ee(s.$slots,"template",{key:l},()=>[Y(gd,{class:T(i(a).is("first")),variant:"p"},null,8,["class"]),(x(!0),B(Fe,null,gt(e.rows,u=>(x(),oe(gd,{key:u,class:T([i(a).e("paragraph"),i(a).is("last",u===e.rows&&e.rows>1)]),variant:"p"},null,8,["class"]))),128))]):te("v-if",!0)],64))),128))],16)):ee(s.$slots,"default",Jo(dt({key:1},s.$attrs)))}}),b7=g7;const y7=rt(b7,{SkeletonItem:gd}),w7=an(gd),cE=Symbol("sliderContextKey"),S7=Ce({modelValue:{type:G([Number,Array]),default:0},id:{type:String,default:void 0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},showInput:Boolean,showInputControls:{type:Boolean,default:!0},size:Tn,inputSize:Tn,showStops:Boolean,showTooltip:{type:Boolean,default:!0},formatTooltip:{type:G(Function),default:void 0},disabled:{type:Boolean,default:void 0},range:Boolean,vertical:Boolean,height:String,rangeStartLabel:{type:String,default:void 0},rangeEndLabel:{type:String,default:void 0},formatValueText:{type:G(Function),default:void 0},tooltipClass:{type:String,default:void 0},placement:{type:String,values:Do,default:"top"},marks:{type:G(Object)},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},...aa(["ariaLabel"])}),sp=e=>He(e)||ye(e)&&e.every(He),C7={[at]:sp,[Sn]:sp,[yt]:sp},k7=(e,t,n)=>{const a=M();return ht(async()=>{e.range?(ye(e.modelValue)?(t.firstValue=Math.max(e.min,e.modelValue[0]),t.secondValue=Math.min(e.max,e.modelValue[1])):(t.firstValue=e.min,t.secondValue=e.max),t.oldValue=[t.firstValue,t.secondValue]):(!He(e.modelValue)||Number.isNaN(e.modelValue)?t.firstValue=e.min:t.firstValue=Math.min(e.max,Math.max(e.min,e.modelValue)),t.oldValue=t.firstValue),Ft(window,"resize",n),await Re(),n()}),{sliderWrapper:a}},E7=e=>w(()=>e.marks?Object.keys(e.marks).map(Number.parseFloat).sort((t,n)=>t-n).filter(t=>t<=e.max&&t>=e.min).map(t=>({point:t,position:(t-e.min)*100/(e.max-e.min),mark:e.marks[t]})):[]),x7=(e,t,n)=>{const{formItem:a}=Dn(),o=Xt(),s=M(),r=M(),l={firstButton:s,secondButton:r},u=un(),c=w(()=>Math.min(t.firstValue,t.secondValue)),d=w(()=>Math.max(t.firstValue,t.secondValue)),f=w(()=>e.range?`${100*(d.value-c.value)/(e.max-e.min)}%`:`${100*(t.firstValue-e.min)/(e.max-e.min)}%`),v=w(()=>e.range?`${100*(c.value-e.min)/(e.max-e.min)}%`:"0%"),g=w(()=>e.vertical?{height:e.height}:{}),p=w(()=>e.vertical?{height:f.value,bottom:v.value}:{width:f.value,left:v.value}),h=()=>{o.value&&(t.sliderSize=o.value.getBoundingClientRect()[e.vertical?"height":"width"])},m=A=>{const _=e.min+A*(e.max-e.min)/100;if(!e.range)return s;let V;return Math.abs(c.value-_)t.secondValue?"firstButton":"secondButton",l[V]},b=A=>{const _=m(A);return _.value.setPosition(A),_},k=A=>{t.firstValue=A??e.min,S(e.range?[c.value,d.value]:A??e.min)},y=A=>{t.secondValue=A,e.range&&S([c.value,d.value])},S=A=>{n(at,A),n(Sn,A)},C=async()=>{await Re(),n(yt,e.range?[c.value,d.value]:e.modelValue)},E=A=>{if(u.value||t.dragging)return;h();let _=0;if(e.vertical){const V=A.touches?.item(0)?.clientY??A.clientY;_=(o.value.getBoundingClientRect().bottom-V)/t.sliderSize*100}else _=((A.touches?.item(0)?.clientX??A.clientX)-o.value.getBoundingClientRect().left)/t.sliderSize*100;if(!(_<0||_>100))return b(_)};return{elFormItem:a,slider:o,firstButton:s,secondButton:r,sliderDisabled:u,minValue:c,maxValue:d,runwayStyle:g,barStyle:p,resetSize:h,setPosition:b,emitChange:C,onSliderWrapperPrevent:A=>{(l.firstButton.value?.dragging||l.secondButton.value?.dragging)&&A.preventDefault()},onSliderClick:A=>{E(A)&&C()},onSliderDown:async A=>{const _=E(A);_&&(await Re(),_.value.onButtonDown(A))},onSliderMarkerDown:A=>{u.value||t.dragging||b(A)&&C()},setFirstValue:k,setSecondValue:y}},T7=(e,t,n,a)=>({stops:w(()=>{if(!e.showStops||e.min>e.max)return[];if(e.step===0)return pt("ElSlider","step should not be 0."),[];const r=Math.ceil((e.max-e.min)/e.step),l=100*e.step/(e.max-e.min),u=Array.from({length:r-1}).map((c,d)=>(d+1)*l);return e.range?u.filter(c=>c<100*(n.value-e.min)/(e.max-e.min)||c>100*(a.value-e.min)/(e.max-e.min)):u.filter(c=>c>100*(t.firstValue-e.min)/(e.max-e.min))}),getStopStyle:r=>e.vertical?{bottom:`${r}%`}:{left:`${r}%`}}),$7=(e,t,n,a,o,s)=>{const r=c=>{o(at,c),o(Sn,c)},l=()=>e.range?![n.value,a.value].every((c,d)=>c===t.oldValue[d]):e.modelValue!==t.oldValue,u=()=>{e.min>e.max&&nn("Slider","min should not be greater than max.");const c=e.modelValue;e.range&&ye(c)?c[1]e.max?r([e.max,e.max]):c[0]e.max?r([c[0],e.max]):(t.firstValue=c[0],t.secondValue=c[1],l()&&(e.validateEvent&&s?.validate?.("change").catch(d=>pt(d)),t.oldValue=c.slice())):!e.range&&He(c)&&!Number.isNaN(c)&&(ce.max?r(e.max):(t.firstValue=c,l()&&(e.validateEvent&&s?.validate?.("change").catch(d=>pt(d)),t.oldValue=c)))};u(),le(()=>t.dragging,c=>{c||u()}),le(()=>e.modelValue,(c,d)=>{t.dragging||ye(c)&&ye(d)&&c.every((f,v)=>f===d[v])&&t.firstValue===c[0]&&t.secondValue===c[1]||u()},{deep:!0}),le(()=>[e.min,e.max],()=>{u()})},O7=(e,t,n)=>{const a=M(),o=M(!1),s=w(()=>t.value instanceof Function);return{tooltip:a,tooltipVisible:o,formatValue:w(()=>s.value&&t.value(e.modelValue)||e.modelValue),displayTooltip:Mo(()=>{n.value&&(o.value=!0)},50),hideTooltip:Mo(()=>{n.value&&(o.value=!1)},50)}},R7=(e,t,n)=>{const{disabled:a,min:o,max:s,step:r,showTooltip:l,persistent:u,precision:c,sliderSize:d,formatTooltip:f,emitChange:v,resetSize:g,updateDragging:p}=_e(cE),{tooltip:h,tooltipVisible:m,formatValue:b,displayTooltip:k,hideTooltip:y}=O7(e,f,l),S=M(),C=w(()=>`${(e.modelValue-o.value)/(s.value-o.value)*100}%`),E=w(()=>e.vertical?{bottom:C.value}:{left:C.value}),$=()=>{t.hovering=!0,k()},O=()=>{t.hovering=!1,t.dragging||y()},N=j=>{a.value||(j.preventDefault(),L(j),window.addEventListener("mousemove",D),window.addEventListener("touchmove",D),window.addEventListener("mouseup",F),window.addEventListener("touchend",F),window.addEventListener("contextmenu",F),S.value.focus())},R=j=>{a.value||(t.newPosition=Number.parseFloat(C.value)+j/(s.value-o.value)*100,q(t.newPosition),v())},A=()=>{R(-r.value)},_=()=>{R(r.value)},V=()=>{R(-r.value*4)},H=()=>{R(r.value*4)},U=()=>{a.value||(q(0),v())},W=()=>{a.value||(q(100),v())},P=j=>{const X=jt(j);let Q=!0;switch(X){case we.left:case we.down:A();break;case we.right:case we.up:_();break;case we.home:U();break;case we.end:W();break;case we.pageDown:V();break;case we.pageUp:H();break;default:Q=!1;break}Q&&j.preventDefault()},I=j=>{let X,Q;return j.type.startsWith("touch")?(Q=j.touches[0].clientY,X=j.touches[0].clientX):(Q=j.clientY,X=j.clientX),{clientX:X,clientY:Q}},L=j=>{t.dragging=!0,t.isClick=!0;const{clientX:X,clientY:Q}=I(j);e.vertical?t.startY=Q:t.startX=X,t.startPosition=Number.parseFloat(C.value),t.newPosition=t.startPosition},D=j=>{if(t.dragging){t.isClick=!1,k(),g();let X;const{clientX:Q,clientY:he}=I(j);e.vertical?(t.currentY=he,X=(t.startY-t.currentY)/d.value*100):(t.currentX=Q,X=(t.currentX-t.startX)/d.value*100),t.newPosition=t.startPosition+X,q(t.newPosition)}},F=()=>{t.dragging&&(setTimeout(()=>{t.dragging=!1,t.hovering||y(),t.isClick||q(t.newPosition),v()},0),window.removeEventListener("mousemove",D),window.removeEventListener("touchmove",D),window.removeEventListener("mouseup",F),window.removeEventListener("touchend",F),window.removeEventListener("contextmenu",F))},q=async j=>{if(j===null||Number.isNaN(+j))return;j=ar(j,0,100);const X=Math.floor((s.value-o.value)/r.value),Q=X*r.value/(s.value-o.value)*100,he=Q+(100-Q)/2;let ue;if(jt.dragging,j=>{p(j)}),Ft(S,"touchstart",N,{passive:!1}),{disabled:a,button:S,tooltip:h,tooltipVisible:m,showTooltip:l,persistent:u,wrapperStyle:E,formatValue:b,handleMouseEnter:$,handleMouseLeave:O,onButtonDown:N,onKeyDown:P,setPosition:q}},N7=Ce({modelValue:{type:Number,default:0},vertical:Boolean,tooltipClass:String,placement:{type:String,values:Do,default:"top"}}),I7={[at]:e=>He(e)},P7=["tabindex"];var M7=se({name:"ElSliderButton",__name:"button",props:N7,emits:I7,setup(e,{expose:t,emit:n}){const a=e,o=n,s=fe("slider"),r=At({hovering:!1,dragging:!1,isClick:!1,startX:0,currentX:0,startY:0,currentY:0,startPosition:0,newPosition:0,oldValue:a.modelValue}),l=w(()=>f.value?v.value:!1),{disabled:u,button:c,tooltip:d,showTooltip:f,persistent:v,tooltipVisible:g,wrapperStyle:p,formatValue:h,handleMouseEnter:m,handleMouseLeave:b,onButtonDown:k,onKeyDown:y,setPosition:S}=R7(a,r,o),{hovering:C,dragging:E}=Mn(r);return t({onButtonDown:k,onKeyDown:y,setPosition:S,hovering:C,dragging:E}),($,O)=>(x(),B("div",{ref_key:"button",ref:c,class:T([i(s).e("button-wrapper"),{hover:i(C),dragging:i(E)}]),style:Ke(i(p)),tabindex:i(u)?void 0:0,onMouseenter:O[0]||(O[0]=(...N)=>i(m)&&i(m)(...N)),onMouseleave:O[1]||(O[1]=(...N)=>i(b)&&i(b)(...N)),onMousedown:O[2]||(O[2]=(...N)=>i(k)&&i(k)(...N)),onFocus:O[3]||(O[3]=(...N)=>i(m)&&i(m)(...N)),onBlur:O[4]||(O[4]=(...N)=>i(b)&&i(b)(...N)),onKeydown:O[5]||(O[5]=(...N)=>i(y)&&i(y)(...N))},[Y(i(Ln),{ref_key:"tooltip",ref:d,visible:i(g),placement:$.placement,"fallback-placements":["top","bottom","right","left"],"stop-popper-mouse-event":!1,"popper-class":$.tooltipClass,disabled:!i(f),persistent:l.value},{content:J(()=>[z("span",null,Se(i(h)),1)]),default:J(()=>[z("div",{class:T([i(s).e("button"),{hover:i(C),dragging:i(E)}])},null,2)]),_:1},8,["visible","placement","popper-class","disabled","persistent"])],46,P7))}}),R0=M7;const _7=Ce({mark:{type:G([String,Object]),default:void 0}});var A7=se({name:"ElSliderMarker",props:_7,setup(e){const t=fe("slider"),n=w(()=>Le(e.mark)?e.mark:e.mark.label),a=w(()=>Le(e.mark)?void 0:e.mark.style);return()=>Ye("div",{class:t.e("marks-text"),style:a.value},n.value)}});const L7=["id","role","aria-label","aria-labelledby"],D7={key:1};var B7=se({name:"ElSlider",__name:"slider",props:S7,emits:C7,setup(e,{expose:t,emit:n}){const a=e,o=n,s=fe("slider"),{t:r}=Ct(),l=At({firstValue:0,secondValue:0,oldValue:0,dragging:!1,sliderSize:1}),{elFormItem:u,slider:c,firstButton:d,secondButton:f,sliderDisabled:v,minValue:g,maxValue:p,runwayStyle:h,barStyle:m,resetSize:b,emitChange:k,onSliderWrapperPrevent:y,onSliderClick:S,onSliderDown:C,onSliderMarkerDown:E,setFirstValue:$,setSecondValue:O}=x7(a,l,o),{stops:N,getStopStyle:R}=T7(a,l,g,p),{inputId:A,isLabeledByFormItem:_}=Ia(a,{formItemContext:u}),V=Cn(),H=w(()=>a.inputSize||V.value),U=w(()=>a.ariaLabel||r("el.slider.defaultLabel",{min:a.min,max:a.max})),W=w(()=>a.range?a.rangeStartLabel||r("el.slider.defaultRangeStartLabel"):U.value),P=w(()=>a.formatValueText?a.formatValueText(X.value):`${X.value}`),I=w(()=>a.rangeEndLabel||r("el.slider.defaultRangeEndLabel")),L=w(()=>a.formatValueText?a.formatValueText(Q.value):`${Q.value}`),D=w(()=>[s.b(),s.m(V.value),s.is("vertical",a.vertical),{[s.m("with-input")]:a.showInput}]),F=E7(a);$7(a,l,g,p,o,u);const q=w(()=>{const ge=[a.min,a.max,a.step].map(ie=>{const ae=`${ie}`.split(".")[1];return ae?ae.length:0});return Math.max.apply(null,ge)}),{sliderWrapper:j}=k7(a,l,b),{firstValue:X,secondValue:Q,sliderSize:he}=Mn(l),ue=ge=>{l.dragging=ge};return Ft(j,"touchstart",y,{passive:!1}),Ft(j,"touchmove",y,{passive:!1}),St(cE,{...Mn(a),sliderSize:he,disabled:v,precision:q,emitChange:k,resetSize:b,updateDragging:ue}),t({onSliderClick:S}),(ge,ie)=>(x(),B("div",{id:ge.range?i(A):void 0,ref_key:"sliderWrapper",ref:j,class:T(D.value),role:ge.range?"group":void 0,"aria-label":ge.range&&!i(_)?U.value:void 0,"aria-labelledby":ge.range&&i(_)?i(u)?.labelId:void 0},[z("div",{ref_key:"slider",ref:c,class:T([i(s).e("runway"),{"show-input":ge.showInput&&!ge.range},i(s).is("disabled",i(v))]),style:Ke(i(h)),onMousedown:ie[0]||(ie[0]=(...ae)=>i(C)&&i(C)(...ae)),onTouchstartPassive:ie[1]||(ie[1]=(...ae)=>i(C)&&i(C)(...ae))},[z("div",{class:T(i(s).e("bar")),style:Ke(i(m))},null,6),Y(R0,{id:ge.range?void 0:i(A),ref_key:"firstButton",ref:d,"model-value":i(X),vertical:ge.vertical,"tooltip-class":ge.tooltipClass,placement:ge.placement,role:"slider","aria-label":ge.range||!i(_)?W.value:void 0,"aria-labelledby":!ge.range&&i(_)?i(u)?.labelId:void 0,"aria-valuemin":ge.min,"aria-valuemax":ge.range?i(Q):ge.max,"aria-valuenow":i(X),"aria-valuetext":P.value,"aria-orientation":ge.vertical?"vertical":"horizontal","aria-disabled":i(v),"onUpdate:modelValue":i($)},null,8,["id","model-value","vertical","tooltip-class","placement","aria-label","aria-labelledby","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"]),ge.range?(x(),oe(R0,{key:0,ref_key:"secondButton",ref:f,"model-value":i(Q),vertical:ge.vertical,"tooltip-class":ge.tooltipClass,placement:ge.placement,role:"slider","aria-label":I.value,"aria-valuemin":i(X),"aria-valuemax":ge.max,"aria-valuenow":i(Q),"aria-valuetext":L.value,"aria-orientation":ge.vertical?"vertical":"horizontal","aria-disabled":i(v),"onUpdate:modelValue":i(O)},null,8,["model-value","vertical","tooltip-class","placement","aria-label","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","aria-orientation","aria-disabled","onUpdate:modelValue"])):te("v-if",!0),ge.showStops?(x(),B("div",D7,[(x(!0),B(Fe,null,gt(i(N),(ae,ne)=>(x(),B("div",{key:ne,class:T(i(s).e("stop")),style:Ke(i(R)(ae))},null,6))),128))])):te("v-if",!0),i(F).length>0?(x(),B(Fe,{key:2},[z("div",null,[(x(!0),B(Fe,null,gt(i(F),(ae,ne)=>(x(),B("div",{key:ne,style:Ke(i(R)(ae.position)),class:T([i(s).e("stop"),i(s).e("marks-stop")])},null,6))),128))]),z("div",{class:T(i(s).e("marks"))},[(x(!0),B(Fe,null,gt(i(F),(ae,ne)=>(x(),oe(i(A7),{key:ne,mark:ae.mark,style:Ke(i(R)(ae.position)),onMousedown:Xe(K=>i(E)(ae.position),["stop"])},null,8,["mark","style","onMousedown"]))),128))],2)],64)):te("v-if",!0)],38),ge.showInput&&!ge.range?(x(),oe(i(F2),{key:0,ref:"input","model-value":i(X),class:T(i(s).e("input")),step:ge.step,disabled:i(v),controls:ge.showInputControls,min:ge.min,max:ge.max,precision:q.value,size:H.value,"onUpdate:modelValue":i($),onChange:i(k)},null,8,["model-value","class","step","disabled","controls","min","max","precision","size","onUpdate:modelValue","onChange"])):te("v-if",!0)],10,L7))}}),F7=B7;const V7=rt(F7),z7=Ce({prefixCls:{type:String}}),N0=se({name:"ElSpaceItem",props:z7,setup(e,{slots:t}){const n=fe("space"),a=w(()=>`${e.prefixCls||n.b()}__item`);return()=>Ye("div",{class:a.value},ee(t,"default"))}}),I0={small:8,default:12,large:16};function H7(e){const t=fe("space"),n=w(()=>[t.b(),t.m(e.direction),e.class]),a=M(0),o=M(0),s=w(()=>[e.wrap||e.fill?{flexWrap:"wrap"}:{},{alignItems:e.alignment},{rowGap:`${o.value}px`,columnGap:`${a.value}px`},e.style]),r=w(()=>e.fill?{flexGrow:1,minWidth:`${e.fillRatio}%`}:{});return wa(()=>{const{size:l="small",wrap:u,direction:c,fill:d}=e;if(ye(l)){const[f=0,v=0]=l;a.value=f,o.value=v}else{let f;He(l)?f=l:f=I0[l||"small"]||I0.small,(u||d)&&c==="horizontal"?a.value=o.value=f:c==="horizontal"?(a.value=f,o.value=0):(o.value=f,a.value=0)}}),{classes:n,containerStyle:s,itemStyle:r}}const K7=Ce({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},class:{type:G([String,Object,Array]),default:""},style:{type:G([String,Array,Object]),default:""},alignment:{type:G(String),default:"center"},prefixCls:{type:String},spacer:{type:G([Object,String,Number,Array]),default:null,validator:e=>Ut(e)||He(e)||Le(e)},wrap:Boolean,fill:Boolean,fillRatio:{type:Number,default:100},size:{type:[String,Array,Number],values:lo,validator:e=>He(e)||ye(e)&&e.length===2&&e.every(He)}}),W7=se({name:"ElSpace",props:K7,setup(e,{slots:t}){const{classes:n,containerStyle:a,itemStyle:o}=H7(e);function s(r,l="",u=[]){const{prefixCls:c}=e;return r.forEach((d,f)=>{Wp(d)?ye(d.children)&&d.children.forEach((v,g)=>{Wp(v)&&ye(v.children)?s(v.children,`${l+g}-`,u):Ut(v)&&v?.type===gn?u.push(v):u.push(Y(N0,{style:o.value,prefixCls:c,key:`nested-${l+g}`},{default:()=>[v]},ja.PROPS|ja.STYLE,["style","prefixCls"]))}):E4(d)&&u.push(Y(N0,{style:o.value,prefixCls:c,key:`LoopKey${l+f}`},{default:()=>[d]},ja.PROPS|ja.STYLE,["style","prefixCls"]))}),u}return()=>{const{spacer:r,direction:l}=e,u=ee(t,"default",{key:0},()=>[]);if((u.children??[]).length===0)return null;if(ye(u.children)){let c=s(u.children);if(r){const d=c.length-1;c=c.reduce((f,v,g)=>{const p=[...f,v];return g!==d&&p.push(Y("span",{style:[o.value,l==="vertical"?"width: 100%":null],key:g},[Ut(r)?r:wt(r,ja.TEXT)],ja.STYLE)),p},[])}return Y("div",{class:n.value,style:a.value},c,ja.STYLE|ja.CLASS)}return u.children}}}),j7=rt(W7),U7=Ce({space:{type:[Number,String],default:""},active:{type:Number,default:0},direction:{type:String,default:"horizontal",values:["horizontal","vertical"]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:["wait","process","finish","error","success"],default:"finish"},processStatus:{type:String,values:["wait","process","finish","error","success"],default:"process"}}),q7={[yt]:(e,t)=>[e,t].every(He)},dE="ElSteps",Y7=Ce({title:{type:String,default:""},icon:{type:Kt},description:{type:String,default:""},status:{type:String,values:["","wait","process","finish","error","success"],default:""}});var G7=se({name:"ElSteps",__name:"steps",props:U7,emits:q7,setup(e,{emit:t}){const n=e,a=t,o=fe("steps"),{children:s,addChild:r,removeChild:l,ChildrenSorter:u}=Qd(ft(),"ElStep");return le(s,()=>{s.value.forEach((c,d)=>{c.setIndex(d)})}),St(dE,{props:n,steps:s,addStep:r,removeStep:l}),le(()=>n.active,(c,d)=>{a(yt,c,d)}),(c,d)=>(x(),B("div",{class:T([i(o).b(),i(o).m(e.simple?"simple":e.direction)])},[ee(c.$slots,"default"),Y(i(u))],2))}}),X7=G7,J7=se({name:"ElStep",__name:"item",props:Y7,setup(e){const t=e,n=fe("step"),a=M(-1),o=M({}),s=M(""),r=_e(dE),l=ft();let u=0,c=0;ht(()=>{le([()=>r.props.active,()=>r.props.processStatus,()=>r.props.finishStatus],([O],[N])=>{c=N||0,u=O-c,E(O)},{immediate:!0})});const d=w(()=>t.status||s.value),f=w(()=>{const O=r.steps.value[a.value-1];return O?O.internalStatus.value:"wait"}),v=w(()=>r.props.alignCenter),g=w(()=>r.props.direction==="vertical"),p=w(()=>r.props.simple),h=w(()=>r.steps.value.length),m=w(()=>r.steps.value[h.value-1]?.uid===l.uid),b=w(()=>p.value?"":r.props.space),k=w(()=>[n.b(),n.is(p.value?"simple":r.props.direction),n.is("flex",m.value&&!b.value&&!v.value),n.is("center",v.value&&!g.value&&!p.value)]),y=w(()=>{const O={flexBasis:He(b.value)?`${b.value}px`:b.value?b.value:`${100/(h.value-(v.value?0:1))}%`};return g.value||m.value&&(O.maxWidth=`${100/h.value}%`),O}),S=O=>{a.value=O},C=O=>{const N=O==="wait",R={transitionDelay:`${Math.abs(u)===1?0:u>0?(a.value+1-c)*150:-(a.value+1-r.props.active)*150}ms`},A=O===r.props.processStatus||N?0:100;R.borderWidth=A&&!p.value?"1px":0,R[r.props.direction==="vertical"?"height":"width"]=`${A}%`,o.value=R},E=O=>{O>a.value?s.value=r.props.finishStatus:O===a.value&&f.value!=="error"?s.value=r.props.processStatus:s.value="wait";const N=r.steps.value[a.value-1];N&&N.calcProgress(s.value)},$={uid:l.uid,getVnode:()=>l.vnode,currentStatus:d,internalStatus:s,setIndex:S,calcProgress:C};return r.addStep($),Bt(()=>{r.removeStep($)}),(O,N)=>(x(),B("div",{style:Ke(y.value),class:T(k.value)},[te(" icon & line "),z("div",{class:T([i(n).e("head"),i(n).is(d.value)])},[p.value?te("v-if",!0):(x(),B("div",{key:0,class:T(i(n).e("line"))},[z("i",{class:T(i(n).e("line-inner")),style:Ke(o.value)},null,6)],2)),z("div",{class:T([i(n).e("icon"),i(n).is(e.icon||O.$slots.icon?"icon":"text")])},[ee(O.$slots,"icon",{},()=>[e.icon?(x(),oe(i(De),{key:0,class:T(i(n).e("icon-inner"))},{default:J(()=>[(x(),oe(it(e.icon)))]),_:1},8,["class"])):d.value==="success"?(x(),oe(i(De),{key:1,class:T([i(n).e("icon-inner"),i(n).is("status")])},{default:J(()=>[Y(i(vu))]),_:1},8,["class"])):d.value==="error"?(x(),oe(i(De),{key:2,class:T([i(n).e("icon-inner"),i(n).is("status")])},{default:J(()=>[Y(i(Ha))]),_:1},8,["class"])):p.value?te("v-if",!0):(x(),B("div",{key:3,class:T(i(n).e("icon-inner"))},Se(a.value+1),3))])],2)],2),te(" title & description "),z("div",{class:T(i(n).e("main"))},[z("div",{class:T([i(n).e("title"),i(n).is(d.value)])},[ee(O.$slots,"title",{},()=>[wt(Se(e.title),1)])],2),p.value?(x(),B("div",{key:0,class:T(i(n).e("arrow"))},null,2)):(x(),B("div",{key:1,class:T([i(n).e("description"),i(n).is(d.value)])},[ee(O.$slots,"description",{},()=>[wt(Se(e.description),1)])],2))],2)],6))}}),fE=J7;const Z7=rt(X7,{Step:fE}),Q7=an(fE),pE=e=>["",...lo].includes(e),eU=Ce({modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:void 0},loading:Boolean,size:{type:String,validator:pE},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:Kt},activeActionIcon:{type:Kt},activeIcon:{type:Kt},inactiveIcon:{type:Kt},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:G(Function)},id:String,tabindex:{type:[String,Number]},...aa(["ariaLabel"])}),tU={[at]:e=>Ht(e)||Le(e)||He(e),[yt]:e=>Ht(e)||Le(e)||He(e),[Sn]:e=>Ht(e)||Le(e)||He(e)},nU=["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex"],aU=["aria-hidden"],oU={key:1},sU={key:1},rU=["aria-hidden"],rp="ElSwitch";var lU=se({name:rp,__name:"switch",props:eU,emits:tU,setup(e,{expose:t,emit:n}){const a=e,o=n,{formItem:s}=Dn(),r=Cn(),l=fe("switch"),{inputId:u}=Ia(a,{formItemContext:s}),c=un(w(()=>{if(a.loading)return!0})),d=M(a.modelValue!==!1),f=Xt(),v=w(()=>[l.b(),l.m(r.value),l.is("disabled",c.value),l.is("checked",b.value)]),g=w(()=>[l.e("label"),l.em("label","left"),l.is("active",!b.value)]),p=w(()=>[l.e("label"),l.em("label","right"),l.is("active",b.value)]),h=w(()=>({width:ln(a.width)}));le(()=>a.modelValue,()=>{d.value=!0});const m=w(()=>d.value?a.modelValue:!1),b=w(()=>m.value===a.activeValue);[a.activeValue,a.inactiveValue].includes(m.value)||(o(at,a.inactiveValue),o(yt,a.inactiveValue),o(Sn,a.inactiveValue)),le(b,C=>{f.value.checked=C,a.validateEvent&&s?.validate?.("change").catch(E=>pt(E))});const k=()=>{const C=b.value?a.inactiveValue:a.activeValue;o(at,C),o(yt,C),o(Sn,C),Re(()=>{f.value.checked=b.value})},y=()=>{if(c.value)return;const{beforeChange:C}=a;if(!C){k();return}const E=C();[mr(E),Ht(E)].includes(!0)||nn(rp,"beforeChange must return type `Promise` or `boolean`"),mr(E)?E.then($=>{$&&k()}).catch($=>{pt(rp,`some error occurred: ${$}`)}):E&&k()},S=()=>{f.value?.focus?.()};return ht(()=>{f.value.checked=b.value}),t({focus:S,checked:b}),(C,E)=>(x(),B("div",{class:T(v.value),onClick:Xe(y,["prevent"])},[z("input",{id:i(u),ref_key:"input",ref:f,class:T(i(l).e("input")),type:"checkbox",role:"switch","aria-checked":b.value,"aria-disabled":i(c),"aria-label":e.ariaLabel,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:i(c),tabindex:e.tabindex,onChange:k,onKeydown:on(y,["enter"])},null,42,nU),!e.inlinePrompt&&(e.inactiveIcon||e.inactiveText||C.$slots.inactive)?(x(),B("span",{key:0,class:T(g.value)},[ee(C.$slots,"inactive",{},()=>[e.inactiveIcon?(x(),oe(i(De),{key:0},{default:J(()=>[(x(),oe(it(e.inactiveIcon)))]),_:1})):te("v-if",!0),!e.inactiveIcon&&e.inactiveText?(x(),B("span",{key:1,"aria-hidden":b.value},Se(e.inactiveText),9,aU)):te("v-if",!0)])],2)):te("v-if",!0),z("span",{class:T(i(l).e("core")),style:Ke(h.value)},[e.inlinePrompt?(x(),B("div",{key:0,class:T(i(l).e("inner"))},[b.value?(x(),B("div",{key:1,class:T(i(l).e("inner-wrapper"))},[ee(C.$slots,"active",{},()=>[e.activeIcon?(x(),oe(i(De),{key:0},{default:J(()=>[(x(),oe(it(e.activeIcon)))]),_:1})):te("v-if",!0),!e.activeIcon&&e.activeText?(x(),B("span",sU,Se(e.activeText),1)):te("v-if",!0)])],2)):(x(),B("div",{key:0,class:T(i(l).e("inner-wrapper"))},[ee(C.$slots,"inactive",{},()=>[e.inactiveIcon?(x(),oe(i(De),{key:0},{default:J(()=>[(x(),oe(it(e.inactiveIcon)))]),_:1})):te("v-if",!0),!e.inactiveIcon&&e.inactiveText?(x(),B("span",oU,Se(e.inactiveText),1)):te("v-if",!0)])],2))],2)):te("v-if",!0),z("div",{class:T(i(l).e("action"))},[e.loading?(x(),oe(i(De),{key:0,class:T(i(l).is("loading"))},{default:J(()=>[Y(i(Ao))]),_:1},8,["class"])):b.value?ee(C.$slots,"active-action",{key:1},()=>[e.activeActionIcon?(x(),oe(i(De),{key:0},{default:J(()=>[(x(),oe(it(e.activeActionIcon)))]),_:1})):te("v-if",!0)]):b.value?te("v-if",!0):ee(C.$slots,"inactive-action",{key:2},()=>[e.inactiveActionIcon?(x(),oe(i(De),{key:0},{default:J(()=>[(x(),oe(it(e.inactiveActionIcon)))]),_:1})):te("v-if",!0)])],2)],6),!e.inlinePrompt&&(e.activeIcon||e.activeText||C.$slots.active)?(x(),B("span",{key:1,class:T(p.value)},[ee(C.$slots,"active",{},()=>[e.activeIcon?(x(),oe(i(De),{key:0},{default:J(()=>[(x(),oe(it(e.activeIcon)))]),_:1})):te("v-if",!0),!e.activeIcon&&e.activeText?(x(),B("span",{key:1,"aria-hidden":!b.value},Se(e.activeText),9,rU)):te("v-if",!0)])],2)):te("v-if",!0)],2))}}),iU=lU;const uU=rt(iU),lp=function(e){return e.target?.closest("td")},cU=function(e,t,n,a,o){if(!t&&!a&&(!o||ye(o)&&!o.length))return e;Le(n)?n=n==="descending"?-1:1:n=n&&n<0?-1:1;const s=a?null:function(l,u){return o?_S(Nn(o),c=>Le(c)?wn(l,c):c(l,u,e)):(t!=="$key"&&ot(l)&&"$value"in l&&(l=l.$value),[ot(l)?t?wn(l,t):null:l])},r=function(l,u){if(a)return a(l.value,u.value);for(let c=0,d=l.key?.length??0;cu.key?.[c])return 1}return 0};return e.map((l,u)=>({value:l,index:u,key:s?s(l,u):null})).sort((l,u)=>{let c=r(l,u);return c||(c=l.index-u.index),c*+n}).map(l=>l.value)},hE=function(e,t){let n=null;return e.columns.forEach(a=>{a.id===t&&(n=a)}),n},dU=function(e,t){let n=null;for(let a=0;a{if(!e)throw new Error("Row is required when get row identity");if(Le(t)){if(!t.includes("."))return`${e[t]}`;const n=t.split(".");let a=e;for(const o of n)a=a[o];return`${a}`}else if(Ve(t))return t.call(null,e);return""},ol=function(e,t,n=!1,a="children"){const o=e||[],s={};return o.forEach((r,l)=>{if(s[Hn(r,t)]={row:r,index:l},n){const u=r[a];ye(u)&&Object.assign(s,ol(u,t,!0,a))}}),s};function fU(e,t){const n={};let a;for(a in e)n[a]=e[a];for(a in t)if(Nt(t,a)){const o=t[a];Tt(o)||(n[a]=o)}return n}function Am(e){return e===""||Tt(e)||(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function vE(e){return e===""||Tt(e)||(e=Am(e),Number.isNaN(e)&&(e=80)),e}function pU(e){return He(e)?e:Le(e)?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function hU(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...a)=>t(n(...a)))}function bd(e,t,n,a,o,s,r){let l=s??0,u=!1;const d=(()=>{if(!r)return e.indexOf(t);const h=Hn(t,r);return e.findIndex(m=>Hn(m,r)===h)})(),f=d!==-1,v=o?.call(null,t,l),g=h=>{h==="add"?e.push(t):e.splice(d,1),u=!0},p=h=>{let m=0;const b=a?.children&&h[a.children];return b&&ye(b)&&(m+=b.length,b.forEach(k=>{m+=p(k)})),m};return(!o||v)&&(Ht(n)?n&&!f?g("add"):!n&&f&&g("remove"):g(f?"remove":"add")),!a?.checkStrictly&&a?.children&&ye(t[a.children])&&t[a.children].forEach(h=>{const m=bd(e,h,n??!f,a,o,l+1,r);l+=p(h)+1,m&&(u=m)}),u}function vU(e,t,n="children",a="hasChildren",o=!1){const s=l=>!(ye(l)&&l.length);function r(l,u,c){t(l,u,c),u.forEach(d=>{if(d[a]&&o){t(d,null,c+1);return}const f=d[n];s(f)||r(d,f,c+1)})}e.forEach(l=>{if(l[a]&&o){t(l,null,0);return}const u=l[n];s(u)||r(l,u,0)})}const mU=(e,t,n,a)=>{const o={strategy:"fixed",...e.popperOptions},s=Ve(a?.tooltipFormatter)?a.tooltipFormatter({row:n,column:a,cellValue:Ms(n,a.property).value}):void 0;return Ut(s)?{slotContent:s,content:null,...e,popperOptions:o}:{slotContent:null,content:s??t,...e,popperOptions:o}};let pa=null;function gU(e,t,n,a,o,s){const r=mU(e,t,n,a),l={...r,slotContent:void 0};if(pa?.trigger===o){const g=pa.vm?.component;AS(g?.props,l),g&&r.slotContent&&(g.slots.content=()=>[r.slotContent]);return}pa?.();const u=s?.refs.tableWrapper,c=u?.dataset.prefix,d=Y(Ln,{virtualTriggering:!0,virtualRef:o,appendTo:u,placement:"top",transition:"none",offset:0,hideAfter:0,...l},r.slotContent?{content:()=>r.slotContent}:void 0);d.appContext={...s.appContext,...s};const f=document.createElement("div");Ls(d,f),d.component.exposed.onOpen();const v=u?.querySelector(`.${c}-scrollbar__wrap`);pa=()=>{d.component?.exposed?.onClose&&d.component.exposed.onClose(),Ls(null,f);const g=pa;v?.removeEventListener("scroll",g),g.trigger=void 0,g.vm=void 0,pa=null},pa.trigger=o??void 0,pa.vm=d,v?.addEventListener("scroll",pa)}function mE(e){return e.children?_S(e.children,mE):[e]}function M0(e,t){return e+t.colSpan}const gE=(e,t,n,a)=>{let o=0,s=e;const r=n.states.columns.value;if(a){const u=mE(a[e]);o=r.slice(0,r.indexOf(u[0])).reduce(M0,0),s=o+u.reduce(M0,0)-1}else o=e;let l;switch(t){case"left":s=r.length-n.states.rightFixedLeafColumnsLength.value&&(l="right");break;default:s=r.length-n.states.rightFixedLeafColumnsLength.value&&(l="right")}return l?{direction:l,start:o,after:s}:{}},Lm=(e,t,n,a,o,s=0)=>{const r=[],{direction:l,start:u,after:c}=gE(t,n,a,o);if(l){const d=l==="left";r.push(`${e}-fixed-column--${l}`),d&&c+s===a.states.fixedLeafColumnsLength.value-1?r.push("is-last-column"):!d&&u-s===a.states.columns.value.length-a.states.rightFixedLeafColumnsLength.value&&r.push("is-first-column")}return r};function _0(e,t){return e+(Kd(t.realWidth)||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const Dm=(e,t,n,a)=>{const{direction:o,start:s=0,after:r=0}=gE(e,t,n,a);if(!o)return;const l={},u=o==="left",c=n.states.columns.value;return u?l.left=c.slice(0,s).reduce(_0,0):l.right=c.slice(r+1).reverse().reduce(_0,0),l},El=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function bE(e){return e.some(t=>Ut(t)?!(t.type===gn||t.type===Fe&&!bE(t.children)):!0)?e:null}function bU(e){const t=ft(),n=M(!1),a=M([]),o=(c,d)=>{const f=t.store.states.rowExpandable.value;return f?.(c,d)??!0};return{updateExpandRows:()=>{const c=e.data.value||[],d=e.rowKey.value;if(n.value)a.value=t.store.states.rowExpandable.value?c.filter(o):c.slice();else if(d){const f=ol(a.value,d);a.value=c.filter((v,g)=>!!f[Hn(v,d)]&&o(v,g))}else a.value=[]},toggleRowExpansion:(c,d)=>{const f=(e.data.value||[]).indexOf(c);f>-1&&!o(c,f)||bd(a.value,c,d,void 0,void 0,void 0,e.rowKey.value)&&t.emit("expand-change",c,a.value.slice())},setExpandRowKeys:c=>{t.store.assertRowKey();const d=e.data.value||[],f=e.rowKey.value,v=ol(d,f);a.value=c.reduce((g,p)=>{const h=v[p];return h&&o(h.row,h.index)&&g.push(h.row),g},[])},isRowExpanded:c=>{const d=e.rowKey.value;return d?!!ol(a.value,d)[Hn(c,d)]:a.value.includes(c)},states:{expandRows:a,defaultExpandAll:n}}}function yU(e){const t=ft(),n=M(null),a=M(null),o=c=>{t.store.assertRowKey(),n.value=c,r(c)},s=()=>{n.value=null},r=c=>{const{data:d,rowKey:f}=e,v=a.value;let g=null;f.value&&(g=(i(d)||[]).find(p=>Hn(p,f.value)===c)??null),a.value=g??null,t.emit("current-change",a.value,v)};return{setCurrentRowKey:o,restoreCurrentRowKey:s,setCurrentRowByKey:r,updateCurrentRow:c=>{const d=a.value;if(c&&c!==d){a.value=c,t.emit("current-change",a.value,d);return}!c&&d&&(a.value=null,t.emit("current-change",null,d))},updateCurrentRowData:()=>{const c=e.rowKey.value,d=e.data.value||[],f=a.value;f&&!d.includes(f)?c?r(Hn(f,c)):(a.value=null,t.emit("current-change",null,f)):n.value&&(r(n.value),s())},states:{_currentRowKey:n,currentRow:a}}}function wU(e){const t=M([]),n=M({}),a=M(16),o=M(!1),s=M({}),r=M("hasChildren"),l=M("children"),u=M(!1),c=ft(),d=w(()=>e.rowKey.value?v(e.data.value||[]):{}),f=w(()=>{const S=e.rowKey.value,C=Object.keys(s.value),E={};return C.length&&C.forEach($=>{if(s.value[$].length){const O={children:[]};s.value[$].forEach(N=>{const R=Hn(N,S);O.children.push(R),N[r.value]&&!E[R]&&(E[R]={children:[]})}),E[$]=O}}),E}),v=S=>{const C=e.rowKey.value,E={};return vU(S,($,O,N)=>{const R=Hn($,C);ye(O)?E[R]={children:O.map(A=>Hn(A,C)),level:N}:o.value&&(E[R]={children:[],lazy:!0,level:N})},l.value,r.value,o.value),E},g=(S=!1,C)=>{C||=c.store?.states.defaultExpandAll.value;const E=d.value,$=f.value,O=Object.keys(E),N={};if(O.length){const R=i(n),A=[],_=(H,U)=>{if(S)return t.value?C||t.value.includes(U):!!(C||H?.expanded);{const W=C||t.value&&t.value.includes(U);return!!(H?.expanded||W)}};O.forEach(H=>{const U=R[H],W={...E[H]};if(W.expanded=_(U,H),W.lazy){const{loaded:P=!1,loading:I=!1}=U||{};W.loaded=!!P,W.loading=!!I,A.push(H)}N[H]=W});const V=Object.keys($);o.value&&V.length&&A.length&&V.forEach(H=>{const U=R[H],W=$[H].children;if(A.includes(H)){if(N[H].children?.length!==0)throw new Error("[ElTable]children must be an empty array.");N[H].children=W}else{const{loaded:P=!1,loading:I=!1}=U||{};N[H]={lazy:!0,loaded:!!P,loading:!!I,expanded:_(U,H),children:W,level:void 0}}})}n.value=N,c.store?.updateTableScrollY()};le(()=>t.value,()=>{g(!0)}),le(()=>d.value,()=>{g()}),le(()=>f.value,()=>{g()});const p=S=>{t.value=S,g()},h=S=>o.value&&S&&"loaded"in S&&!S.loaded,m=(S,C)=>{c.store.assertRowKey();const E=e.rowKey.value,$=Hn(S,E),O=$&&n.value[$];if($&&O&&"expanded"in O){const N=O.expanded;C=Tt(C)?!O.expanded:C,n.value[$].expanded=C,N!==C&&c.emit("expand-change",S,C),C&&h(O)&&k(S,$,O),c.store.updateTableScrollY()}},b=S=>{c.store.assertRowKey();const C=e.rowKey.value,E=Hn(S,C),$=n.value[E];h($)?k(S,E,$):m(S,void 0)},k=(S,C,E)=>{const{load:$}=c.props;$&&!n.value[C].loaded&&(n.value[C].loading=!0,$(S,E,O=>{if(!ye(O))throw new TypeError("[ElTable] data must be an array");n.value[C].loading=!1,n.value[C].loaded=!0,n.value[C].expanded=!0,O.length&&(s.value[C]=O),c.emit("expand-change",S,!0)}))};return{loadData:k,loadOrToggle:b,toggleTreeExpansion:m,updateTreeExpandKeys:p,updateTreeData:g,updateKeyChildren:(S,C)=>{const{lazy:E,rowKey:$}=c.props;if(E){if(!$)throw new Error("[Table] rowKey is required in updateKeyChild");s.value[S]&&(s.value[S]=C)}},normalize:v,states:{expandRowKeys:t,treeData:n,indent:a,lazy:o,lazyTreeNodeMap:s,lazyColumnIdentifier:r,childrenColumnName:l,checkStrictly:u}}}const SU=(e,t)=>{const n=t.sortingColumn;return!n||Le(n.sortable)?e:cU(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},Oc=e=>{const t=[];return e.forEach(n=>{n.children&&n.children.length>0?t.push.apply(t,Oc(n.children)):t.push(n)}),t};function CU(){const e=ft(),{size:t}=Mn(e.proxy?.$props),n=M(null),a=M([]),o=M([]),s=M(!1),r=M([]),l=M([]),u=M([]),c=M([]),d=M([]),f=M([]),v=M([]),g=M([]),p=[],h=M(0),m=M(0),b=M(0),k=M(!1),y=M([]),S=M(!1),C=M(!1),E=M(null),$=M(null),O=M({}),N=M(null),R=M(null),A=M(null),_=M(null),V=M(null),H=w(()=>n.value?ol(y.value,n.value):void 0);le(a,()=>{e.state&&(I(!1),e.props.tableLayout==="auto"&&e.refs.tableHeaderRef?.updateFixedColumnStyle())},{deep:!0});const U=()=>{if(!n.value)throw new Error("[ElTable] prop row-key is required")},W=Ue=>{Ue.children?.forEach(lt=>{lt.fixed=Ue.fixed,W(lt)})},P=()=>{r.value.forEach(de=>{W(de)}),c.value=r.value.filter(de=>[!0,"left"].includes(de.fixed));const Ue=r.value.find(de=>de.type==="selection");let lt;Ue&&Ue.fixed!=="right"&&!c.value.includes(Ue)&&r.value.indexOf(Ue)===0&&c.value.length&&(c.value.unshift(Ue),lt=!0),d.value=r.value.filter(de=>de.fixed==="right");const mt=r.value.filter(de=>(lt?de.type!=="selection":!0)&&!de.fixed);l.value=Array.from(c.value).concat(mt).concat(d.value);const kt=Oc(mt),be=Oc(c.value),ze=Oc(d.value);h.value=kt.length,m.value=be.length,b.value=ze.length,u.value=Array.from(be).concat(kt).concat(ze),s.value=c.value.length>0||d.value.length>0},I=(Ue,lt=!1)=>{Ue&&P(),lt?e.state.doLayout():e.state.debouncedUpdateLayout()},L=Ue=>H.value?!!H.value[Hn(Ue,n.value)]:y.value.includes(Ue),D=()=>{k.value=!1;const Ue=y.value;y.value=[],Ue.length&&e.emit("selection-change",[])},F=()=>{let Ue;if(n.value){Ue=[];const lt=e?.store?.states?.childrenColumnName.value,mt=ol(a.value,n.value,!0,lt);for(const kt in H.value)Nt(H.value,kt)&&!mt[kt]&&Ue.push(H.value[kt].row)}else Ue=y.value.filter(lt=>!a.value.includes(lt));if(Ue.length){const lt=y.value.filter(mt=>!Ue.includes(mt));y.value=lt,e.emit("selection-change",lt.slice())}},q=()=>(y.value||[]).slice(),j=(Ue,lt,mt=!0,kt=!1)=>{const be={children:e?.store?.states?.childrenColumnName.value,checkStrictly:e?.store?.states?.checkStrictly.value};if(bd(y.value,Ue,lt,be,kt?void 0:E.value,a.value.indexOf(Ue),n.value)){const ze=(y.value||[]).slice();mt&&e.emit("select",ze,Ue),e.emit("selection-change",ze)}},X=()=>{const Ue=C.value?!k.value:!(k.value||y.value.length);k.value=Ue;let lt=!1,mt=0;const kt=e?.store?.states?.rowKey.value,{childrenColumnName:be}=e.store.states,ze={children:be.value,checkStrictly:!1};a.value.forEach((de,Ge)=>{const $t=Ge+mt;bd(y.value,de,Ue,ze,E.value,$t,kt)&&(lt=!0),mt+=he(Hn(de,kt))}),lt&&e.emit("selection-change",y.value?y.value.slice():[]),e.emit("select-all",(y.value||[]).slice())},Q=()=>{if(a.value?.length===0){k.value=!1;return}const{childrenColumnName:Ue}=e.store.states;let lt=0,mt=0;const kt=ze=>{for(const de of ze){const Ge=E.value&&E.value.call(null,de,lt);if(L(de))mt++;else if(!E.value||Ge)return!1;if(lt++,de[Ue.value]?.length&&!kt(de[Ue.value]))return!1}return!0},be=kt(a.value||[]);k.value=mt===0?!1:be},he=Ue=>{if(!e||!e.store)return 0;const{treeData:lt}=e.store.states;let mt=0;const kt=lt.value[Ue]?.children;return kt&&(mt+=kt.length,kt.forEach(be=>{mt+=he(be)})),mt},ue=(Ue,lt)=>{const mt={};return Nn(Ue).forEach(kt=>{O.value[kt.id]=lt,mt[kt.columnKey||kt.id]=lt}),mt},ge=(Ue,lt,mt)=>{R.value&&R.value!==Ue&&(R.value.order=null),R.value=Ue,A.value=lt,_.value=mt},ie=()=>{let Ue=i(o);Object.keys(O.value).forEach(lt=>{const mt=O.value[lt];if(!mt||mt.length===0)return;const kt=hE({columns:u.value},lt);kt&&kt.filterMethod&&(Ue=Ue.filter(be=>mt.some(ze=>kt.filterMethod.call(null,ze,be,kt))))}),N.value=Ue},ae=()=>{a.value=SU(N.value??[],{sortingColumn:R.value,sortProp:A.value,sortOrder:_.value})},ne=(Ue=void 0)=>{Ue?.filter||ie(),ae()},K=Ue=>{const{tableHeaderRef:lt}=e.refs;if(!lt)return;const mt=Object.assign({},lt.filterPanels),kt=Object.keys(mt);if(kt.length)if(Le(Ue)&&(Ue=[Ue]),ye(Ue)){const be=Ue.map(ze=>dU({columns:u.value},ze));kt.forEach(ze=>{const de=be.find(Ge=>Ge.id===ze);de&&(de.filteredValue=[])}),e.store.commit("filterChange",{column:be,values:[],silent:!0,multi:!0})}else kt.forEach(be=>{const ze=u.value.find(de=>de.id===be);ze&&(ze.filteredValue=[])}),O.value={},e.store.commit("filterChange",{column:{},values:[],silent:!0})},Z=()=>{R.value&&(ge(null,null,null),e.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:re,toggleRowExpansion:ce,updateExpandRows:ve,states:ke,isRowExpanded:Ne}=bU({data:a,rowKey:n}),{updateTreeExpandKeys:Ie,toggleTreeExpansion:$e,updateTreeData:pe,updateKeyChildren:Ee,loadOrToggle:me,states:Me}=wU({data:a,rowKey:n}),{updateCurrentRowData:We,updateCurrentRow:Ze,setCurrentRowKey:Pe,states:Ae}=yU({data:a,rowKey:n});return{assertRowKey:U,updateColumns:P,scheduleLayout:I,isSelected:L,clearSelection:D,cleanSelection:F,getSelectionRows:q,toggleRowSelection:j,_toggleAllSelection:X,toggleAllSelection:null,updateAllSelected:Q,updateFilters:ue,updateCurrentRow:Ze,updateSort:ge,execFilter:ie,execSort:ae,execQuery:ne,clearFilter:K,clearSort:Z,toggleRowExpansion:ce,setExpandRowKeysAdapter:Ue=>{re(Ue),Ie(Ue)},setCurrentRowKey:Pe,toggleRowExpansionAdapter:(Ue,lt)=>{u.value.some(({type:mt})=>mt==="expand")?ce(Ue,lt):$e(Ue,lt)},isRowExpanded:Ne,updateExpandRows:ve,updateCurrentRowData:We,loadOrToggle:me,updateTreeData:pe,updateKeyChildren:Ee,states:{tableSize:t,rowKey:n,data:a,_data:o,isComplex:s,_columns:r,originColumns:l,columns:u,fixedColumns:c,rightFixedColumns:d,leafColumns:f,fixedLeafColumns:v,rightFixedLeafColumns:g,updateOrderFns:p,leafColumnsLength:h,fixedLeafColumnsLength:m,rightFixedLeafColumnsLength:b,isAllSelected:k,selection:y,reserveSelection:S,selectOnIndeterminate:C,selectable:E,rowExpandable:$,filters:O,filteredData:N,sortingColumn:R,sortProp:A,sortOrder:_,hoverRow:V,...ke,...Me,...Ae}}}function xh(e,t){return e.map(n=>n.id===t.id?t:(n.children?.length&&(n.children=xh(n.children,t)),n))}function Th(e){e.forEach(t=>{t.no=t.getColumnIndex?.(),t.children?.length&&Th(t.children)}),e.sort((t,n)=>t.no-n.no)}function kU(){const e=ft(),t=CU(),n=fe("table"),{t:a}=Ct();return{ns:n,t:a,...t,mutations:{setData(l,u){const c=i(l._data)!==u;l.data.value=u,l._data.value=u,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),i(l.reserveSelection)?e.store.assertRowKey():c?e.store.clearSelection():e.store.cleanSelection(),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(l,u,c,d){const f=i(l._columns);let v=[];c?(c&&!c.children&&(c.children=[]),c.children?.push(u),v=xh(f,c)):(f.push(u),v=f),Th(v),l._columns.value=v,l.updateOrderFns.push(d),u.type==="selection"&&(l.selectable.value=u.selectable,l.reserveSelection.value=u.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(l,u){u.getColumnIndex?.()!==u.no&&(Th(l._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(l,u,c,d){const f=i(l._columns)||[];if(c)c.children?.splice(c.children.findIndex(g=>g.id===u.id),1),Re(()=>{c.children?.length===0&&delete c.children}),l._columns.value=xh(f,c);else{const g=f.indexOf(u);g>-1&&(f.splice(g,1),l._columns.value=f)}const v=l.updateOrderFns.indexOf(d);v>-1&&l.updateOrderFns.splice(v,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(l,u){const{prop:c,order:d,init:f}=u;if(c){const v=i(l.columns).find(g=>g.property===c);v&&(v.order=d,e.store.updateSort(v,c,d),e.store.commit("changeSortCondition",{init:f}))}},changeSortCondition(l,u){const{sortingColumn:c,sortProp:d,sortOrder:f}=l,v=i(c),g=i(d),p=i(f);Kd(p)&&(l.sortingColumn.value=null,l.sortProp.value=null),e.store.execQuery({filter:!0}),(!u||!(u.silent||u.init))&&e.emit("sort-change",{column:v,prop:g,order:p}),e.store.updateTableScrollY()},filterChange(l,u){const{column:c,values:d,silent:f}=u,v=e.store.updateFilters(c,d);e.store.execQuery(),f||e.emit("filter-change",v),e.store.updateTableScrollY()},toggleAllSelection(){e.store.toggleAllSelection?.()},rowSelectedChanged(l,u){e.store.toggleRowSelection(u),e.store.updateAllSelected()},setHoverRow(l,u){l.hoverRow.value=u},setCurrentRow(l,u){e.store.updateCurrentRow(u)}},commit:function(l,...u){const c=e.store.mutations;if(c[l])c[l].apply(e,[e.store.states,...u]);else throw new Error(`Action not found: ${l}`)},updateTableScrollY:function(){Re(()=>e.layout.updateScrollY.apply(e.layout))}}}const Bm={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",rowExpandable:"rowExpandable",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"},"treeProps.checkStrictly":{key:"checkStrictly",default:!1}};function EU(e,t){if(!e)throw new Error("Table is required.");const n=kU();return n.toggleAllSelection=Mo(n._toggleAllSelection,10),Object.keys(Bm).forEach(a=>{yE(wE(t,a),a,n)}),xU(n,t),n}function xU(e,t){Object.keys(Bm).forEach(n=>{le(()=>wE(t,n),a=>{yE(a,n,e)})})}function yE(e,t,n){let a=e,o=Bm[t];ot(o)&&(a=a||o.default,o=o.key),n.states[o].value=a}function wE(e,t){if(t.includes(".")){const n=t.split(".");let a=e;return n.forEach(o=>{a=a[o]}),a}else return e[t]}var TU=class{constructor(e){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.height=M(null),this.scrollX=M(!1),this.scrollY=M(!1),this.bodyWidth=M(null),this.fixedWidth=M(null),this.rightFixedWidth=M(null),this.gutterWidth=0;for(const t in e)Nt(e,t)&&(Jt(this[t])?this[t].value=e[t]:this[t]=e[t]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){const e=this.height.value;if(Kd(e))return!1;const t=this.table.refs.scrollBarRef;if(this.table.vnode.el&&t?.wrapRef){let n=!0;const a=this.scrollY.value;return n=t.wrapRef.scrollHeight>t.wrapRef.clientHeight,this.scrollY.value=n,a!==n}return!1}setHeight(e,t="height"){if(!Mt)return;const n=this.table.vnode.el;if(e=pU(e),this.height.value=Number(e),!n&&(e||e===0)){Re(()=>this.setHeight(e,t));return}n&&He(e)?(n.style[t]=`${e}px`,this.updateElsHeight()):n&&Le(e)&&(n.style[t]=e,this.updateElsHeight())}setMaxHeight(e){this.setHeight(e,"max-height")}getFlattenColumns(){const e=[];return this.table.store.states.columns.value.forEach(t=>{t.isColumnGroup?e.push.apply(e,t.columns):e.push(t)}),e}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(e){if(!e)return!0;let t=e;for(;t.tagName!=="DIV";){if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}updateColumnsWidth(){if(!Mt)return;const e=this.fit,t=this.table.vnode.el?.clientWidth;let n=0;const a=this.getFlattenColumns(),o=a.filter(l=>!He(l.width));if(a.forEach(l=>{He(l.width)&&l.realWidth&&(l.realWidth=null)}),o.length>0&&e){if(a.forEach(l=>{n+=Number(l.width||l.minWidth||80)}),n<=t){this.scrollX.value=!1;const l=t-n;if(o.length===1)o[0].realWidth=Number(o[0].minWidth||80)+l;else{const u=l/o.reduce((d,f)=>d+Number(f.minWidth||80),0);let c=0;o.forEach((d,f)=>{if(f===0)return;const v=Math.floor(Number(d.minWidth||80)*u);c+=v,d.realWidth=Number(d.minWidth||80)+v}),o[0].realWidth=Number(o[0].minWidth||80)+l-c}}else this.scrollX.value=!0,o.forEach(l=>{l.realWidth=Number(l.minWidth)});this.bodyWidth.value=Math.max(n,t),this.table.state.resizeState.value.width=this.bodyWidth.value}else a.forEach(l=>{!l.width&&!l.minWidth?l.realWidth=80:l.realWidth=Number(l.width||l.minWidth),n+=l.realWidth}),this.scrollX.value=n>t,this.bodyWidth.value=n;const s=this.store.states.fixedColumns.value;if(s.length>0){let l=0;s.forEach(u=>{l+=Number(u.realWidth||u.width)}),this.fixedWidth.value=l}const r=this.store.states.rightFixedColumns.value;if(r.length>0){let l=0;r.forEach(u=>{l+=Number(u.realWidth||u.width)}),this.rightFixedWidth.value=l}this.notifyObservers("columns")}addObserver(e){this.observers.push(e)}removeObserver(e){const t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}notifyObservers(e){this.observers.forEach(t=>{switch(e){case"columns":t.state?.onColumnsChange(this);break;case"scrollable":t.state?.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${e}.`)}})}};const fo=Symbol("ElTable"),SE=e=>{const t=[];return e.forEach(n=>{n.children?(t.push(n),t.push.apply(t,SE(n.children))):t.push(n)}),t},CE=e=>{let t=1;const n=(o,s)=>{if(s&&(o.level=s.level+1,t{n(l,o),r+=l.colSpan}),o.colSpan=r}else o.colSpan=1};e.forEach(o=>{o.level=1,n(o,void 0)});const a=[];for(let o=0;o{o.children?(o.rowSpan=1,o.children.forEach(s=>s.isSubColumn=!0)):o.rowSpan=t-o.level+1,a[o.level-1].push(o)}),a};function $U(e){const t=_e(fo),n=w(()=>CE(e.store.states.originColumns.value));return{isGroup:w(()=>{const s=n.value.length>1;return s&&t&&(t.state.isGroup.value=!0),s}),toggleAllSelection:s=>{s.stopPropagation(),t?.store.commit("toggleAllSelection")},columnRows:n}}var OU=se({name:"ElTableFilterPanel",components:{ElCheckbox:so,ElCheckboxGroup:gm,ElScrollbar:ao,ElTooltip:Ln,ElIcon:De,ArrowDown:Fo,ArrowUp:ef},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:zt.appendTo},setup(e){const t=ft(),{t:n}=Ct(),a=fe("table-filter"),o=t?.parent;e.column&&!o.filterPanels.value[e.column.id]&&(o.filterPanels.value[e.column.id]=t);const s=M(null),r=M(null),l=M(0),u=w(()=>e.column&&e.column.filters),c=w(()=>e.column&&e.column.filterClassName?`${a.b()} ${e.column.filterClassName}`:a.b()),d=w({get:()=>(e.column?.filteredValue||[])[0],set:$=>{f.value&&(va($)?f.value.splice(0,1):f.value.splice(0,1,$))}}),f=w({get(){return e.column?e.column.filteredValue||[]:[]},set($){e.column&&e.upDataColumn?.("filteredValue",$)}}),v=w(()=>e.column?e.column.filterMultiple:!0),g=$=>$.value===d.value,p=()=>{s.value?.onClose()},h=()=>{k(f.value),p()},m=()=>{f.value=[],k(f.value),p()},b=($,O)=>{d.value=$,l.value=O,va($)?k([]):k(f.value),p()},k=$=>{e.store?.commit("filterChange",{column:e.column,values:$}),e.store?.updateAllSelected()},y=()=>{r.value?.focus(),!v.value&&C(),e.column&&e.upDataColumn?.("filterOpened",!0)},S=()=>{e.column&&e.upDataColumn?.("filterOpened",!1)},C=()=>{if(va(d)){l.value=0;return}const $=(u.value||[]).findIndex(O=>O.value===d.value);l.value=$>=0?$+1:0};return{multiple:v,filterClassName:c,filteredValue:f,filterValue:d,filters:u,handleConfirm:h,handleReset:m,handleSelect:b,isPropAbsent:va,isActive:g,t:n,ns:a,tooltipRef:s,rootRef:r,checkedIndex:l,handleShowTooltip:y,handleHideTooltip:S,handleKeydown:$=>{const O=jt($),N=(u.value?u.value.length:0)+1;let R=l.value,A=!0;switch(O){case we.down:case we.right:R=(R+1)%N;break;case we.up:case we.left:R=(R-1+N)%N;break;case we.tab:p(),A=!1;break;case we.enter:case we.space:if(R===0)b(null,0);else{const _=(u.value||[])[R-1];_.value&&b(_.value,R)}break;default:A=!1;break}A&&$.preventDefault(),l.value=R,r.value?.querySelector(`.${a.e("list-item")}:nth-child(${R+1})`)?.focus()}}}});const RU=["disabled"],NU=["tabindex","aria-checked"],IU=["tabindex","aria-checked","onClick"],PU=["aria-label"];function MU(e,t,n,a,o,s){const r=It("el-checkbox"),l=It("el-checkbox-group"),u=It("el-scrollbar"),c=It("arrow-up"),d=It("arrow-down"),f=It("el-icon"),v=It("el-tooltip");return x(),oe(v,{ref:"tooltipRef",offset:0,placement:e.placement,"show-arrow":!1,trigger:"click",role:"dialog",teleported:"",effect:"light",pure:"",loop:"","popper-class":e.filterClassName,persistent:"","append-to":e.appendTo,onShow:e.handleShowTooltip,onHide:e.handleHideTooltip},{content:J(()=>[e.multiple?(x(),B("div",{key:0,ref:"rootRef",tabindex:"-1",class:T(e.ns.e("multiple"))},[z("div",{class:T(e.ns.e("content"))},[Y(u,{"wrap-class":e.ns.e("wrap")},{default:J(()=>[Y(l,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||(t[0]=g=>e.filteredValue=g),class:T(e.ns.e("checkbox-group"))},{default:J(()=>[(x(!0),B(Fe,null,gt(e.filters,g=>(x(),oe(r,{key:g.value,value:g.value},{default:J(()=>[wt(Se(g.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","class"])]),_:1},8,["wrap-class"])],2),z("div",{class:T(e.ns.e("bottom"))},[z("button",{class:T(e.ns.is("disabled",e.filteredValue.length===0)),disabled:e.filteredValue.length===0,type:"button",onClick:t[1]||(t[1]=(...g)=>e.handleConfirm&&e.handleConfirm(...g))},Se(e.t("el.table.confirmFilter")),11,RU),z("button",{type:"button",onClick:t[2]||(t[2]=(...g)=>e.handleReset&&e.handleReset(...g))},Se(e.t("el.table.resetFilter")),1)],2)],2)):(x(),B("ul",{key:1,ref:"rootRef",tabindex:"-1",role:"radiogroup",class:T(e.ns.e("list")),onKeydown:t[4]||(t[4]=(...g)=>e.handleKeydown&&e.handleKeydown(...g))},[z("li",{role:"radio",class:T([e.ns.e("list-item"),e.ns.is("active",e.isPropAbsent(e.filterValue))]),tabindex:e.checkedIndex===0?0:-1,"aria-checked":e.isPropAbsent(e.filterValue),onClick:t[3]||(t[3]=g=>e.handleSelect(null,0))},Se(e.t("el.table.clearFilter")),11,NU),(x(!0),B(Fe,null,gt(e.filters,(g,p)=>(x(),B("li",{key:g.value,role:"radio",class:T([e.ns.e("list-item"),e.ns.is("active",e.isActive(g))]),tabindex:e.checkedIndex===p+1?0:-1,"aria-checked":e.isActive(g),onClick:h=>e.handleSelect(g.value,p+1)},Se(g.text),11,IU))),128))],34))]),default:J(()=>[z("button",{type:"button",class:T(`${e.ns.namespace.value}-table__column-filter-trigger`),"aria-label":e.t("el.table.filterLabel",{column:e.column?.label||""})},[Y(f,null,{default:J(()=>[ee(e.$slots,"filter-icon",{},()=>[e.column?.filterOpened?(x(),oe(c,{key:0})):(x(),oe(d,{key:1}))])]),_:3})],10,PU)]),_:3},8,["placement","popper-class","append-to","onShow","onHide"])}var _U=$n(OU,[["render",MU]]);function Fm(e){const t=ft();Pd(()=>{n.value.addObserver(t)}),ht(()=>{a(n.value),o(n.value)}),ro(()=>{a(n.value),o(n.value)}),$l(()=>{n.value.removeObserver(t)});const n=w(()=>{const s=e.layout;if(!s)throw new Error("Can not find table layout.");return s}),a=s=>{const r=e.vnode.el?.querySelectorAll("colgroup > col")||[];if(!r.length)return;const l=s.getFlattenColumns(),u={};l.forEach(c=>{u[c.id]=c});for(let c=0,d=r.length;c{const r=e.vnode.el?.querySelectorAll("colgroup > col[name=gutter]")||[];for(let u=0,c=r.length;u{h.stopPropagation()},s=(h,m)=>{!m.filters&&m.sortable?p(h,m,!1):m.filterable&&!m.sortable&&o(h),a?.emit("header-click",m,h)},r=(h,m)=>{a?.emit("header-contextmenu",m,h)},l=M(null),u=M(!1),c=M(),d=(h,m)=>{if(Mt&&!(m.children&&m.children.length>0)&&l.value&&e.border&&l.value.id===m.id){u.value=!0;const b=a;t("set-drag-visible",!0);const k=b?.vnode.el?.getBoundingClientRect().left,y=n?.vnode?.el?.querySelector(`th.${m.id}`),S=y.getBoundingClientRect(),C=S.left-k+30;La(y,"noclick"),c.value={startMouseLeft:h.clientX,startLeft:S.right-k,startColumnLeft:S.left-k,tableLeft:k};const E=b?.refs.resizeProxy;E.style.left=`${c.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const $=N=>{const R=N.clientX-c.value.startMouseLeft,A=c.value.startLeft+R;E.style.left=`${Math.max(C,A)}px`},O=()=>{if(u.value){const{startColumnLeft:N,startLeft:R}=c.value;m.width=m.realWidth=Number.parseInt(E.style.left,10)-N,b?.emit("header-dragend",m.width,R-N,m,h),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",u.value=!1,l.value=null,c.value=void 0,t("set-drag-visible",!1)}document.removeEventListener("mousemove",$),document.removeEventListener("mouseup",O),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{ta(y,"noclick")},0)};document.addEventListener("mousemove",$),document.addEventListener("mouseup",O)}},f=(h,m)=>{if(!e.border||m.children&&m.children.length>0)return;const b=h.target,k=ha(b)?b.closest("th"):null;if(!k)return;const y=$o(k,"is-sortable");if(y){const N=u.value?"col-resize":"";k.style.cursor=N;const R=k.querySelector(".caret-wrapper");R&&(R.style.cursor=N)}if(!m.resizable||u.value){l.value=null;return}const S=k.getBoundingClientRect(),C=k.parentNode?.lastElementChild===k,E=e.allowDragLastColumn||!C,$=S.width>12&&S.right-h.clientX<8&&E,O=$?"col-resize":"";document.body.style.cursor=O,l.value=$?m:null,y&&(k.style.cursor=O)},v=()=>{!Mt||u.value||(document.body.style.cursor="")},g=({order:h,sortOrders:m})=>{if(h==="")return m[0];const b=m.indexOf(h||null);return m[b>m.length-2?0:b+1]},p=(h,m,b)=>{h.stopPropagation();const k=m.order===b?null:b||g(m),y=h.target?.closest("th");if(y&&$o(y,"noclick")){ta(y,"noclick");return}if(!m.sortable)return;const S=h.currentTarget;if(["ascending","descending"].some(N=>$o(S,N)&&!m.sortOrders.includes(N)))return;const C=e.store.states;let E=C.sortProp.value,$;const O=C.sortingColumn.value;(O!==m||O===m&&Kd(O.order))&&(O&&(O.order=null),C.sortingColumn.value=m,E=m.property),k?$=m.order=k:$=m.order=null,C.sortProp.value=E,C.sortOrder.value=$,a?.store.commit("changeSortCondition")};return{handleHeaderClick:s,handleHeaderContextMenu:r,handleMouseDown:d,handleMouseMove:f,handleMouseOut:v,handleSortClick:p,handleFilterClick:o}}function LU(e){const t=_e(fo),n=fe("table");return{getHeaderRowStyle:l=>{const u=t?.props.headerRowStyle;return Ve(u)?u.call(null,{rowIndex:l}):u},getHeaderRowClass:l=>{const u=[],c=t?.props.headerRowClassName;return Le(c)?u.push(c):Ve(c)&&u.push(c.call(null,{rowIndex:l})),u.join(" ")},getHeaderCellStyle:(l,u,c,d)=>{let f=t?.props.headerCellStyle??{};Ve(f)&&(f=f.call(null,{rowIndex:l,columnIndex:u,row:c,column:d}));const v=Dm(u,d.fixed,e.store,c);return El(v,"left"),El(v,"right"),Object.assign({},f,v)},getHeaderCellClass:(l,u,c,d)=>{const f=Lm(n.b(),u,d.fixed,e.store,c),v=[d.id,d.order,d.headerAlign,d.className,d.labelClassName,...f];d.children||v.push("is-leaf"),d.sortable&&v.push("is-sortable");const g=t?.props.headerCellClassName;return Le(g)?v.push(g):Ve(g)&&v.push(g.call(null,{rowIndex:l,columnIndex:u,row:c,column:d})),v.push(n.e("cell")),v.filter(p=>!!p).join(" ")}}}var DU=se({name:"ElTableHeader",components:{ElCheckbox:so},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})},appendFilterPanelTo:{type:String},allowDragLastColumn:{type:Boolean}},setup(e,{emit:t}){const n=ft(),a=_e(fo),o=fe("table"),s=M({}),{onColumnsChange:r,onScrollableChange:l}=Fm(a),u=a?.props.tableLayout==="auto",c=At(new Map),d=M();let f;const v=()=>{f=setTimeout(()=>{c.size>0&&(c.forEach((_,V)=>{const H=d.value.querySelector(`.${V.replace(/\s/g,".")}`);H&&(_.width=H.getBoundingClientRect().width||_.width)}),c.clear())})};le(c,v),Bt(()=>{f&&(clearTimeout(f),f=void 0)}),ht(async()=>{await Re(),await Re();const{prop:_,order:V}=e.defaultSort;a?.store.commit("sort",{prop:_,order:V,init:!0}),v()});const{handleHeaderClick:g,handleHeaderContextMenu:p,handleMouseDown:h,handleMouseMove:m,handleMouseOut:b,handleSortClick:k,handleFilterClick:y}=AU(e,t),{getHeaderRowStyle:S,getHeaderRowClass:C,getHeaderCellStyle:E,getHeaderCellClass:$}=LU(e),{isGroup:O,toggleAllSelection:N,columnRows:R}=$U(e),{t:A}=Ct();return n.state={onColumnsChange:r,onScrollableChange:l},n.filterPanels=s,{ns:o,t:A,filterPanels:s,onColumnsChange:r,onScrollableChange:l,columnRows:R,getHeaderRowClass:C,getHeaderRowStyle:S,getHeaderCellClass:$,getHeaderCellStyle:E,handleHeaderClick:g,handleHeaderContextMenu:p,handleMouseDown:h,handleMouseMove:m,handleMouseOut:b,handleSortClick:k,handleFilterClick:y,isGroup:O,toggleAllSelection:N,saveIndexSelection:c,isTableLayoutAuto:u,theadRef:d,updateFixedColumnStyle:v}},render(){const{ns:e,t,isGroup:n,columnRows:a,getHeaderCellStyle:o,getHeaderCellClass:s,getHeaderRowClass:r,getHeaderRowStyle:l,handleHeaderClick:u,handleHeaderContextMenu:c,handleMouseDown:d,handleMouseMove:f,handleSortClick:v,handleMouseOut:g,store:p,$parent:h,saveIndexSelection:m,isTableLayoutAuto:b}=this;let k=1;return Ye("thead",{ref:"theadRef",class:e.is("group",n)},a.map((y,S)=>Ye("tr",{class:r(S),key:S,style:l(S)},y.map((C,E)=>{C.rowSpan>k&&(k=C.rowSpan);const $=s(S,E,y,C);return b&&C.fixed&&m.set($,C),Ye("th",{class:$,colspan:C.colSpan,key:`${C.id}-thead`,rowspan:C.rowSpan,scope:C.colSpan>1?"colgroup":"col",ariaSort:C.sortable?C.order:void 0,style:o(S,E,y,C),onClick:O=>{O.currentTarget?.classList.contains("noclick")||u(O,C)},onContextmenu:O=>c(O,C),onMousedown:O=>d(O,C),onMousemove:O=>f(O,C),onMouseout:g},[Ye("div",{class:["cell",C.filteredValue&&C.filteredValue.length>0?"highlight":""]},[C.renderHeader?C.renderHeader({column:C,$index:E,store:p,_self:h}):C.label,C.sortable&&Ye("button",{type:"button",class:"caret-wrapper","aria-label":t("el.table.sortLabel",{column:C.label||""}),onClick:O=>v(O,C)},[Ye("i",{onClick:O=>v(O,C,"ascending"),class:"sort-caret ascending"}),Ye("i",{onClick:O=>v(O,C,"descending"),class:"sort-caret descending"})]),C.filterable&&Ye(_U,{store:p,placement:C.filterPlacement||"bottom-start",appendTo:h?.appendFilterPanelTo,column:C,upDataColumn:(O,N)=>{C[O]=N}},{"filter-icon":()=>C.renderFilterIcon?C.renderFilterIcon({filterOpened:C.filterOpened}):null})])])}))))}});function ip(e,t,n=.03){return e-t>n}function BU(e){const t=_e(fo),n=M(""),a=M(Ye("div")),o=(p,h,m)=>{const b=t,k=lp(p);let y=null;const S=b?.vnode.el?.dataset.prefix;k&&(y=P0({columns:e.store?.states.columns.value??[]},k,S),y&&b?.emit(`cell-${m}`,h,y,k,p)),b?.emit(`row-${m}`,h,y,p)},s=(p,h)=>{o(p,h,"dblclick")},r=(p,h)=>{e.store?.commit("setCurrentRow",h),o(p,h,"click")},l=(p,h)=>{o(p,h,"contextmenu")},u=Mo(p=>{e.store?.commit("setHoverRow",p)},30),c=Mo(()=>{e.store?.commit("setHoverRow",null)},30),d=p=>{const h=window.getComputedStyle(p,null);return{left:Number.parseInt(h.paddingLeft,10)||0,right:Number.parseInt(h.paddingRight,10)||0,top:Number.parseInt(h.paddingTop,10)||0,bottom:Number.parseInt(h.paddingBottom,10)||0}},f=(p,h,m)=>{let b=h?.target?.parentNode;for(;p>1&&(b=b?.nextSibling,!(!b||b.nodeName!=="TR"));)m(b,"hover-row hover-fixed-row"),p--};return{handleDoubleClick:s,handleClick:r,handleContextMenu:l,handleMouseEnter:u,handleMouseLeave:c,handleCellMouseEnter:(p,h,m)=>{if(!t)return;const b=t,k=lp(p),y=b?.vnode.el?.dataset.prefix;let S=null;if(k){if(S=P0({columns:e.store?.states.columns.value??[]},k,y),!S)return;k.rowSpan>1&&f(k.rowSpan,p,La);const P=b.hoverState={cell:k,column:S,row:h};b?.emit("cell-mouse-enter",P.row,P.column,P.cell,p)}if(!m){pa?.trigger===k&&pa?.();return}const C=p.target.querySelector(".cell");if(!($o(C,`${y}-tooltip`)&&C.childNodes.length&&C.textContent?.trim()))return;const E=document.createRange();E.setStart(C,0),E.setEnd(C,C.childNodes.length);const{width:$,height:O}=E.getBoundingClientRect(),{width:N,height:R}=C.getBoundingClientRect(),{top:A,left:_,right:V,bottom:H}=d(C),U=_+V,W=A+H;ip($+U,N)||ip(O+W,R)||ip(C.scrollWidth,N)?gU(m,(k?.innerText||k?.textContent)??"",h,S,k,b):pa?.trigger===k&&pa?.()},handleCellMouseLeave:p=>{const h=lp(p);if(!h)return;h.rowSpan>1&&f(h.rowSpan,p,ta);const m=t?.hoverState;t?.emit("cell-mouse-leave",m?.row,m?.column,m?.cell,p)},tooltipContent:n,tooltipTrigger:a}}function FU(e){const t=_e(fo),n=fe("table");return{getRowStyle:(c,d)=>{const f=t?.props.rowStyle;return Ve(f)?f.call(null,{row:c,rowIndex:d}):f||null},getRowClass:(c,d,f)=>{const v=[n.e("row")];t?.props.highlightCurrentRow&&c===e.store?.states.currentRow.value&&v.push("current-row"),e.stripe&&f%2===1&&v.push(n.em("row","striped"));const g=t?.props.rowClassName;return Le(g)?v.push(g):Ve(g)&&v.push(g.call(null,{row:c,rowIndex:d})),v},getCellStyle:(c,d,f,v)=>{const g=t?.props.cellStyle;let p=g??{};Ve(g)&&(p=g.call(null,{rowIndex:c,columnIndex:d,row:f,column:v}));const h=Dm(d,e?.fixed,e.store);return El(h,"left"),El(h,"right"),Object.assign({},p,h)},getCellClass:(c,d,f,v,g)=>{const p=Lm(n.b(),d,e?.fixed,e.store,void 0,g),h=[v.id,v.align,v.className,...p],m=t?.props.cellClassName;return Le(m)?h.push(m):Ve(m)&&h.push(m.call(null,{rowIndex:c,columnIndex:d,row:f,column:v})),h.push(n.e("cell")),h.filter(b=>!!b).join(" ")},getSpan:(c,d,f,v)=>{let g=1,p=1;const h=t?.props.spanMethod;if(Ve(h)){const m=h({row:c,column:d,rowIndex:f,columnIndex:v});ye(m)?(g=m[0],p=m[1]):ot(m)&&(g=m.rowspan,p=m.colspan)}return{rowspan:g,colspan:p}},getColspanRealWidth:(c,d,f)=>{if(d<1)return c[f].realWidth;const v=c.map(({realWidth:g,width:p})=>g||p).slice(f,f+d);return Number(v.reduce((g,p)=>Number(g)+Number(p),-1))}}}const VU=["colspan","rowspan"];var zU=se({name:"TableTdWrapper",__name:"td-wrapper",props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup(e){return(t,n)=>(x(),B("td",{colspan:e.colspan,rowspan:e.rowspan},[ee(t.$slots,"default")],8,VU))}}),HU=zU;function KU(e){const t=_e(fo),n=fe("table"),{handleDoubleClick:a,handleClick:o,handleContextMenu:s,handleMouseEnter:r,handleMouseLeave:l,handleCellMouseEnter:u,handleCellMouseLeave:c,tooltipContent:d,tooltipTrigger:f}=BU(e),{getRowStyle:v,getRowClass:g,getCellStyle:p,getCellClass:h,getSpan:m,getColspanRealWidth:b}=FU(e);let k=-1;const y=w(()=>e.store?.states.columns.value.findIndex(({type:O})=>O==="default")),S=(O,N)=>{const R=t?.props?.rowKey;return R?Hn(O,R):N},C=(O,N,R,A=!1)=>{const{tooltipEffect:_,tooltipOptions:V,store:H}=e,{indent:U,columns:W}=H.states,P=[];let I=!0;return R&&(P.push(n.em("row",`level-${R.level}`)),I=!!R.display),N===0&&(k=-1),e.stripe&&I&&k++,P.push(...g(O,N,k)),Ye("tr",{style:[I?null:{display:"none"},v(O,N)],class:P,key:S(O,N),onDblclick:L=>a(L,O),onClick:L=>o(L,O),onContextmenu:L=>s(L,O),onMouseenter:()=>r(N),onMouseleave:l},W.value.map((L,D)=>{const{rowspan:F,colspan:q}=m(O,L,N,D);if(!F||!q)return null;const j=Object.assign({},L);j.realWidth=b(W.value,q,D);const X={store:H,_self:e.context||t,column:j,row:O,$index:N,cellIndex:D,expanded:A};D===y.value&&R&&(X.treeNode={indent:R.level&&R.level*U.value,level:R.level},Ht(R.expanded)&&(X.treeNode.expanded=R.expanded,"loading"in R&&(X.treeNode.loading=R.loading),"noLazyChildren"in R&&(X.treeNode.noLazyChildren=R.noLazyChildren)));const Q=`${S(O,N)},${D}`,he=j.columnKey||j.rawColumnKey||"",ue=L.showOverflowTooltip&&AS({effect:_},V,L.showOverflowTooltip);return Ye(HU,{style:p(N,D,O,L),class:h(N,D,O,L,q-1),key:`${he}${Q}`,rowspan:F,colspan:q,onMouseenter:ge=>u(ge,O,ue),onMouseleave:c},{default:()=>E(D,L,X)})}))},E=(O,N,R)=>N.renderCell(R);return{wrappedRowRender:(O,N)=>{const R=e.store,{isRowExpanded:A,assertRowKey:_}=R,{treeData:V,lazyTreeNodeMap:H,childrenColumnName:U,rowKey:W}=R.states,P=R.states.columns.value;if(P.some(({type:I})=>I==="expand")){const I=A(O),L=C(O,N,void 0,I),D=t?.renderExpanded;if(!D)return console.error("[Element Error]renderExpanded is required."),L;const F=[[L]];return(t.props.preserveExpandedContent||I)&&F[0].push(Ye("tr",{key:`expanded-row__${L.key}`,style:{display:I?"":"none"}},[Ye("td",{colspan:P.length,class:`${n.e("cell")} ${n.e("expanded-cell")}`},[D({row:O,$index:N,store:R,expanded:I})])])),F}else if(Object.keys(V.value).length){_();const I=Hn(O,W.value);let L=V.value[I],D=null;L&&(D={expanded:L.expanded,level:L.level,display:!0,noLazyChildren:void 0,loading:void 0},Ht(L.lazy)&&(D&&Ht(L.loaded)&&L.loaded&&(D.noLazyChildren=!(L.children&&L.children.length)),D.loading=L.loading));const F=[C(O,N,D??void 0)];if(L){let q=0;const j=(X,Q)=>{X&&X.length&&Q&&X.forEach(he=>{const ue={display:Q.display&&Q.expanded,level:Q.level+1,expanded:!1,noLazyChildren:!1,loading:!1},ge=Hn(he,W.value);if(va(ge))throw new Error("For nested data item, row-key is required.");L={...V.value[ge]},L&&(ue.expanded=L.expanded,L.level=L.level||ue.level,L.display=!!(L.expanded&&ue.display),Ht(L.lazy)&&(Ht(L.loaded)&&L.loaded&&(ue.noLazyChildren=!(L.children&&L.children.length)),ue.loading=L.loading)),q++,F.push(C(he,N+q,ue)),L&&j(H.value[ge]||he[U.value],L)})};L.display=!0,j(H.value[I]||O[U.value],L)}return F}else return C(O,N,void 0)},tooltipContent:d,tooltipTrigger:f}}const WU={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var jU=se({name:"ElTableBody",props:WU,setup(e){const t=ft(),n=_e(fo),a=fe("table"),{wrappedRowRender:o,tooltipContent:s,tooltipTrigger:r}=KU(e),{onColumnsChange:l,onScrollableChange:u}=Fm(n),c=[];return le(e.store?.states.hoverRow,(d,f)=>{const v=t?.vnode.el,g=Array.from(v?.children||[]).filter(m=>m?.classList.contains(`${a.e("row")}`));let p=d;const h=g[p]?.childNodes;if(h?.length){let m=0;Array.from(h).reduce((b,k,y)=>(h[y]?.colSpan>1&&(m=h[y]?.colSpan),k.nodeName!=="TD"&&m===0&&b.push(y),m>0&&m--,b),[]).forEach(b=>{for(p=d;p>0;){const k=g[p-1]?.childNodes;if(k[b]&&k[b].nodeName==="TD"&&k[b].rowSpan>1){La(k[b],"hover-cell"),c.push(k[b]);break}p--}})}else c.forEach(m=>ta(m,"hover-cell")),c.length=0;!e.store?.states.isComplex.value||!Mt||eo(()=>{const m=g[f],b=g[d];m&&!m.classList.contains("hover-fixed-row")&&ta(m,"hover-row"),b&&La(b,"hover-row")})}),$l(()=>{pa?.()}),{ns:a,onColumnsChange:l,onScrollableChange:u,wrappedRowRender:o,tooltipContent:s,tooltipTrigger:r}},render(){const{wrappedRowRender:e,store:t}=this;return Ye("tbody",{tabIndex:-1},[(t?.states.data.value||[]).reduce((n,a)=>n.concat(e(a,n.length)),[])])}});function UU(){const e=_e(fo)?.store;return{leftFixedLeafCount:w(()=>e?.states.fixedLeafColumnsLength.value??0),rightFixedLeafCount:w(()=>e?.states.rightFixedColumns.value.length??0),columnsCount:w(()=>e?.states.columns.value.length??0),leftFixedCount:w(()=>e?.states.fixedColumns.value.length??0),rightFixedCount:w(()=>e?.states.rightFixedColumns.value.length??0),columns:w(()=>e?.states.columns.value??[])}}function qU(e){const{columns:t}=UU(),n=fe("table");return{getCellClasses:(s,r)=>{const l=s[r],u=[n.e("cell"),l.id,l.align,l.labelClassName,...Lm(n.b(),r,l.fixed,e.store)];return l.className&&u.push(l.className),l.children||u.push(n.is("leaf")),u},getCellStyles:(s,r)=>{const l=Dm(r,s.fixed,e.store);return El(l,"left"),El(l,"right"),l},columns:t}}var YU=se({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const t=_e(fo),n=fe("table"),{getCellClasses:a,getCellStyles:o,columns:s}=qU(e),{onScrollableChange:r,onColumnsChange:l}=Fm(t);return{ns:n,onScrollableChange:r,onColumnsChange:l,getCellClasses:a,getCellStyles:o,columns:s}},render(){const{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:a,sumText:o}=this,s=this.store.states.data.value;let r=[];return a?r=a({columns:e,data:s}):e.forEach((l,u)=>{if(u===0){r[u]=o;return}const c=s.map(g=>Number(g[l.property])),d=[];let f=!0;c.forEach(g=>{if(!Number.isNaN(+g)){f=!1;const p=`${g}`.split(".")[1];d.push(p?p.length:0)}});const v=Math.max.apply(null,d);f?r[u]="":r[u]=c.reduce((g,p)=>{const h=Number(p);return Number.isNaN(+h)?g:Number.parseFloat((g+p).toFixed(Math.min(v,20)))},0)}),Ye(Ye("tfoot",[Ye("tr",{},[...e.map((l,u)=>Ye("td",{key:u,colspan:l.colSpan,rowspan:l.rowSpan,class:n(e,u),style:t(l,u)},[Ye("div",{class:["cell",l.labelClassName]},[r[u]])]))])]))}});function GU(e){return{setCurrentRow:f=>{e.commit("setCurrentRow",f)},getSelectionRows:()=>e.getSelectionRows(),toggleRowSelection:(f,v,g=!0)=>{e.toggleRowSelection(f,v,!1,g),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:f=>{e.clearFilter(f)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(f,v)=>{e.toggleRowExpansionAdapter(f,v)},clearSort:()=>{e.clearSort()},sort:(f,v)=>{e.commit("sort",{prop:f,order:v})},updateKeyChildren:(f,v)=>{e.updateKeyChildren(f,v)}}}function XU(e,t,n,a){const o=M(!1),s=M(null),r=M(!1),l=U=>{r.value=U},u=M({width:null,height:null,headerHeight:null}),c=M(!1),d={display:"inline-block",verticalAlign:"middle"},f=M(),v=M(0),g=M(0),p=M(0),h=M(0),m=M(0);le(()=>e.height,U=>{t.setHeight(U??null)},{immediate:!0}),le(()=>e.maxHeight,U=>{t.setMaxHeight(U??null)},{immediate:!0}),le(()=>[e.currentRowKey,n.states.rowKey],([U,W])=>{!i(W)||!i(U)||n.setCurrentRowKey(`${U}`)},{immediate:!0}),le(()=>e.data,U=>{a.store.commit("setData",U)},{immediate:!0,deep:!0}),wa(()=>{e.expandRowKeys&&n.setExpandRowKeysAdapter(e.expandRowKeys)});const b=()=>{a.store.commit("setHoverRow",null),a.hoverState&&(a.hoverState=null)},k=(U,W)=>{const{pixelX:P,pixelY:I}=W;Math.abs(P)>=Math.abs(I)&&(a.refs.bodyWrapper.scrollLeft+=W.pixelX/5)},y=w(()=>e.height||e.maxHeight||n.states.fixedColumns.value.length>0||n.states.rightFixedColumns.value.length>0),S=w(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),C=()=>{y.value&&t.updateElsHeight(),t.updateColumnsWidth(),!(typeof window>"u")&&requestAnimationFrame(N)};ht(async()=>{await Re(),n.updateColumns(),R(),requestAnimationFrame(C);const U=a.vnode.el,W=a.refs.headerWrapper;e.flexible&&U&&U.parentElement&&(U.parentElement.style.minWidth="0"),u.value={width:f.value=U.offsetWidth,height:U.offsetHeight,headerHeight:e.showHeader&&W?W.offsetHeight:null},n.states.columns.value.forEach(P=>{P.filteredValue&&P.filteredValue.length&&a.store.commit("filterChange",{column:P,values:P.filteredValue,silent:!0})}),a.$ready=!0});const E=(U,W)=>{if(!U)return;const P=Array.from(U.classList).filter(I=>!I.startsWith("is-scrolling-"));P.push(t.scrollX.value?W:"is-scrolling-none"),U.className=P.join(" ")},$=U=>{const{tableWrapper:W}=a.refs;E(W,U)},O=U=>{const{tableWrapper:W}=a.refs;return!!(W&&W.classList.contains(U))},N=function(){if(!a.refs.scrollBarRef)return;if(!t.scrollX.value){const F="is-scrolling-none";O(F)||$(F);return}const U=a.refs.scrollBarRef.wrapRef;if(!U)return;const{scrollLeft:W,offsetWidth:P,scrollWidth:I}=U,{headerWrapper:L,footerWrapper:D}=a.refs;L&&(L.scrollLeft=W),D&&(D.scrollLeft=W),W>=I-P-1?$("is-scrolling-right"):$(W===0?"is-scrolling-left":"is-scrolling-middle")},R=()=>{a.refs.scrollBarRef&&(a.refs.scrollBarRef.wrapRef&&Ft(a.refs.scrollBarRef.wrapRef,"scroll",N,{passive:!0}),e.fit?en(a.vnode.el,A):Ft(window,"resize",A),en(a.refs.tableInnerWrapper,()=>{A(),a.refs?.scrollBarRef?.update()}))},A=()=>{const U=a.vnode.el;if(!a.$ready||!U)return;let W=!1;const{width:P,height:I,headerHeight:L}=u.value,D=f.value=U.offsetWidth;P!==D&&(W=!0);const F=U.offsetHeight;(e.height||y.value)&&I!==F&&(W=!0);const q=e.tableLayout==="fixed"?a.refs.headerWrapper:a.refs.tableHeaderRef?.$el;e.showHeader&&q?.offsetHeight!==L&&(W=!0),v.value=a.refs.tableWrapper?.scrollHeight||0,p.value=q?.scrollHeight||0,h.value=a.refs.footerWrapper?.offsetHeight||0,m.value=a.refs.appendWrapper?.offsetHeight||0,g.value=v.value-p.value-h.value-m.value,W&&(u.value={width:D,height:F,headerHeight:e.showHeader&&q?.offsetHeight||0},C())},_=Cn(),V=w(()=>{const{bodyWidth:U,scrollY:W,gutterWidth:P}=t;return U.value?`${U.value-(W.value?P:0)}px`:""}),H=w(()=>e.maxHeight?"fixed":e.tableLayout);return{isHidden:o,renderExpanded:s,setDragVisible:l,isGroup:c,handleMouseLeave:b,handleHeaderFooterMousewheel:k,tableSize:_,emptyBlockStyle:w(()=>{if(e.data&&e.data.length)return;let U="100%";e.height&&g.value&&(U=`${g.value}px`);const W=f.value;return{width:W?`${W}px`:"",height:U}}),resizeProxyVisible:r,bodyWidth:V,resizeState:u,doLayout:C,tableBodyStyles:S,tableLayout:H,scrollbarViewStyle:d,scrollbarStyle:w(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${p.value+h.value}px)`}:{maxHeight:`${+e.maxHeight-p.value-h.value}px`}:{})}}function JU(e){let t;const n=()=>{const a=e.vnode.el.querySelector(".hidden-columns"),o={childList:!0,subtree:!0},s=e.store.states.updateOrderFns;t=new MutationObserver(()=>{s.forEach(r=>r())}),t.observe(a,o)};ht(()=>{n()}),$l(()=>{t?.disconnect()})}var ZU={data:{type:Array,default:()=>[]},size:Tn,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,rowExpandable:{type:Function},defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:[String,Object,Array],default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0},preserveExpandedContent:Boolean,nativeScrollbar:Boolean};function kE(e){const t=e.tableLayout==="auto";let n=e.columns||[];t&&n.every(({width:o})=>Tt(o))&&(n=[]);const a=o=>{const s={key:`${e.tableLayout}_${o.id}`,style:{},name:void 0};return t?s.style={width:`${o.width}px`}:s.name=o.id,s};return Ye("colgroup",{},n.map(o=>Ye("col",a(o))))}kE.props=["columns","tableLayout"];const QU=()=>{const e=M(),t=(s,r)=>{const l=e.value;l&&l.scrollTo(s,r)},n=(s,r)=>{const l=e.value;l&&He(r)&&["Top","Left"].includes(s)&&l[`setScroll${s}`](r)};return{scrollBarRef:e,scrollTo:t,setScrollTop:s=>n("Top",s),setScrollLeft:s=>n("Left",s)}};let eq=1;var tq=se({name:"ElTable",directives:{Mousewheel:O8},components:{TableHeader:DU,TableBody:jU,TableFooter:YU,ElScrollbar:ao,hColgroup:kE},props:ZU,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-contextmenu","cell-click","cell-dblclick","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change","scroll"],setup(e){const{t}=Ct(),n=fe("table"),a=gs("table"),o=ft();St(fo,o);const s=EU(o,e);o.store=s;const r=new TU({store:o.store,table:o,fit:e.fit,showHeader:e.showHeader});o.layout=r;const l=w(()=>(s.states.data.value||[]).length===0),{setCurrentRow:u,getSelectionRows:c,toggleRowSelection:d,clearSelection:f,clearFilter:v,toggleAllSelection:g,toggleRowExpansion:p,clearSort:h,sort:m,updateKeyChildren:b}=GU(s),{isHidden:k,renderExpanded:y,setDragVisible:S,isGroup:C,handleMouseLeave:E,handleHeaderFooterMousewheel:$,tableSize:O,emptyBlockStyle:N,resizeProxyVisible:R,bodyWidth:A,resizeState:_,doLayout:V,tableBodyStyles:H,tableLayout:U,scrollbarViewStyle:W,scrollbarStyle:P}=XU(e,r,s,o),{scrollBarRef:I,scrollTo:L,setScrollLeft:D,setScrollTop:F}=QU(),q=Mo(V,50),j=`${n.namespace.value}-table_${eq++}`;o.tableId=j,o.state={isGroup:C,resizeState:_,doLayout:V,debouncedUpdateLayout:q};const X=w(()=>e.sumText??t("el.table.sumText")),Q=w(()=>e.emptyText??t("el.table.emptyText")),he=w(()=>e.tooltipEffect??a.value?.tooltipEffect),ue=w(()=>e.tooltipOptions??a.value?.tooltipOptions),ge=w(()=>CE(s.states.originColumns.value)[0]);return JU(o),Bt(()=>{q.cancel()}),{ns:n,layout:r,store:s,columns:ge,handleHeaderFooterMousewheel:$,handleMouseLeave:E,tableId:j,tableSize:O,isHidden:k,isEmpty:l,renderExpanded:y,resizeProxyVisible:R,resizeState:_,isGroup:C,bodyWidth:A,tableBodyStyles:H,emptyBlockStyle:N,debouncedUpdateLayout:q,setCurrentRow:u,getSelectionRows:c,toggleRowSelection:d,clearSelection:f,clearFilter:v,toggleAllSelection:g,toggleRowExpansion:p,clearSort:h,doLayout:V,sort:m,updateKeyChildren:b,t,setDragVisible:S,context:o,computedSumText:X,computedEmptyText:Q,computedTooltipEffect:he,computedTooltipOptions:ue,tableLayout:U,scrollbarViewStyle:W,scrollbarStyle:P,scrollBarRef:I,scrollTo:L,setScrollLeft:D,setScrollTop:F,allowDragLastColumn:e.allowDragLastColumn}}});const nq=["data-prefix"],aq={ref:"hiddenColumns",class:"hidden-columns"};function oq(e,t,n,a,o,s){const r=It("hColgroup"),l=It("table-header"),u=It("table-body"),c=It("table-footer"),d=It("el-scrollbar"),f=iv("mousewheel");return x(),B("div",{ref:"tableWrapper",class:T([{[e.ns.m("fit")]:e.fit,[e.ns.m("striped")]:e.stripe,[e.ns.m("border")]:e.border||e.isGroup,[e.ns.m("hidden")]:e.isHidden,[e.ns.m("group")]:e.isGroup,[e.ns.m("fluid-height")]:e.maxHeight,[e.ns.m("scrollable-x")]:e.layout.scrollX.value,[e.ns.m("scrollable-y")]:e.layout.scrollY.value,[e.ns.m("enable-row-hover")]:!e.store.states.isComplex.value,[e.ns.m("enable-row-transition")]:(e.store.states.data.value||[]).length!==0&&(e.store.states.data.value||[]).length<100,"has-footer":e.showSummary},e.ns.m(e.tableSize),e.className,e.ns.b(),e.ns.m(`layout-${e.tableLayout}`)]),style:Ke(e.style),"data-prefix":e.ns.namespace.value,onMouseleave:t[1]||(t[1]=(...v)=>e.handleMouseLeave&&e.handleMouseLeave(...v))},[z("div",{ref:"tableInnerWrapper",class:T(e.ns.e("inner-wrapper"))},[z("div",aq,[ee(e.$slots,"default")],512),e.showHeader&&e.tableLayout==="fixed"?ut((x(),B("div",{key:0,ref:"headerWrapper",class:T(e.ns.e("header-wrapper"))},[z("table",{ref:"tableHeader",class:T(e.ns.e("header")),style:Ke(e.tableBodyStyles),border:"0",cellpadding:"0",cellspacing:"0"},[Y(r,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),Y(l,{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,"allow-drag-last-column":e.allowDragLastColumn,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","append-filter-panel-to","allow-drag-last-column","onSetDragVisible"])],6)],2)),[[f,e.handleHeaderFooterMousewheel]]):te("v-if",!0),z("div",{ref:"bodyWrapper",class:T(e.ns.e("body-wrapper"))},[Y(d,{ref:"scrollBarRef","view-style":e.scrollbarViewStyle,"wrap-style":e.scrollbarStyle,always:e.scrollbarAlwaysOn,tabindex:e.scrollbarTabindex,native:e.nativeScrollbar,onScroll:t[0]||(t[0]=v=>e.$emit("scroll",v))},{default:J(()=>[z("table",{ref:"tableBody",class:T(e.ns.e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:Ke({width:e.bodyWidth,tableLayout:e.tableLayout})},[Y(r,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),e.showHeader&&e.tableLayout==="auto"?(x(),oe(l,{key:0,ref:"tableHeaderRef",class:T(e.ns.e("body-header")),border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,onSetDragVisible:e.setDragVisible},null,8,["class","border","default-sort","store","append-filter-panel-to","onSetDragVisible"])):te("v-if",!0),Y(u,{context:e.context,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":e.computedTooltipEffect,"tooltip-options":e.computedTooltipOptions,"row-style":e.rowStyle,store:e.store,stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&e.tableLayout==="auto"?(x(),oe(c,{key:1,class:T(e.ns.e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):te("v-if",!0)],6),e.isEmpty?(x(),B("div",{key:0,ref:"emptyBlock",style:Ke(e.emptyBlockStyle),class:T(e.ns.e("empty-block"))},[z("span",{class:T(e.ns.e("empty-text"))},[ee(e.$slots,"empty",{},()=>[wt(Se(e.computedEmptyText),1)])],2)],6)):te("v-if",!0),e.$slots.append?(x(),B("div",{key:1,ref:"appendWrapper",class:T(e.ns.e("append-wrapper"))},[ee(e.$slots,"append")],2)):te("v-if",!0)]),_:3},8,["view-style","wrap-style","always","tabindex","native"])],2),e.showSummary&&e.tableLayout==="fixed"?ut((x(),B("div",{key:1,ref:"footerWrapper",class:T(e.ns.e("footer-wrapper"))},[z("table",{class:T(e.ns.e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:Ke(e.tableBodyStyles)},[Y(r,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),Y(c,{border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[Pt,!e.isEmpty],[f,e.handleHeaderFooterMousewheel]]):te("v-if",!0),e.border||e.isGroup?(x(),B("div",{key:2,class:T(e.ns.e("border-left-patch"))},null,2)):te("v-if",!0)],2),ut(z("div",{ref:"resizeProxy",class:T(e.ns.e("column-resize-proxy"))},null,2),[[Pt,e.resizeProxyVisible]])],46,nq)}var sq=$n(tq,[["render",oq]]);const rq={selection:"table-column--selection",expand:"table__expand-column"},lq={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},iq=e=>rq[e]||"",uq={selection:{renderHeader({store:e}){function t(){return e.states.data.value&&e.states.data.value.length===0}return Ye(so,{disabled:t(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":e.toggleAllSelection??void 0,modelValue:e.states.isAllSelected.value,ariaLabel:e.t("el.table.selectAllLabel")})},renderCell({row:e,column:t,store:n,$index:a}){return Ye(so,{disabled:t.selectable?!t.selectable.call(null,e,a):!1,size:n.states.tableSize.value,onChange:()=>{n.commit("rowSelectedChanged",e)},onClick:o=>o.stopPropagation(),modelValue:n.isSelected(e),ariaLabel:n.t("el.table.selectRowLabel")})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let n=t+1;const a=e.index;return He(a)?n=t+a:Ve(a)&&(n=a(t)),Ye("div",{},[n])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({column:e,row:t,store:n,expanded:a,$index:o}){const{ns:s}=n,r=[s.e("expand-icon")];!e.renderExpand&&a&&r.push(s.em("expand-icon","expanded"));const l=function(c){c.stopPropagation(),n.toggleRowExpansion(t)},u=n.states.rowExpandable.value?.(t,o)??!0;return u||r.push(s.is("disabled")),Ye("button",{type:"button",disabled:!u,"aria-label":n.t(a?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":a,class:r,onClick:l},{default:()=>e.renderExpand?[e.renderExpand({expanded:a,expandable:u})]:[Ye(De,null,{default:()=>[Ye(na)]})]})},sortable:!1,resizable:!1}};function cq({row:e,column:t,$index:n}){const a=t.property,o=a&&Ms(e,a).value;return t&&t.formatter?t.formatter(e,t,o,n):o?.toString?.()||""}function dq({row:e,treeNode:t,store:n},a=!1){const{ns:o}=n;if(!t)return a?[Ye("span",{class:o.e("placeholder")})]:null;const s=[],r=function(l){l.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&s.push(Ye("span",{class:o.e("indent"),style:{"padding-left":`${t.indent}px`}})),Ht(t.expanded)&&!t.noLazyChildren){const l=[o.e("expand-icon"),t.expanded?o.em("expand-icon","expanded"):""];let u=na;t.loading&&(u=Ao),s.push(Ye("button",{type:"button","aria-label":n.t(t.expanded?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":t.expanded,class:l,onClick:r},{default:()=>[Ye(De,{class:o.is("loading",t.loading)},{default:()=>[Ye(u)]})]}))}else s.push(Ye("span",{class:o.e("placeholder")}));return s}function A0(e,t){return e.reduce((n,a)=>(n[a]=a,n),t)}function fq(e,t){const n=ft();return{registerComplexWatchers:()=>{const s=["fixed"],r={realWidth:"width",realMinWidth:"minWidth"},l=A0(s,r);Object.keys(l).forEach(u=>{const c=r[u];Nt(t,c)&&le(()=>t[c],d=>{let f=d;c==="width"&&u==="realWidth"&&(f=Am(d)),c==="minWidth"&&u==="realMinWidth"&&(f=vE(d)),n.columnConfig.value[c]=f,n.columnConfig.value[u]=f;const v=c==="fixed";e.value.store.scheduleLayout(v)})})},registerNormalWatchers:()=>{const s=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip","tooltipFormatter","resizable"],r=["showOverflowTooltip"],l={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},u=A0(s,l);Object.keys(u).forEach(d=>{const f=l[d];Nt(t,f)&&le(()=>t[f],v=>{n.columnConfig.value[d]=v,(d==="filters"||d==="filterMethod")&&(n.columnConfig.value.filterable=!!(n.columnConfig.value.filters||n.columnConfig.value.filterMethod))})}),r.forEach(d=>{Nt(e.value.props,d)&&le(()=>e.value.props[d],f=>{n.columnConfig.value.type!=="selection"&&Tt(t[d])&&(n.columnConfig.value[d]=f)})});const c=gs("table");c.value&&Nt(c.value,"showOverflowTooltip")&&le(()=>c.value?.showOverflowTooltip,d=>{n.columnConfig.value.type!=="selection"&&(!Tt(t.showOverflowTooltip)||!Tt(e.value.props.showOverflowTooltip)||(n.columnConfig.value.showOverflowTooltip=d))})}}}function pq(e,t,n){const a=ft(),o=M(""),s=M(!1),r=M(),l=M(),u=fe("table");wa(()=>{r.value=e.align?`is-${e.align}`:null,r.value}),wa(()=>{l.value=e.headerAlign?`is-${e.headerAlign}`:r.value,l.value});const c=w(()=>{let S=a.vnode.vParent||a.parent;for(;S&&!S.tableId&&!S.columnId;)S=S.vnode.vParent||S.parent;return S}),d=w(()=>{const{store:S}=a.parent;if(!S)return!1;const{treeData:C}=S.states,E=C.value;return E&&Object.keys(E).length>0}),f=M(Am(e.width)),v=M(vE(e.minWidth)),g=S=>(f.value&&(S.width=f.value),v.value&&(S.minWidth=v.value),!f.value&&v.value&&(S.width=void 0),S.minWidth||(S.minWidth=80),S.realWidth=Number(Tt(S.width)?S.minWidth:S.width),S),p=S=>{const C=S.type,E=uq[C]||{};Object.keys(E).forEach(O=>{const N=E[O];O!=="className"&&!Tt(N)&&(S[O]=N)});const $=iq(C);if($){const O=`${i(u.namespace)}-${$}`;S.className=S.className?`${S.className} ${O}`:O}return S},h=S=>{ye(S)?S.forEach(E=>C(E)):C(S);function C(E){E?.type?.name==="ElTableColumn"&&(E.vParent=a)}};return{columnId:o,realAlign:r,isSubColumn:s,realHeaderAlign:l,columnOrTableParent:c,setColumnWidth:g,setColumnForcedProps:p,setColumnRenders:S=>{e.renderHeader?pt("TableColumn","Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header."):S.type!=="selection"&&(S.renderHeader=E=>{if(a.columnConfig.value.label,t.header){const $=t.header(E);if(bE($))return Ye(Fe,$)}return wt(S.label)}),t["filter-icon"]&&(S.renderFilterIcon=E=>ee(t,"filter-icon",E)),t.expand&&(S.renderExpand=E=>ee(t,"expand",E));let C=S.renderCell;return S.type==="expand"?(S.renderCell=E=>Ye("div",{class:"cell"},[C(E)]),n.value.renderExpanded=E=>t.default?t.default(E):t.default):(C=C||cq,S.renderCell=E=>{let $=null;if(t.default){const _=t.default(E);$=_.some(V=>V.type!==gn)?_:C(E)}else $=C(E);const{columns:O}=n.value.store.states,N=O.value.findIndex(_=>_.type==="default"),R=dq(E,d.value&&E.cellIndex===N),A={class:"cell",style:{}};return S.showOverflowTooltip&&(A.class=`${A.class} ${i(u.namespace)}-tooltip`,A.style={width:`${(E.column.realWidth||Number(E.column.width))-1}px`}),h($),Ye("div",A,[R,$])}),S},getPropsData:(...S)=>S.reduce((C,E)=>(ye(E)&&E.forEach($=>{C[$]=e[$]}),C),{}),getColumnElIndex:(S,C)=>Array.prototype.indexOf.call(S,C),updateColumnOrder:()=>{n.value.store.commit("updateColumnOrder",a.columnConfig.value)}}}var hq={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}};let vq=1;var mq=se({name:"ElTableColumn",components:{ElCheckbox:so},props:hq,setup(e,{slots:t}){const n=ft(),a=gs("table"),o=M({}),s=w(()=>{let S=n.parent;for(;S&&!S.tableId;)S=S.parent;return S}),{registerNormalWatchers:r,registerComplexWatchers:l}=fq(s,e),{columnId:u,isSubColumn:c,realHeaderAlign:d,columnOrTableParent:f,setColumnWidth:v,setColumnForcedProps:g,setColumnRenders:p,getPropsData:h,getColumnElIndex:m,realAlign:b,updateColumnOrder:k}=pq(e,t,s),y=f.value;u.value=`${"tableId"in y&&y.tableId||"columnId"in y&&y.columnId}_column_${vq++}`,Pd(()=>{c.value=s.value!==y;const S=e.type||"default",C=e.sortable===""?!0:e.sortable,E=S==="selection"?!1:Tt(e.showOverflowTooltip)?y.props.showOverflowTooltip??a.value?.showOverflowTooltip:e.showOverflowTooltip,$=Tt(e.tooltipFormatter)?y.props.tooltipFormatter??a.value?.tooltipFormatter:e.tooltipFormatter,O={...lq[S],id:u.value,type:S,property:e.prop||e.property,align:b,headerAlign:d,showOverflowTooltip:E,tooltipFormatter:$,filterable:e.filters||e.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:C,index:e.index,rawColumnKey:n.vnode.key};let N=h(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);N=fU(O,N),N=hU(p,v,g)(N),o.value=N,r(),l()}),ht(()=>{const S=f.value,C=c.value?S.vnode.el?.children:S.refs.hiddenColumns?.children,E=()=>m(C||[],n.vnode.el);o.value.getColumnIndex=E,E()>-1&&s.value.store.commit("insertColumn",o.value,c.value?"columnConfig"in S&&S.columnConfig.value:null,k)}),Bt(()=>{const S=o.value.getColumnIndex;(S?S():-1)>-1&&s.value.store.commit("removeColumn",o.value,c.value?"columnConfig"in y&&y.columnConfig.value:null,k)}),n.columnId=u.value,n.columnConfig=o},render(){try{const e=this.$slots.default?.({row:{},column:{},$index:-1}),t=[];if(ye(e))for(const n of e)n.type?.name==="ElTableColumn"||n.shapeFlag&2?t.push(n):n.type===Fe&&ye(n.children)&&n.children.forEach(a=>{a?.patchFlag!==1024&&!Le(a?.children)&&t.push(a)});return Ye("div",t)}catch{return Ye("div",[])}}}),EE=mq;const gq=rt(sq,{TableColumn:EE}),bq=an(EE);let Eo=(function(e){return e.ASC="asc",e.DESC="desc",e})({}),yd=(function(e){return e.LEFT="left",e.CENTER="center",e.RIGHT="right",e})({}),yq=(function(e){return e.LEFT="left",e.RIGHT="right",e})({});const $h={[Eo.ASC]:Eo.DESC,[Eo.DESC]:Eo.ASC},Wi=Symbol("placeholder"),xE=String,Su={type:G(Array),required:!0},Vm={type:G(Array)},TE={...Vm,required:!0},wq=String,L0={type:G(Array),default:()=>rn([])},nr={type:Number,required:!0},$E={type:G([String,Number,Symbol]),default:"id"},D0={type:G(Object)},ir=Ce({class:String,columns:Su,columnsStyles:{type:G(Object),required:!0},depth:Number,expandColumnKey:wq,estimatedRowHeight:{...hr.estimatedRowHeight,default:void 0},isScrolling:Boolean,onRowExpand:{type:G(Function)},onRowHover:{type:G(Function)},onRowHeightChange:{type:G(Function)},rowData:{type:G(Object),required:!0},rowEventHandlers:{type:G(Object)},rowIndex:{type:Number,required:!0},rowKey:$E,style:{type:G(Object)}}),up={type:Number,required:!0},zm=Ce({class:String,columns:Su,fixedHeaderData:{type:G(Array)},headerData:{type:G(Array),required:!0},headerHeight:{type:G([Number,Array]),default:50},rowWidth:up,rowHeight:{type:Number,default:50},height:up,width:up}),Rc=Ce({columns:Su,data:TE,fixedData:Vm,estimatedRowHeight:ir.estimatedRowHeight,width:nr,height:nr,headerWidth:nr,headerHeight:zm.headerHeight,bodyWidth:nr,rowHeight:nr,cache:G2.cache,useIsScrolling:Boolean,scrollbarAlwaysOn:hr.scrollbarAlwaysOn,scrollbarStartGap:hr.scrollbarStartGap,scrollbarEndGap:hr.scrollbarEndGap,class:xE,style:D0,containerStyle:D0,getRowHeight:{type:G(Function),required:!0},rowKey:ir.rowKey,onRowsRendered:{type:G(Function)},onScroll:{type:G(Function)}}),Sq=Ce({cache:Rc.cache,estimatedRowHeight:ir.estimatedRowHeight,rowKey:$E,headerClass:{type:G([String,Function])},headerProps:{type:G([Object,Function])},headerCellProps:{type:G([Object,Function])},headerHeight:zm.headerHeight,footerHeight:{type:Number,default:0},rowClass:{type:G([String,Function])},rowProps:{type:G([Object,Function])},rowHeight:{type:Number,default:50},cellProps:{type:G([Object,Function])},columns:Su,data:TE,dataGetter:{type:G(Function)},fixedData:Vm,expandColumnKey:ir.expandColumnKey,expandedRowKeys:L0,defaultExpandedRowKeys:L0,class:xE,fixed:Boolean,style:{type:G(Object)},width:nr,height:nr,maxHeight:Number,useIsScrolling:Boolean,indentSize:{type:Number,default:12},iconSize:{type:Number,default:12},hScrollbarSize:hr.hScrollbarSize,vScrollbarSize:hr.vScrollbarSize,scrollbarAlwaysOn:Z2.alwaysOn,sortBy:{type:G(Object),default:()=>({})},sortState:{type:G(Object),default:void 0},onColumnSort:{type:G(Function)},onExpandedRowsChange:{type:G(Function)},onEndReached:{type:G(Function)},onRowExpand:ir.onRowExpand,onScroll:Rc.onScroll,onRowsRendered:Rc.onRowsRendered,rowEventHandlers:ir.rowEventHandlers}),Cq=(e,t,n)=>{const a={flexGrow:0,flexShrink:0,...n?{}:{flexGrow:e.flexGrow??0,flexShrink:e.flexShrink??1}},o={...e.style??{},...a,flexBasis:"auto",width:e.width};return t||(e.maxWidth&&(o.maxWidth=e.maxWidth),e.minWidth&&(o.minWidth=e.minWidth)),o};function kq(e,t,n){const a=w(()=>i(t).map((m,b)=>({...m,key:m.key??m.dataKey??b}))),o=w(()=>i(a).filter(m=>!m.hidden)),s=w(()=>i(o).filter(m=>m.fixed==="left"||m.fixed===!0)),r=w(()=>i(o).filter(m=>m.fixed==="right")),l=w(()=>i(o).filter(m=>!m.fixed)),u=w(()=>{const m=[];return i(s).forEach(b=>{m.push({...b,placeholderSign:Wi})}),i(l).forEach(b=>{m.push(b)}),i(r).forEach(b=>{m.push({...b,placeholderSign:Wi})}),m}),c=w(()=>i(s).length||i(r).length),d=w(()=>i(a).reduce((m,b)=>(m[b.key]=Cq(b,i(n),e.fixed),m),{})),f=w(()=>i(o).reduce((m,b)=>m+b.width,0)),v=m=>i(a).find(b=>b.key===m),g=m=>i(d)[m],p=(m,b)=>{m.width=b};function h(m){const{key:b}=m.currentTarget.dataset;if(!b)return;const{sortState:k,sortBy:y}=e;let S=Eo.ASC;ot(k)?S=$h[k[b]]:S=$h[y.order],e.onColumnSort?.({column:v(b),key:b,order:S})}return{columns:a,columnsStyles:d,columnsTotalWidth:f,fixedColumnsOnLeft:s,fixedColumnsOnRight:r,hasFixedColumns:c,mainColumns:u,normalColumns:l,visibleColumns:o,getColumn:v,getColumnStyle:g,updateColumnWidth:p,onColumnSorted:h}}const Eq=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:a,onMaybeEndReached:o})=>{const s=M({scrollLeft:0,scrollTop:0});function r(g){const{scrollTop:p}=g;t.value?.scrollTo(g),n.value?.scrollToTop(p),a.value?.scrollToTop(p)}function l(g){s.value=g,r(g)}function u(g){s.value.scrollTop=g,r(i(s))}function c(g){s.value.scrollLeft=g,t.value?.scrollTo?.(i(s))}function d(g){l(g),e.onScroll?.(g)}function f({scrollTop:g}){const{scrollTop:p}=i(s);g!==p&&u(g)}function v(g,p="auto"){t.value?.scrollToRow(g,p)}return le(()=>i(s).scrollTop,(g,p)=>{g>p&&o()}),{scrollPos:s,scrollTo:l,scrollToLeft:c,scrollToTop:u,scrollToRow:v,onScroll:d,onVerticalScroll:f}},xq=(e,{mainTableRef:t,leftTableRef:n,rightTableRef:a,tableInstance:o,ns:s,isScrolling:r})=>{const l=ft(),{emit:u}=l,c=Xt(!1),d=M(e.defaultExpandedRowKeys||[]),f=M(-1),v=Xt(null),g=M({}),p=M({}),h=Xt({}),m=Xt({}),b=Xt({}),k=w(()=>He(e.estimatedRowHeight));function y(R){e.onRowsRendered?.(R),R.rowCacheEnd>i(f)&&(f.value=R.rowCacheEnd)}function S({hovered:R,rowKey:A}){r.value||o.vnode.el.querySelectorAll(`[rowkey="${String(A)}"]`).forEach(_=>{R?_.classList.add(s.is("hovered")):_.classList.remove(s.is("hovered"))})}function C({expanded:R,rowData:A,rowIndex:_,rowKey:V}){const H=[...i(d)],U=H.indexOf(V);R?U===-1&&H.push(V):U>-1&&H.splice(U,1),d.value=H,u("update:expandedRowKeys",H),e.onRowExpand?.({expanded:R,rowData:A,rowIndex:_,rowKey:V}),e.onExpandedRowsChange?.(H),o.vnode.el.querySelector(`.${s.is("hovered")}[rowkey="${String(V)}"]`)&&Re(()=>S({hovered:!0,rowKey:V}))}const E=Mo(()=>{c.value=!0,g.value={...i(g),...i(p)},$(i(v),!1),p.value={},v.value=null,t.value?.forceUpdate(),n.value?.forceUpdate(),a.value?.forceUpdate(),l.proxy?.$forceUpdate(),c.value=!1},0);function $(R,A=!1){i(k)&&[t,n,a].forEach(_=>{const V=i(_);V&&V.resetAfterRowIndex(R,A)})}function O(R,A,_){const V=i(v);(V===null||V>_)&&(v.value=_),p.value[R]=A}function N({rowKey:R,height:A,rowIndex:_},V){V?V===yq.RIGHT?b.value[R]=A:h.value[R]=A:m.value[R]=A;const H=Math.max(...[h,b,m].map(U=>U.value[R]||0));i(g)[R]!==H&&(O(R,H,_),E())}return{expandedRowKeys:d,lastRenderedRowIndex:f,isDynamic:k,isResetting:c,rowHeights:g,resetAfterIndex:$,onRowExpanded:C,onRowHovered:S,onRowsRendered:y,onRowHeightChange:N}},Tq=(e,{expandedRowKeys:t,lastRenderedRowIndex:n,resetAfterIndex:a})=>{const o=M({}),s=w(()=>{const l={},{data:u,rowKey:c}=e,d=i(t);if(!d||!d.length)return u;const f=[],v=new Set;d.forEach(p=>v.add(p));let g=u.slice();for(g.forEach(p=>l[p[c]]=0);g.length>0;){const p=g.shift();f.push(p),v.has(p[c])&&ye(p.children)&&p.children.length>0&&(g=[...p.children,...g],p.children.forEach(h=>l[h[c]]=l[p[c]]+1))}return o.value=l,f}),r=w(()=>{const{data:l,expandColumnKey:u}=e;return u?i(s):l});return le(r,(l,u)=>{l!==u&&(n.value=-1,a(0,!0))}),{data:r,depthMap:o}},$q=(e,t)=>e+t,Nc=e=>ye(e)?e.reduce($q,0):e,Er=(e,t,n={})=>Ve(e)?e(t):e??n,Ps=e=>(["width","maxWidth","minWidth","height"].forEach(t=>{e[t]=ln(e[t])}),e),OE=e=>Ut(e)?t=>Ye(e,t):e,Oq=(e,{columnsTotalWidth:t,rowsHeight:n,fixedColumnsOnLeft:a,fixedColumnsOnRight:o})=>{const s=w(()=>{const{fixed:h,width:m,vScrollbarSize:b}=e,k=m-b;return h?Math.max(Math.round(i(t)),k):k}),r=w(()=>{const{height:h=0,maxHeight:m=0,footerHeight:b,hScrollbarSize:k}=e;if(m>0){const y=i(v),S=i(n),C=i(f)+y+S+k;return Math.min(C,m-b)}return h-b}),l=w(()=>{const{maxHeight:h}=e,m=i(r);if(He(h)&&h>0)return m;const b=i(n)+i(f)+i(v);return Math.min(m,b)}),u=h=>h.width,c=w(()=>Nc(i(a).map(u))),d=w(()=>Nc(i(o).map(u))),f=w(()=>Nc(e.headerHeight)),v=w(()=>(e.fixedData?.length||0)*e.rowHeight),g=w(()=>i(r)-i(f)-i(v)),p=w(()=>{const{style:h={},height:m,width:b}=e;return Ps({...h,height:m,width:b})});return{bodyWidth:s,fixedTableHeight:l,mainTableHeight:r,leftTableWidth:c,rightTableWidth:d,windowHeight:g,footerHeight:w(()=>Ps({height:e.footerHeight})),emptyStyle:w(()=>({top:ln(i(f)),bottom:ln(e.footerHeight),width:ln(e.width)})),rootStyle:p,headerHeight:f}};function Rq(e){const t=M(),n=M(),a=M(),{columns:o,columnsStyles:s,columnsTotalWidth:r,fixedColumnsOnLeft:l,fixedColumnsOnRight:u,hasFixedColumns:c,mainColumns:d,onColumnSorted:f}=kq(e,Vt(e,"columns"),Vt(e,"fixed")),{scrollTo:v,scrollToLeft:g,scrollToTop:p,scrollToRow:h,onScroll:m,onVerticalScroll:b,scrollPos:k}=Eq(e,{mainTableRef:t,leftTableRef:n,rightTableRef:a,onMaybeEndReached:Z}),y=fe("table-v2"),S=ft(),C=Xt(!1),{expandedRowKeys:E,lastRenderedRowIndex:$,isDynamic:O,isResetting:N,rowHeights:R,resetAfterIndex:A,onRowExpanded:_,onRowHeightChange:V,onRowHovered:H,onRowsRendered:U}=xq(e,{mainTableRef:t,leftTableRef:n,rightTableRef:a,tableInstance:S,ns:y,isScrolling:C}),{data:W,depthMap:P}=Tq(e,{expandedRowKeys:E,lastRenderedRowIndex:$,resetAfterIndex:A}),I=w(()=>{const{estimatedRowHeight:re,rowHeight:ce}=e,ve=i(W);return He(re)?Object.values(i(R)).reduce((ke,Ne)=>ke+Ne,0):ve.length*ce}),{bodyWidth:L,fixedTableHeight:D,mainTableHeight:F,leftTableWidth:q,rightTableWidth:j,windowHeight:X,footerHeight:Q,emptyStyle:he,rootStyle:ue,headerHeight:ge}=Oq(e,{columnsTotalWidth:r,fixedColumnsOnLeft:l,fixedColumnsOnRight:u,rowsHeight:I}),ie=M(),ae=w(()=>{const re=i(W).length===0;return ye(e.fixedData)?e.fixedData.length===0&&re:re});function ne(re){const{estimatedRowHeight:ce,rowHeight:ve,rowKey:ke}=e;return ce?i(R)[i(W)[re][ke]]||ce:ve}const K=M(!1);function Z(){const{onEndReached:re}=e;if(!re)return;const{scrollTop:ce}=i(k),ve=i(I),ke=ve-(ce+i(X))+e.hScrollbarSize;!K.value&&i($)>=0&&ve<=ce+i(F)-i(ge)?(K.value=!0,re(ke)):K.value=!1}return le(()=>i(I),()=>K.value=!1),le(()=>e.expandedRowKeys,re=>E.value=re,{deep:!0}),{columns:o,containerRef:ie,mainTableRef:t,leftTableRef:n,rightTableRef:a,isDynamic:O,isResetting:N,isScrolling:C,hasFixedColumns:c,columnsStyles:s,columnsTotalWidth:r,data:W,expandedRowKeys:E,depthMap:P,fixedColumnsOnLeft:l,fixedColumnsOnRight:u,mainColumns:d,bodyWidth:L,emptyStyle:he,rootStyle:ue,footerHeight:Q,mainTableHeight:F,fixedTableHeight:D,leftTableWidth:q,rightTableWidth:j,showEmpty:ae,getRowHeight:ne,onColumnSorted:f,onRowHovered:H,onRowExpanded:_,onRowsRendered:U,onRowHeightChange:V,scrollTo:v,scrollToLeft:g,scrollToTop:p,scrollToRow:h,onScroll:m,onVerticalScroll:b}}const Hm=Symbol("tableV2"),RE="tableV2GridScrollLeft",Nq=se({name:"ElTableV2Header",props:zm,setup(e,{slots:t,expose:n}){const a=fe("table-v2"),o=_e(RE),s=M(),r=w(()=>Ps({width:e.width,height:e.height})),l=w(()=>Ps({width:e.rowWidth,height:e.height})),u=w(()=>Nn(i(e.headerHeight))),c=v=>{const g=i(s);Re(()=>{g?.scroll&&g.scroll({left:v})})},d=()=>{const v=a.e("fixed-header-row"),{columns:g,fixedHeaderData:p,rowHeight:h}=e;return p?.map((m,b)=>{const k=Ps({height:h,width:"100%"});return t.fixed?.({class:v,columns:g,rowData:m,rowIndex:-(b+1),style:k})})},f=()=>{const v=a.e("dynamic-header-row"),{columns:g}=e;return i(u).map((p,h)=>{const m=Ps({width:"100%",height:p});return t.dynamic?.({class:v,columns:g,headerIndex:h,style:m})})};return ro(()=>{o?.value&&c(o.value)}),n({scrollToLeft:c}),()=>{if(!(e.height<=0))return Y("div",{ref:s,class:e.class,style:i(r),role:"rowgroup"},[Y("div",{style:i(l),class:a.e("header")},[f(),d()])])}}}),Iq="ElTableV2Grid",Pq=e=>{const t=M(),n=M(),a=M(0),o=w(()=>{const{data:m,rowHeight:b,estimatedRowHeight:k}=e;if(!k)return m.length*b}),s=w(()=>{const{fixedData:m,rowHeight:b}=e;return(m?.length||0)*b}),r=w(()=>Nc(e.headerHeight)),l=w(()=>{const{height:m}=e;return Math.max(0,m-i(r)-i(s))}),u=w(()=>i(r)+i(s)>0),c=({data:m,rowIndex:b})=>m[b][e.rowKey];function d({rowCacheStart:m,rowCacheEnd:b,rowVisibleStart:k,rowVisibleEnd:y}){e.onRowsRendered?.({rowCacheStart:m,rowCacheEnd:b,rowVisibleStart:k,rowVisibleEnd:y})}function f(m,b){n.value?.resetAfterRowIndex(m,b)}function v(m,b){const k=i(t),y=i(n);ot(m)?(k?.scrollToLeft(m.scrollLeft),a.value=m.scrollLeft,y?.scrollTo(m)):(k?.scrollToLeft(m),a.value=m,y?.scrollTo({scrollLeft:m,scrollTop:b}))}function g(m){i(n)?.scrollTo({scrollTop:m})}function p(m,b){const k=i(n);if(!k)return;const y=a.value;k.scrollToItem(m,0,b),y&&v({scrollLeft:y})}function h(){i(n)?.$forceUpdate(),i(t)?.$forceUpdate()}return le(()=>e.bodyWidth,()=>{He(e.estimatedRowHeight)&&n.value?.resetAfter({columnIndex:0},!1)}),{bodyRef:n,forceUpdate:h,fixedRowHeight:s,gridHeight:l,hasHeader:u,headerHeight:r,headerRef:t,totalHeight:o,itemKey:c,onItemRendered:d,resetAfterRowIndex:f,scrollTo:v,scrollToTop:g,scrollToRow:p,scrollLeft:a}},Km=se({name:Iq,props:Rc,setup(e,{slots:t,expose:n}){const{ns:a}=_e(Hm),{bodyRef:o,fixedRowHeight:s,gridHeight:r,hasHeader:l,headerRef:u,headerHeight:c,totalHeight:d,forceUpdate:f,itemKey:v,onItemRendered:g,resetAfterRowIndex:p,scrollTo:h,scrollToTop:m,scrollToRow:b,scrollLeft:k}=Pq(e);St(RE,k),Gi(async()=>{await Re();const S=o.value?.states.scrollTop;S&&m(Math.round(S)+1)}),n({forceUpdate:f,totalHeight:d,scrollTo:h,scrollToTop:m,scrollToRow:b,resetAfterRowIndex:p});const y=()=>e.bodyWidth;return()=>{const{cache:S,columns:C,data:E,fixedData:$,useIsScrolling:O,scrollbarAlwaysOn:N,scrollbarEndGap:R,scrollbarStartGap:A,style:_,rowHeight:V,bodyWidth:H,estimatedRowHeight:U,headerWidth:W,height:P,width:I,getRowHeight:L,onScroll:D}=e,F=He(U),q=F?W9:V9,j=i(c);return Y("div",{role:"table",class:[a.e("table"),e.class],style:_},[Y(q,{ref:o,data:E,useIsScrolling:O,itemKey:v,columnCache:0,columnWidth:F?y:H,totalColumn:1,totalRow:E.length,rowCache:S,rowHeight:F?L:V,width:I,height:i(r),class:a.e("body"),role:"rowgroup",scrollbarStartGap:A,scrollbarEndGap:R,scrollbarAlwaysOn:N,onScroll:D,onItemRendered:g,perfMode:!1},{default:X=>{const Q=E[X.rowIndex];return t.row?.({...X,columns:C,rowData:Q})}}),i(l)&&Y(Nq,{ref:u,class:a.e("header-wrapper"),columns:C,headerData:E,headerHeight:e.headerHeight,fixedHeaderData:$,rowWidth:W,rowHeight:V,width:I,height:Math.min(j+i(s),P)},{dynamic:t.header,fixed:t.row})])}}});function Mq(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Ut(e)}const _q=(e,{slots:t})=>{const{mainTableRef:n,...a}=e;return Y(Km,dt({ref:n},a),Mq(t)?t:{default:()=>[t]})};function Aq(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Ut(e)}const Lq=(e,{slots:t})=>{if(!e.columns.length)return;const{leftTableRef:n,...a}=e;return Y(Km,dt({ref:n},a),Aq(t)?t:{default:()=>[t]})};function Dq(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Ut(e)}const Bq=(e,{slots:t})=>{if(!e.columns.length)return;const{rightTableRef:n,...a}=e;return Y(Km,dt({ref:n},a),Dq(t)?t:{default:()=>[t]})},Fq=e=>{const{isScrolling:t}=_e(Hm),n=M(!1),a=M(),o=w(()=>He(e.estimatedRowHeight)&&e.rowIndex>=0),s=(u=!1)=>{const c=i(a);if(!c)return;const{columns:d,onRowHeightChange:f,rowKey:v,rowIndex:g,style:p}=e,{height:h}=c.getBoundingClientRect();n.value=!0,Re(()=>{if(u||h!==Number.parseInt(p.height)){const m=d[0],b=m?.placeholderSign===Wi;f?.({rowKey:v,height:h,rowIndex:g},m&&!b&&m.fixed)}})},r=w(()=>{const{rowData:u,rowIndex:c,rowKey:d,onRowHover:f}=e,v=e.rowEventHandlers||{},g={};return Object.entries(v).forEach(([p,h])=>{Ve(h)&&(g[p]=m=>{h({event:m,rowData:u,rowIndex:c,rowKey:d})})}),f&&[{name:"onMouseleave",hovered:!1},{name:"onMouseenter",hovered:!0}].forEach(({name:p,hovered:h})=>{const m=g[p];g[p]=b=>{f({event:b,hovered:h,rowData:u,rowIndex:c,rowKey:d}),m?.(b)}}),g}),l=u=>{const{onRowExpand:c,rowData:d,rowIndex:f,rowKey:v}=e;c?.({expanded:u,rowData:d,rowIndex:f,rowKey:v})};return ht(()=>{i(o)&&s(!0)}),{isScrolling:t,measurable:o,measured:n,rowRef:a,eventHandlers:r,onExpand:l}},Vq=se({name:"ElTableV2TableRow",props:ir,setup(e,{expose:t,slots:n,attrs:a}){const{eventHandlers:o,isScrolling:s,measurable:r,measured:l,rowRef:u,onExpand:c}=Fq(e);return t({onExpand:c}),()=>{const{columns:d,columnsStyles:f,expandColumnKey:v,depth:g,rowData:p,rowIndex:h,style:m}=e;let b=d.map((k,y)=>{const S=ye(p.children)&&p.children.length>0&&k.key===v;return n.cell({column:k,columns:d,columnIndex:y,depth:g,style:f[k.key],rowData:p,rowIndex:h,isScrolling:i(s),expandIconProps:S?{rowData:p,rowIndex:h,onExpand:c}:void 0})});if(n.row&&(b=n.row({cells:b.map(k=>ye(k)&&k.length===1?k[0]:k),style:m,columns:d,depth:g,rowData:p,rowIndex:h,isScrolling:i(s)})),i(r)){const{height:k,...y}=m||{},S=i(l);return Y("div",dt({ref:u,class:e.class,style:S?m:y,role:"row"},a,i(o)),[b])}return Y("div",dt(a,{ref:u,class:e.class,style:m,role:"row"},i(o)),[b])}}});function zq(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Ut(e)}const Hq=(e,{slots:t})=>{const{columns:n,columnsStyles:a,depthMap:o,expandColumnKey:s,expandedRowKeys:r,estimatedRowHeight:l,hasFixedColumns:u,rowData:c,rowIndex:d,style:f,isScrolling:v,rowProps:g,rowClass:p,rowKey:h,rowEventHandlers:m,ns:b,onRowHovered:k,onRowExpanded:y}=e,S=Er(p,{columns:n,rowData:c,rowIndex:d},""),C=Er(g,{columns:n,rowData:c,rowIndex:d}),E=c[h],$=o[E]||0,O=!!s,N=d<0,R=[b.e("row"),S,b.is("expanded",O&&r.includes(E)),b.is("fixed",!$&&N),b.is("customized",!!t.row),{[b.e(`row-depth-${$}`)]:O&&d>=0}],A=u?k:void 0,_={...C,columns:n,columnsStyles:a,class:R,depth:$,expandColumnKey:s,estimatedRowHeight:N?void 0:l,isScrolling:v,rowIndex:d,rowData:c,rowKey:E,rowEventHandlers:m,style:f};return Y(Vq,dt(_,{onRowExpand:y,onMouseenter:U=>{A?.({hovered:!0,rowKey:E,event:U,rowData:c,rowIndex:d})},onMouseleave:U=>{A?.({hovered:!1,rowKey:E,event:U,rowData:c,rowIndex:d})},rowkey:E}),zq(t)?t:{default:()=>[t]})},Wm=(e,{slots:t})=>{const{cellData:n,style:a}=e,o=n?.toString?.()||"",s=ee(t,"default",e,()=>[o]);return Y("div",{class:e.class,title:o,style:a},[s])};Wm.displayName="ElTableV2Cell";Wm.inheritAttrs=!1;const NE=e=>{const{expanded:t,expandable:n,onExpand:a,style:o,size:s,ariaLabel:r}=e;return Y("button",dt({onClick:n?()=>a(!t):void 0,ariaLabel:r,ariaExpanded:t,class:e.class},{type:"button"}),[Y(De,{size:s,style:o},{default:()=>[Y(na,null,null)]})])};NE.inheritAttrs=!1;const Oh=({columns:e,column:t,columnIndex:n,depth:a,expandIconProps:o,isScrolling:s,rowData:r,rowIndex:l,style:u,expandedRowKeys:c,ns:d,t:f,cellProps:v,expandColumnKey:g,indentSize:p,iconSize:h,rowKey:m},{slots:b})=>{const k=Ps(u);if(t.placeholderSign===Wi)return Y("div",{class:d.em("row-cell","placeholder"),style:k},null);const{cellRenderer:y,dataKey:S,dataGetter:C}=t,E=Ve(C)?C({columns:e,column:t,columnIndex:n,rowData:r,rowIndex:l}):wn(r,S??""),$=Er(v,{cellData:E,columns:e,column:t,columnIndex:n,rowIndex:l,rowData:r}),O={class:d.e("cell-text"),columns:e,column:t,columnIndex:n,cellData:E,isScrolling:s,rowData:r,rowIndex:l},N=OE(y),R=N?N(O):ee(b,"default",O,()=>[Y(Wm,O,null)]),A=[d.e("row-cell"),t.class,t.align===yd.CENTER&&d.is("align-center"),t.align===yd.RIGHT&&d.is("align-right")],_=l>=0&&g&&t.key===g,V=l>=0&&c.includes(r[m]);let H;const U=`margin-inline-start: ${a*p}px;`;return _&&(ot(o)?H=Y(NE,dt(o,{class:[d.e("expand-icon"),d.is("expanded",V)],size:h,expanded:V,ariaLabel:f(V?"el.table.collapseRowLabel":"el.table.expandRowLabel"),style:U,expandable:!0}),null):H=Y("div",{style:[U,`width: ${h}px; height: ${h}px;`].join(" ")},null)),Y("div",dt({class:A,style:k},$,{role:"cell"}),[H,R])};Oh.inheritAttrs=!1;const Kq=Ce({class:String,columns:Su,columnsStyles:{type:G(Object),required:!0},headerIndex:Number,style:{type:G(Object)}}),Wq=se({name:"ElTableV2HeaderRow",props:Kq,setup(e,{slots:t}){return()=>{const{columns:n,columnsStyles:a,headerIndex:o,style:s}=e;let r=n.map((l,u)=>t.cell({columns:n,column:l,columnIndex:u,headerIndex:o,style:a[l.key]}));return t.header&&(r=t.header({cells:r.map(l=>ye(l)&&l.length===1?l[0]:l),columns:n,headerIndex:o})),Y("div",{class:e.class,style:s,role:"row"},[r])}}});function jq(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Ut(e)}const Uq=({columns:e,columnsStyles:t,headerIndex:n,style:a,headerClass:o,headerProps:s,ns:r},{slots:l})=>{const u={columns:e,headerIndex:n},c=[r.e("header-row"),Er(o,u,""),r.is("customized",!!l.header)];return Y(Wq,{...Er(s,u),columnsStyles:t,class:c,columns:e,headerIndex:n,style:a},jq(l)?l:{default:()=>[l]})},jm=(e,{slots:t})=>ee(t,"default",e,()=>[Y("div",{class:e.class,title:e.column?.title},[e.column?.title])]);jm.displayName="ElTableV2HeaderCell";jm.inheritAttrs=!1;const qq=e=>{const{sortOrder:t}=e;return Y("button",{type:"button","aria-label":e.ariaLabel,class:e.class},[Y(De,{size:14},{default:()=>[t===Eo.ASC?Y(L3,null,null):Y(_3,null,null)]})])},B0=(e,{slots:t})=>{const{column:n,ns:a,t:o,style:s,onColumnSorted:r}=e,l=Ps(s);if(n.placeholderSign===Wi)return Y("div",{class:a.em("header-row-cell","placeholder"),style:l},null);const{headerCellRenderer:u,headerClass:c,sortable:d}=n,f={...e,class:a.e("header-cell-text")},v=OE(u),g=v?v(f):ee(t,"default",f,()=>[Y(jm,f,null)]),{sortBy:p,sortState:h,headerCellProps:m}=e;let b,k,y;if(h){const C=h[n.key];b=!!$h[C],k=b?C:Eo.ASC}else b=n.key===p.key,k=b?p.order:Eo.ASC;k===Eo.ASC?y="ascending":k===Eo.DESC?y="descending":y=void 0;const S=[a.e("header-cell"),Er(c,e,""),n.align===yd.CENTER&&a.is("align-center"),n.align===yd.RIGHT&&a.is("align-right"),d&&a.is("sortable")];return Y("div",dt({...Er(m,e),onClick:n.sortable?r:void 0,ariaSort:d?y:void 0,class:S,style:l,"data-key":n.key},{role:"columnheader"}),[g,d&&Y(qq,{class:[a.e("sort-icon"),b&&a.is("sorting")],sortOrder:k,ariaLabel:o("el.table.sortLabel",{column:n.title||""})},null)])},IE=(e,{slots:t})=>Y("div",{class:e.class,style:e.style},[t.default?.()]);IE.displayName="ElTableV2Footer";const PE=(e,{slots:t})=>{const n=ee(t,"default",{},()=>[Y(D2,null,null)]);return Y("div",{class:e.class,style:e.style},[n])};PE.displayName="ElTableV2Empty";const ME=(e,{slots:t})=>Y("div",{class:e.class,style:e.style},[t.default?.()]);ME.displayName="ElTableV2Overlay";function Yl(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Ut(e)}const Yq=se({name:"ElTableV2",props:Sq,setup(e,{slots:t,expose:n}){const a=fe("table-v2"),{t:o}=Ct(),{columnsStyles:s,fixedColumnsOnLeft:r,fixedColumnsOnRight:l,mainColumns:u,mainTableHeight:c,fixedTableHeight:d,leftTableWidth:f,rightTableWidth:v,data:g,depthMap:p,expandedRowKeys:h,hasFixedColumns:m,mainTableRef:b,leftTableRef:k,rightTableRef:y,isDynamic:S,isResetting:C,isScrolling:E,bodyWidth:$,emptyStyle:O,rootStyle:N,footerHeight:R,showEmpty:A,scrollTo:_,scrollToLeft:V,scrollToTop:H,scrollToRow:U,getRowHeight:W,onColumnSorted:P,onRowHeightChange:I,onRowHovered:L,onRowExpanded:D,onRowsRendered:F,onScroll:q,onVerticalScroll:j}=Rq(e);return n({scrollTo:_,scrollToLeft:V,scrollToTop:H,scrollToRow:U}),St(Hm,{ns:a,isResetting:C,isScrolling:E}),()=>{const{cache:X,cellProps:Q,estimatedRowHeight:he,expandColumnKey:ue,fixedData:ge,headerHeight:ie,headerClass:ae,headerProps:ne,headerCellProps:K,sortBy:Z,sortState:re,rowHeight:ce,rowClass:ve,rowEventHandlers:ke,rowKey:Ne,rowProps:Ie,scrollbarAlwaysOn:$e,indentSize:pe,iconSize:Ee,useIsScrolling:me,vScrollbarSize:Me,width:We}=e,Ze=i(g),Pe={cache:X,class:a.e("main"),columns:i(u),data:Ze,fixedData:ge,estimatedRowHeight:he,bodyWidth:i($),headerHeight:ie,headerWidth:i($),height:i(c),mainTableRef:b,rowKey:Ne,rowHeight:ce,scrollbarAlwaysOn:$e,scrollbarStartGap:2,scrollbarEndGap:Me,useIsScrolling:me,width:We,getRowHeight:W,onRowsRendered:F,onScroll:q},Ae=i(f),je=i(d),Rt={cache:X,class:a.e("left"),columns:i(r),data:Ze,fixedData:ge,estimatedRowHeight:he,leftTableRef:k,rowHeight:ce,bodyWidth:Ae,headerWidth:Ae,headerHeight:ie,height:je,rowKey:Ne,scrollbarAlwaysOn:$e,scrollbarStartGap:2,scrollbarEndGap:Me,useIsScrolling:me,width:Ae,getRowHeight:W,onScroll:j},Ue=i(v),lt={cache:X,class:a.e("right"),columns:i(l),data:Ze,fixedData:ge,estimatedRowHeight:he,rightTableRef:y,rowHeight:ce,bodyWidth:Ue,headerWidth:Ue,headerHeight:ie,height:je,rowKey:Ne,scrollbarAlwaysOn:$e,scrollbarStartGap:2,scrollbarEndGap:Me,width:Ue,style:`${a.cssVarName("table-scrollbar-size")}: ${Me}px`,useIsScrolling:me,getRowHeight:W,onScroll:j},mt=i(s),kt={ns:a,depthMap:i(p),columnsStyles:mt,expandColumnKey:ue,expandedRowKeys:i(h),estimatedRowHeight:he,hasFixedColumns:i(m),rowProps:Ie,rowClass:ve,rowKey:Ne,rowEventHandlers:ke,onRowHovered:L,onRowExpanded:D,onRowHeightChange:I},be={cellProps:Q,expandColumnKey:ue,indentSize:pe,iconSize:Ee,rowKey:Ne,expandedRowKeys:i(h),ns:a,t:o},ze={ns:a,headerClass:ae,headerProps:ne,columnsStyles:mt},de={ns:a,t:o,sortBy:Z,sortState:re,headerCellProps:K,onColumnSorted:P},Ge={row:_n=>Y(Hq,dt(_n,kt),{row:t.row,cell:Be=>{let nt;return t.cell?Y(Oh,dt(Be,be,{style:mt[Be.column.key]}),Yl(nt=t.cell(Be))?nt:{default:()=>[nt]}):Y(Oh,dt(Be,be,{style:mt[Be.column.key]}),null)}}),header:_n=>Y(Uq,dt(_n,ze),{header:t.header,cell:Be=>{let nt;return t["header-cell"]?Y(B0,dt(Be,de,{style:mt[Be.column.key]}),Yl(nt=t["header-cell"](Be))?nt:{default:()=>[nt]}):Y(B0,dt(Be,de,{style:mt[Be.column.key]}),null)}})},$t=[e.class,a.b(),a.e("root"),a.is("dynamic",i(S))],tn={class:a.e("footer"),style:i(R)};return Y("div",{class:$t,style:i(N)},[Y(_q,Pe,Yl(Ge)?Ge:{default:()=>[Ge]}),Y(Lq,Rt,Yl(Ge)?Ge:{default:()=>[Ge]}),Y(Bq,lt,Yl(Ge)?Ge:{default:()=>[Ge]}),t.footer&&Y(IE,tn,{default:t.footer}),i(A)&&Y(PE,{class:a.e("empty"),style:i(O)},{default:t.empty}),t.overlay&&Y(ME,{class:a.e("overlay")},{default:t.overlay})])}}}),Gq=Ce({disableWidth:Boolean,disableHeight:Boolean,onResize:{type:G(Function)}}),Xq=e=>{const t=M(),n=M(0),a=M(0);let o;return ht(()=>{o=en(t,([s])=>{const{width:r,height:l}=s.contentRect,{paddingLeft:u,paddingRight:c,paddingTop:d,paddingBottom:f}=getComputedStyle(s.target),v=Number.parseInt(u)||0,g=Number.parseInt(c)||0,p=Number.parseInt(d)||0,h=Number.parseInt(f)||0;n.value=r-v-g,a.value=l-p-h}).stop}),Bt(()=>{o?.()}),le([n,a],([s,r])=>{e.onResize?.({width:s,height:r})}),{sizer:t,width:n,height:a}},Jq=se({name:"ElAutoResizer",props:Gq,setup(e,{slots:t}){const n=fe("auto-resizer"),{height:a,width:o,sizer:s}=Xq(e),r={width:"100%",height:"100%"};return()=>Y("div",{ref:s,class:n.b(),style:r},[t.default?.({height:a.value,width:o.value})])}}),Zq=rt(Yq),Qq=rt(Jq),df=Symbol("tabsRootContextKey"),eY=Ce({tabs:{type:G(Array),default:()=>rn([])},tabRefs:{type:G(Object),default:()=>rn({})}}),F0="ElTabBar";var tY=se({name:F0,__name:"tab-bar",props:eY,setup(e,{expose:t}){const n=e,a=_e(df);a||nn(F0,"");const o=fe("tabs"),s=M(),r=M(),l=w(()=>Tt(a.props.defaultValue)||!!r.value?.transform),u=()=>{let g=0,p=0;const h=["top","bottom"].includes(a.props.tabPosition)?"width":"height",m=h==="width"?"x":"y",b=m==="x"?"left":"top";return n.tabs.every(k=>{if(Tt(k.paneName))return!1;const y=n.tabRefs[k.paneName];if(!y)return!1;if(!k.active)return!0;g=y[`offset${$s(b)}`],p=y[`client${$s(h)}`];const S=window.getComputedStyle(y);return h==="width"&&(p-=Number.parseFloat(S.paddingLeft)+Number.parseFloat(S.paddingRight),g+=Number.parseFloat(S.paddingLeft)),!1}),{[h]:`${p}px`,transform:`translate${$s(m)}(${g}px)`}},c=()=>r.value=u(),d=[],f=()=>{d.forEach(g=>g.stop()),d.length=0,Object.values(n.tabRefs).forEach(g=>{d.push(en(g,c))})};le(()=>n.tabs,async()=>{await Re(),c(),f()},{immediate:!0});const v=en(s,()=>c());return Bt(()=>{d.forEach(g=>g.stop()),d.length=0,v.stop()}),t({ref:s,update:c}),(g,p)=>l.value?(x(),B("div",{key:0,ref_key:"barRef",ref:s,class:T([i(o).e("active-bar"),i(o).is(i(a).props.tabPosition)]),style:Ke(r.value)},null,6)):te("v-if",!0)}}),nY=tY;const aY=Ce({panes:{type:G(Array),default:()=>rn([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean,tabindex:{type:[String,Number],default:void 0}}),oY={tabClick:(e,t,n)=>n instanceof Event,tabRemove:(e,t)=>t instanceof Event},V0="ElTabNav",sY=se({name:V0,props:aY,emits:oY,setup(e,{expose:t,emit:n}){const a=_e(df);a||nn(V0,"");const o=fe("tabs"),s=o_(),r=r_(),l=M(),u=M(),c=M(),d=M({}),f=M(),v=M(!1),g=M(0),p=M(!1),h=M(!0),m=Xt(),b=w(()=>["top","bottom"].includes(a.props.tabPosition)),k=w(()=>b.value?"width":"height"),y=w(()=>({transform:`translate${k.value==="width"?"X":"Y"}(-${g.value}px)`})),{width:S,height:C}=Dp(l),{width:E,height:$}=Dp(u,{width:0,height:0},{box:"border-box"}),O=w(()=>b.value?S.value:C.value),N=w(()=>b.value?E.value:$.value),{onWheel:R}=eE({atStartEdge:w(()=>g.value<=0),atEndEdge:w(()=>N.value-g.value<=O.value),layout:w(()=>b.value?"horizontal":"vertical")},D=>{g.value=ar(g.value+D,0,N.value-O.value)}),A=()=>{if(!l.value)return;const D=l.value[`offset${$s(k.value)}`],F=g.value;F&&(g.value=F>D?F-D:0)},_=()=>{if(!l.value||!u.value)return;const D=u.value[`offset${$s(k.value)}`],F=l.value[`offset${$s(k.value)}`],q=g.value;D-q<=F||(g.value=D-q>F*2?q+F:D-F)},V=async()=>{const D=u.value;if(!v.value||!c.value||!l.value||!D)return;await Re();const F=d.value[e.currentName];if(!F)return;const q=l.value,j=F.getBoundingClientRect(),X=q.getBoundingClientRect(),Q=b.value?D.offsetWidth-X.width:D.offsetHeight-X.height,he=g.value;let ue=he;b.value?(j.leftX.right&&(ue=he+j.right-X.right)):(j.topX.bottom&&(ue=he+(j.bottom-X.bottom))),ue=Math.max(ue,0),g.value=Math.min(ue,Q)},H=()=>{if(!u.value||!l.value)return;e.stretch&&f.value?.update();const D=u.value[`offset${$s(k.value)}`],F=l.value[`offset${$s(k.value)}`],q=g.value;F0&&(g.value=0))},U=D=>{const F=jt(D);let q=0;switch(F){case we.left:case we.up:q=-1;break;case we.right:case we.down:q=1;break;default:return}const j=Array.from(D.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));let X=j.indexOf(D.target)+q;X<0?X=j.length-1:X>=j.length&&(X=0),j[X].focus({preventScroll:!0}),j[X].click(),W()},W=()=>{h.value&&(p.value=!0)},P=()=>p.value=!1,I=(D,F)=>{d.value[F]=D},L=async()=>{await Re(),d.value[e.currentName]?.focus({preventScroll:!0})};return le(s,D=>{D==="hidden"?h.value=!1:D==="visible"&&setTimeout(()=>h.value=!0,50)}),le(r,D=>{D?setTimeout(()=>h.value=!0,50):h.value=!1}),en(c,()=>{eo(H)}),ht(()=>setTimeout(()=>V(),0)),ro(()=>H()),t({scrollToActiveTab:V,removeFocus:P,focusActiveTab:L,tabListRef:u,tabBarRef:f,scheduleRender:()=>oc(m)}),()=>{const D=v.value?[Y("span",{class:[o.e("nav-prev"),o.is("disabled",!v.value.prev)],onClick:A},[Y(De,null,{default:()=>[Y(is,null,null)]})]),Y("span",{class:[o.e("nav-next"),o.is("disabled",!v.value.next)],onClick:_},[Y(De,null,{default:()=>[Y(na,null,null)]})])]:null,F=e.panes.map((q,j)=>{const X=q.uid,Q=q.props.disabled,he=q.props.name??q.index??`${j}`,ue=!Q&&(q.isClosable||q.props.closable!==!1&&e.editable);q.index=`${j}`;const ge=ue?Y(De,{class:"is-icon-close",onClick:ne=>n("tabRemove",q,ne)},{default:()=>[Y(Ha,null,null)]}):null,ie=q.slots.label?.()||q.props.label,ae=!Q&&q.active?e.tabindex??a.props.tabindex:-1;return Y("div",{ref:ne=>I(ne,he),class:[o.e("item"),o.is(a.props.tabPosition),o.is("active",q.active),o.is("disabled",Q),o.is("closable",ue),o.is("focus",p.value)],id:`tab-${he}`,key:`tab-${X}`,"aria-controls":`pane-${he}`,role:"tab","aria-selected":q.active,tabindex:ae,onFocus:()=>W(),onBlur:()=>P(),onClick:ne=>{P(),n("tabClick",q,he,ne)},onKeydown:ne=>{const K=jt(ne);ue&&(K===we.delete||K===we.backspace)&&n("tabRemove",q,ne)}},[ie,ge])});return m.value,Y("div",{ref:c,class:[o.e("nav-wrap"),o.is("scrollable",!!v.value),o.is(a.props.tabPosition)]},[D,Y("div",{class:o.e("nav-scroll"),ref:l},[e.panes.length>0?Y("div",{class:[o.e("nav"),o.is(a.props.tabPosition),o.is("stretch",e.stretch&&["top","bottom"].includes(a.props.tabPosition))],ref:u,style:y.value,role:"tablist",onKeydown:U,onWheel:R},[e.type?null:Y(nY,{ref:f,tabs:[...e.panes],tabRefs:d.value},null),F]):null])])}}}),rY=Ce({type:{type:String,values:["card","border-card",""],default:""},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},defaultValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:G(Function),default:()=>!0},stretch:Boolean,tabindex:{type:[String,Number],default:0}}),cp=e=>Le(e)||He(e),lY={[at]:e=>cp(e),tabClick:(e,t)=>t instanceof Event,tabChange:e=>cp(e),edit:(e,t)=>["remove","add"].includes(t),tabRemove:e=>cp(e),tabAdd:()=>!0},iY=se({name:"ElTabs",props:rY,emits:lY,setup(e,{emit:t,slots:n,expose:a}){const o=fe("tabs"),s=w(()=>["left","right"].includes(e.tabPosition)),{children:r,addChild:l,removeChild:u,ChildrenSorter:c}=Qd(ft(),"ElTabPane"),d=M(),f=M((Tt(e.modelValue)?e.defaultValue:e.modelValue)??"0"),v=async(k,y=!1)=>{if(!(f.value===k||Tt(k)))try{let S;if(e.beforeLeave){const C=e.beforeLeave(k,f.value);S=C instanceof Promise?await C:C}else S=!0;if(S!==!1){const C=r.value.find(E=>E.paneName===f.value)?.isFocusInsidePane();f.value=k,y&&(t(at,k),t("tabChange",k)),d.value?.removeFocus?.(),C&&d.value?.focusActiveTab()}}catch{}},g=(k,y,S)=>{k.props.disabled||(t("tabClick",k,S),v(y,!0))},p=(k,y)=>{k.props.disabled||Tt(k.props.name)||(y.stopPropagation(),t("edit",k.props.name,"remove"),t("tabRemove",k.props.name))},h=()=>{t("edit",void 0,"add"),t("tabAdd")},m=k=>{const y=jt(k);[we.enter,we.numpadEnter].includes(y)&&h()},b=k=>{const y=k.el.firstChild,S=["bottom","right"].includes(e.tabPosition)?k.children[0].el:k.children[1].el;y!==S&&y.before(S)};return le(()=>e.modelValue,k=>v(k)),le(f,async()=>{await Re(),d.value?.scrollToActiveTab()}),St(df,{props:e,currentName:f,registerPane:l,unregisterPane:u,nav$:d}),a({currentName:f,get tabNavRef(){return tu(d.value,["scheduleRender"])}}),()=>{const k=n["add-icon"],y=e.editable||e.addable?Y("div",{class:[o.e("new-tab"),s.value&&o.e("new-tab-vertical")],tabindex:e.tabindex,onClick:h,onKeydown:m},[k?ee(n,"add-icon"):Y(De,{class:o.is("icon-plus")},{default:()=>[Y(FC,null,null)]})]):null,S=()=>Y(sY,{ref:d,currentName:f.value,editable:e.editable,type:e.type,panes:r.value,stretch:e.stretch,onTabClick:g,onTabRemove:p},null),C=Y("div",{class:[o.e("header"),s.value&&o.e("header-vertical"),o.is(e.tabPosition)]},[Y(c,null,{default:S,$stable:!0}),y]),E=Y("div",{class:o.e("content")},[ee(n,"default")]);return Y("div",{class:[o.b(),o.m(e.tabPosition),{[o.m("card")]:e.type==="card",[o.m("border-card")]:e.type==="border-card"}],onVnodeMounted:b,onVnodeUpdated:b},[E,C])}}}),uY=Ce({label:{type:String,default:""},name:{type:[String,Number]},closable:{type:Boolean,default:void 0},disabled:Boolean,lazy:Boolean}),cY=["id","aria-hidden","aria-labelledby"],z0="ElTabPane";var dY=se({name:z0,__name:"tab-pane",props:uY,setup(e){const t=e,n=ft(),a=vn(),o=_e(df);o||nn(z0,"usage: ");const s=fe("tab-pane"),r=M(),l=M(),u=w(()=>t.closable??o.props.closable),c=w(()=>o.currentName.value===(t.name??l.value)),d=M(c.value),f=w(()=>t.name??l.value),v=w(()=>!t.lazy||d.value||c.value),g=()=>r.value?.contains(document.activeElement);le(c,h=>{h&&(d.value=!0)});const p=At({uid:n.uid,getVnode:()=>n.vnode,slots:a,props:t,paneName:f,active:c,index:l,isClosable:u,isFocusInsidePane:g});return o.registerPane(p),Bt(()=>{o.unregisterPane(p)}),rv(()=>{a.label&&o.nav$.value?.scheduleRender()}),(h,m)=>v.value?ut((x(),B("div",{key:0,id:`pane-${f.value}`,ref_key:"paneRef",ref:r,class:T(i(s).b()),role:"tabpanel","aria-hidden":!c.value,"aria-labelledby":`tab-${f.value}`},[ee(h.$slots,"default")],10,cY)),[[Pt,c.value]]):te("v-if",!0)}}),_E=dY;const fY=rt(iY,{TabPane:_E}),pY=an(_E),hY=Ce({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:lo,default:""},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}});var vY=se({name:"ElText",__name:"text",props:hY,setup(e){const t=e,n=M(),a=Cn(),o=fe("text"),s=w(()=>[o.b(),o.m(t.type),o.m(a.value),o.is("truncated",t.truncated),o.is("line-clamp",!Tt(t.lineClamp))]),r=()=>{if(fs().title)return;let l=!1;const u=n.value?.textContent||"";if(t.truncated){const c=n.value?.offsetWidth,d=n.value?.scrollWidth;c&&d&&d>c&&(l=!0)}else if(!Tt(t.lineClamp)){const c=n.value?.offsetHeight,d=n.value?.scrollHeight;c&&d&&d>c&&(l=!0)}l?n.value?.setAttribute("title",u):n.value?.removeAttribute("title")};return ht(r),ro(r),(l,u)=>(x(),oe(it(e.tag),{ref_key:"textRef",ref:n,class:T(s.value),style:Ke({"-webkit-line-clamp":e.lineClamp})},{default:J(()=>[ee(l.$slots,"default")]),_:3},8,["class","style"]))}}),mY=vY;const Um=rt(mY),Rh="00:30",gY=Ce({format:{type:String,default:"HH:mm"},modelValue:{type:G(String)},disabled:{type:Boolean,default:void 0},editable:{type:Boolean,default:!0},effect:{type:G(String),default:"light"},clearable:{type:Boolean,default:!0},size:Tn,placeholder:String,start:{type:String,default:"09:00"},end:{type:String,default:"18:00"},step:{type:String,default:Rh},minTime:{type:G(String)},maxTime:{type:G(String)},includeEndTime:Boolean,name:String,prefixIcon:{type:G([String,Object]),default:()=>BC},clearIcon:{type:G([String,Object]),default:()=>Vo},popperClass:{type:String,default:""},popperStyle:{type:G([String,Object])},...Pr}),Go=e=>{const t=(e||"").split(":");if(t.length>=2){let n=Number.parseInt(t[0],10);const a=Number.parseInt(t[1],10),o=e.toUpperCase();return o.includes("AM")&&n===12?n=0:o.includes("PM")&&n!==12&&(n+=12),{hours:n,minutes:a}}return null},dp=(e,t)=>{const n=Go(e);if(!n)return-1;const a=Go(t);if(!a)return-1;const o=n.minutes+n.hours*60,s=a.minutes+a.hours*60;return o===s?0:o>s?1:-1},H0=e=>`${e}`.padStart(2,"0"),Ur=e=>`${H0(e.hours)}:${H0(e.minutes)}`,bY=(e,t)=>{const n=Go(e);if(!n)return"";const a=Go(t);if(!a)return"";const o={hours:n.hours,minutes:n.minutes};return o.minutes+=a.minutes,o.hours+=a.hours,o.hours+=Math.floor(o.minutes/60),o.minutes=o.minutes%60,Ur(o)};var yY=se({name:"ElTimeSelect",__name:"time-select",props:gY,emits:[yt,"blur","focus","clear",at],setup(e,{expose:t}){st.extend(pm);const{Option:n}=Hs,a=e,o=fe("input"),s=M(),r=un(),{lang:l}=Ct(),u=w(()=>a.modelValue),c=w(()=>{const b=Go(a.start);return b?Ur(b):null}),d=w(()=>{const b=Go(a.end);return b?Ur(b):null}),f=w(()=>{const b=Go(a.minTime||"");return b?Ur(b):null}),v=w(()=>{const b=Go(a.maxTime||"");return b?Ur(b):null}),g=w(()=>{const b=Go(a.step),k=!b||b.hours<0||b.minutes<0||Number.isNaN(b.hours)||Number.isNaN(b.minutes)||b.hours===0&&b.minutes===0;return k&&pt("ElTimeSelect",`invalid step, fallback to default step (${Rh}).`),k?Rh:Ur(b)}),p=w(()=>{const b=[],k=(y,S)=>{b.push({value:y,rawValue:S,disabled:dp(S,f.value||"-1:-1")<=0||dp(S,v.value||"100:100")>=0})};if(a.start&&a.end&&a.step){let y=c.value,S;for(;y&&d.value&&dp(y,d.value)<=0;)S=st(y,"HH:mm").locale(l.value).format(a.format),k(S,y),y=bY(y,g.value);a.includeEndTime&&d.value&&b[b.length-1]?.rawValue!==d.value&&k(st(d.value,"HH:mm").locale(l.value).format(a.format),d.value)}return b});return t({blur:()=>{s.value?.blur?.()},focus:()=>{s.value?.focus?.()}}),(b,k)=>(x(),oe(i(Hs),{ref_key:"select",ref:s,name:e.name,"model-value":u.value,disabled:i(r),clearable:e.clearable,"clear-icon":e.clearIcon,size:e.size,effect:e.effect,placeholder:e.placeholder,"default-first-option":"",filterable:e.editable,"empty-values":e.emptyValues,"value-on-clear":e.valueOnClear,"popper-class":e.popperClass,"popper-style":e.popperStyle,"onUpdate:modelValue":k[0]||(k[0]=y=>b.$emit(i(at),y)),onChange:k[1]||(k[1]=y=>b.$emit(i(yt),y)),onBlur:k[2]||(k[2]=y=>b.$emit("blur",y)),onFocus:k[3]||(k[3]=y=>b.$emit("focus",y)),onClear:k[4]||(k[4]=()=>b.$emit("clear"))},{prefix:J(()=>[e.prefixIcon?(x(),oe(i(De),{key:0,class:T(i(o).e("prefix-icon"))},{default:J(()=>[(x(),oe(it(e.prefixIcon)))]),_:1},8,["class"])):te("v-if",!0)]),default:J(()=>[(x(!0),B(Fe,null,gt(p.value,y=>(x(),oe(i(n),{key:y.value,label:y.value,value:y.value,disabled:y.disabled},null,8,["label","value","disabled"]))),128))]),_:1},8,["name","model-value","disabled","clearable","clear-icon","size","effect","placeholder","filterable","empty-values","value-on-clear","popper-class","popper-style"]))}}),wY=yY;const SY=rt(wY),AE="timeline",CY=Ce({mode:{type:String,values:["start","alternate","alternate-reverse","end"],default:"start"},reverse:Boolean}),kY=se({name:"ElTimeline",props:CY,setup(e,{slots:t}){const n=fe("timeline");St(AE,{props:e,slots:t});const a=w(()=>[n.b(),n.is(e.mode)]);return()=>{const o=Ta(t.default?.()??[]);return Ye("ul",{class:a.value},e.reverse?o.reverse():o)}}}),EY=Ce({timestamp:{type:String,default:""},hideTimestamp:Boolean,center:Boolean,placement:{type:String,values:["top","bottom"],default:"bottom"},type:{type:String,values:["primary","success","warning","danger","info"],default:""},color:{type:String,default:""},size:{type:String,values:["normal","large"],default:"normal"},icon:{type:Kt},hollow:Boolean});var xY=se({name:"ElTimelineItem",__name:"timeline-item",props:EY,setup(e){const t=e,{props:n}=_e(AE),a=fe("timeline-item"),o=w(()=>[a.e("node"),a.em("node",t.size||""),a.em("node",t.type||""),a.is("hollow",t.hollow)]),s=w(()=>[a.b(),{[a.e("center")]:t.center},a.is(n.mode)]);return(r,l)=>(x(),B("li",{class:T(s.value)},[z("div",{class:T(i(a).e("tail"))},null,2),r.$slots.dot?te("v-if",!0):(x(),B("div",{key:0,class:T(o.value),style:Ke({backgroundColor:e.color})},[e.icon?(x(),oe(i(De),{key:0,class:T(i(a).e("icon"))},{default:J(()=>[(x(),oe(it(e.icon)))]),_:1},8,["class"])):te("v-if",!0)],6)),r.$slots.dot?(x(),B("div",{key:1,class:T(i(a).e("dot"))},[ee(r.$slots,"dot")],2)):te("v-if",!0),z("div",{class:T(i(a).e("wrapper"))},[!e.hideTimestamp&&e.placement==="top"?(x(),B("div",{key:0,class:T([i(a).e("timestamp"),i(a).is("top")])},Se(e.timestamp),3)):te("v-if",!0),z("div",{class:T(i(a).e("content"))},[ee(r.$slots,"default")],2),!e.hideTimestamp&&e.placement==="bottom"?(x(),B("div",{key:1,class:T([i(a).e("timestamp"),i(a).is("bottom")])},Se(e.timestamp),3)):te("v-if",!0)],2)],2))}}),LE=xY;const TY=rt(kY,{TimelineItem:LE}),$Y=an(LE),DE="left-check-change",BE="right-check-change",qr=Ce({data:{type:G(Array),default:()=>[]},titles:{type:G(Array),default:()=>[]},buttonTexts:{type:G(Array),default:()=>[]},filterPlaceholder:String,filterMethod:{type:G(Function)},leftDefaultChecked:{type:G(Array),default:()=>[]},rightDefaultChecked:{type:G(Array),default:()=>[]},renderContent:{type:G(Function)},modelValue:{type:G(Array),default:()=>[]},format:{type:G(Object),default:()=>({})},filterable:Boolean,props:{type:G(Object),default:()=>rn({label:"label",key:"key",disabled:"disabled"})},targetOrder:{type:String,values:["original","push","unshift"],default:"original"},validateEvent:{type:Boolean,default:!0}}),Nh=(e,t)=>[e,t].every(ye)||ye(e)&&bn(t),OY={[yt]:(e,t,n)=>[e,n].every(ye)&&["left","right"].includes(t),[at]:e=>ye(e),[DE]:Nh,[BE]:Nh},Cu=e=>{const t={label:"label",key:"key",disabled:"disabled"};return w(()=>({...t,...e.props}))},RY=(e,t)=>({onSourceCheckedChange:(o,s)=>{e.leftChecked=o,s&&t(DE,o,s)},onTargetCheckedChange:(o,s)=>{e.rightChecked=o,s&&t(BE,o,s)}}),NY=e=>{const t=Cu(e),n=w(()=>e.data.reduce((a,o)=>(a[o[t.value.key]]=o)&&a,{}));return{sourceData:w(()=>e.data.filter(a=>!e.modelValue.includes(a[t.value.key]))),targetData:w(()=>e.targetOrder==="original"?e.data.filter(a=>e.modelValue.includes(a[t.value.key])):e.modelValue.reduce((a,o)=>{const s=n.value[o];return s&&a.push(s),a},[]))}},IY=(e,t,n)=>{const a=Cu(e),o=(l,u,c)=>{n(at,l),n(yt,l,u,c)};return{addToLeft:()=>{const l=e.modelValue.slice();t.rightChecked.forEach(u=>{const c=l.indexOf(u);c>-1&&l.splice(c,1)}),o(l,"left",t.rightChecked)},addToRight:()=>{let l=e.modelValue.slice();const u=e.data.filter(c=>{const d=c[a.value.key];return t.leftChecked.includes(d)&&!e.modelValue.includes(d)}).map(c=>c[a.value.key]);l=e.targetOrder==="unshift"?u.concat(l):l.concat(u),e.targetOrder==="original"&&(l=e.data.filter(c=>l.includes(c[a.value.key])).map(c=>c[a.value.key])),o(l,"right",t.leftChecked)}}},Ih="checked-change",PY=Ce({data:qr.data,optionRender:{type:G(Function)},placeholder:String,title:String,filterable:Boolean,format:qr.format,filterMethod:qr.filterMethod,defaultChecked:qr.leftDefaultChecked,props:qr.props}),MY={[Ih]:Nh},_Y=(e,t,n)=>{const a=Cu(e),o=w(()=>e.data.filter(d=>Ve(e.filterMethod)?e.filterMethod(t.query,d):String(d[a.value.label]||d[a.value.key]).toLowerCase().includes(t.query.toLowerCase()))),s=w(()=>o.value.filter(d=>!d[a.value.disabled])),r=w(()=>{const d=t.checked.length,f=e.data.length,{noChecked:v,hasChecked:g}=e.format;return v&&g?d>0?g.replace(/\${checked}/g,d.toString()).replace(/\${total}/g,f.toString()):v.replace(/\${total}/g,f.toString()):`${d}/${f}`}),l=w(()=>{const d=t.checked.length;return d>0&&d{const d=s.value.map(f=>f[a.value.key]);t.allChecked=d.length>0&&d.every(f=>t.checked.includes(f))},c=d=>{t.checked=d?s.value.map(f=>f[a.value.key]):[]};return le(()=>t.checked,(d,f)=>{u(),t.checkChangeByUser?n(Ih,d,d.concat(f).filter(v=>!d.includes(v)||!f.includes(v))):(n(Ih,d),t.checkChangeByUser=!0)}),le(s,()=>{u()}),le(()=>e.data,()=>{const d=[],f=o.value.map(v=>v[a.value.key]);t.checked.forEach(v=>{f.includes(v)&&d.push(v)}),t.checkChangeByUser=!1,t.checked=d}),le(()=>e.defaultChecked,(d,f)=>{if(f&&d.length===f.length&&d.every(p=>f.includes(p)))return;const v=[],g=s.value.map(p=>p[a.value.key]);d.forEach(p=>{g.includes(p)&&v.push(p)}),t.checkChangeByUser=!1,t.checked=v},{immediate:!0}),{filteredData:o,checkableData:s,checkedSummary:r,isIndeterminate:l,updateAllChecked:u,handleAllCheckedChange:c}};var AY=se({name:"ElTransferPanel",__name:"transfer-panel",props:PY,emits:MY,setup(e,{expose:t,emit:n}){const a=e,o=n,s=vn(),r=({option:S})=>S,{t:l}=Ct(),u=fe("transfer"),c=At({checked:[],allChecked:!1,query:"",checkChangeByUser:!0}),d=Cu(a),{filteredData:f,checkedSummary:v,isIndeterminate:g,handleAllCheckedChange:p}=_Y(a,c,o),h=w(()=>!ia(c.query)&&ia(f.value)),m=w(()=>!ia(s.default()[0].children)),{checked:b,allChecked:k,query:y}=Mn(c);return t({query:y}),(S,C)=>(x(),B("div",{class:T(i(u).b("panel"))},[z("p",{class:T(i(u).be("panel","header"))},[Y(i(so),{modelValue:i(k),"onUpdate:modelValue":C[0]||(C[0]=E=>Jt(k)?k.value=E:null),indeterminate:i(g),"validate-event":!1,onChange:i(p)},{default:J(()=>[z("span",{class:T(i(u).be("panel","header-title"))},Se(e.title),3),z("span",{class:T(i(u).be("panel","header-count"))},Se(i(v)),3)]),_:1},8,["modelValue","indeterminate","onChange"])],2),z("div",{class:T([i(u).be("panel","body"),i(u).is("with-footer",m.value)])},[e.filterable?(x(),oe(i(ea),{key:0,modelValue:i(y),"onUpdate:modelValue":C[1]||(C[1]=E=>Jt(y)?y.value=E:null),class:T(i(u).be("panel","filter")),size:"default",placeholder:e.placeholder,"prefix-icon":i(P3),clearable:"","validate-event":!1},null,8,["modelValue","class","placeholder","prefix-icon"])):te("v-if",!0),ut(Y(i(gm),{modelValue:i(b),"onUpdate:modelValue":C[2]||(C[2]=E=>Jt(b)?b.value=E:null),"validate-event":!1,class:T([i(u).is("filterable",e.filterable),i(u).be("panel","list")])},{default:J(()=>[(x(!0),B(Fe,null,gt(i(f),E=>(x(),oe(i(so),{key:E[i(d).key],class:T(i(u).be("panel","item")),value:E[i(d).key],disabled:E[i(d).disabled],"validate-event":!1},{default:J(()=>[Y(r,{option:e.optionRender?.(E)},null,8,["option"])]),_:2},1032,["class","value","disabled"]))),128))]),_:1},8,["modelValue","class"]),[[Pt,!h.value&&!i(ia)(e.data)]]),ut(z("div",{class:T(i(u).be("panel","empty"))},[ee(S.$slots,"empty",{},()=>[wt(Se(h.value?i(l)("el.transfer.noMatch"):i(l)("el.transfer.noData")),1)])],2),[[Pt,h.value||i(ia)(e.data)]])],2),m.value?(x(),B("p",{key:0,class:T(i(u).be("panel","footer"))},[ee(S.$slots,"default")],2)):te("v-if",!0)],2))}}),K0=AY;const LY={key:0},DY={key:0};var BY=se({name:"ElTransfer",__name:"transfer",props:qr,emits:OY,setup(e,{expose:t,emit:n}){const a=e,o=n,s=vn(),{t:r}=Ct(),l=fe("transfer"),{formItem:u}=Dn(),c=At({leftChecked:[],rightChecked:[]}),d=Cu(a),{sourceData:f,targetData:v}=NY(a),{onSourceCheckedChange:g,onTargetCheckedChange:p}=RY(c,o),{addToLeft:h,addToRight:m}=IY(a,c,o),b=M(),k=M(),y=N=>{switch(N){case"left":b.value.query="";break;case"right":k.value.query="";break}},S=w(()=>a.buttonTexts.length===2),C=w(()=>a.titles[0]||r("el.transfer.titles.0")),E=w(()=>a.titles[1]||r("el.transfer.titles.1")),$=w(()=>a.filterPlaceholder||r("el.transfer.filterPlaceholder"));le(()=>a.modelValue,()=>{a.validateEvent&&u?.validate?.("change").catch(N=>pt(N))});const O=w(()=>N=>{if(a.renderContent)return a.renderContent(Ye,N);const R=(s.default?.({option:N})||[]).filter(A=>A.type!==gn);return R.length?R:Ye("span",N[d.value.label]||N[d.value.key])});return t({clearQuery:y,leftPanel:b,rightPanel:k}),(N,R)=>(x(),B("div",{class:T(i(l).b())},[Y(K0,{ref_key:"leftPanel",ref:b,data:i(f),"option-render":O.value,placeholder:$.value,title:C.value,filterable:e.filterable,format:e.format,"filter-method":e.filterMethod,"default-checked":e.leftDefaultChecked,props:a.props,onCheckedChange:i(g)},{empty:J(()=>[ee(N.$slots,"left-empty")]),default:J(()=>[ee(N.$slots,"left-footer")]),_:3},8,["data","option-render","placeholder","title","filterable","format","filter-method","default-checked","props","onCheckedChange"]),z("div",{class:T(i(l).e("buttons"))},[Y(i(In),{type:"primary",class:T([i(l).e("button"),i(l).is("with-texts",S.value)]),disabled:i(ia)(c.rightChecked),onClick:i(h)},{default:J(()=>[Y(i(De),null,{default:J(()=>[Y(i(is))]),_:1}),i(Tt)(e.buttonTexts[0])?te("v-if",!0):(x(),B("span",LY,Se(e.buttonTexts[0]),1))]),_:1},8,["class","disabled","onClick"]),Y(i(In),{type:"primary",class:T([i(l).e("button"),i(l).is("with-texts",S.value)]),disabled:i(ia)(c.leftChecked),onClick:i(m)},{default:J(()=>[i(Tt)(e.buttonTexts[1])?te("v-if",!0):(x(),B("span",DY,Se(e.buttonTexts[1]),1)),Y(i(De),null,{default:J(()=>[Y(i(na))]),_:1})]),_:1},8,["class","disabled","onClick"])],2),Y(K0,{ref_key:"rightPanel",ref:k,data:i(v),"option-render":O.value,placeholder:$.value,filterable:e.filterable,format:e.format,"filter-method":e.filterMethod,title:E.value,"default-checked":e.rightDefaultChecked,props:a.props,onCheckedChange:i(p)},{empty:J(()=>[ee(N.$slots,"right-empty")]),default:J(()=>[ee(N.$slots,"right-footer")]),_:3},8,["data","option-render","placeholder","filterable","format","filter-method","title","default-checked","props","onCheckedChange"])],2))}}),FY=BY;const VY=rt(FY),qm="RootTree",FE="NodeInstance",W0="TreeNodeMap",VE=Ce({data:{type:G(Array),default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},checkDescendants:Boolean,autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:{type:Array},defaultExpandedKeys:{type:Array},currentNodeKey:{type:[String,Number]},renderContent:{type:G(Function)},showCheckbox:Boolean,draggable:Boolean,allowDrag:{type:G(Function)},allowDrop:{type:G(Function)},props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:Boolean,highlightCurrent:Boolean,load:{type:Function},filterNodeMethod:{type:Function},accordion:Boolean,indent:{type:Number,default:18},icon:{type:Kt}}),zY={"check-change":(e,t,n)=>e&&Ht(t)&&Ht(n),"current-change":(e,t)=>!0,"node-click":(e,t,n,a)=>e&&t&&a instanceof Event,"node-contextmenu":(e,t,n,a)=>e instanceof Event&&t&&n,"node-collapse":(e,t,n)=>e&&t,"node-expand":(e,t,n)=>e&&t,check:(e,t)=>e&&t,"node-drag-start":(e,t)=>e&&t,"node-drag-end":(e,t,n,a)=>e&&a,"node-drop":(e,t,n,a)=>e&&t&&a,"node-drag-leave":(e,t,n)=>e&&t&&n,"node-drag-enter":(e,t,n)=>e&&t&&n,"node-drag-over":(e,t,n)=>e&&t&&n},sl="$treeNodeId",j0=function(e,t){!t||t[sl]||Object.defineProperty(t,sl,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},Ym=(e,t)=>t?.[e||sl],Ph=(e,t,n)=>{const a=e.value.currentNode;n();const o=e.value.currentNode;a!==o&&t("current-change",o?o.data:null,o)},zE=e=>{let t=!0,n=!0,a=!0,o=!0;for(let s=0,r=e.length;s{n.canFocus=t,Mh(n.childNodes,t)})};let HY=0;var _h=class Ic{constructor(t){this.isLeafByUser=void 0,this.isLeaf=void 0,this.isEffectivelyChecked=!1,this.id=HY++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,this.canFocus=!1;for(const n in t)Nt(t,n)&&(this[n]=t[n]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){const t=this.store;if(!t)throw new Error("[Node]store is required!");t.registerNode(this);const n=t.props;if(n&&typeof n.isLeaf<"u"){const s=Qu(this,"isLeaf");Ht(s)&&(this.isLeafByUser=s)}if(t.lazy!==!0&&this.data?(this.setData(this.data),t.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&t.lazy&&t.defaultExpandAll&&!this.isLeafByUser&&this.expand(),ye(this.data)||j0(this,this.data),!this.data)return;const a=t.defaultExpandedKeys,o=t.key;o&&!bn(this.key)&&a&&a.includes(this.key)&&this.expand(null,t.autoExpandParent),o&&t.currentNodeKey!==void 0&&this.key===t.currentNodeKey&&(t.currentNode&&(t.currentNode.isCurrent=!1),t.currentNode=this,t.currentNode.isCurrent=!0),t.lazy&&t._initDefaultCheckedNode(this),this.updateLeafState(),(this.level===1||this.parent?.expanded===!0)&&(this.canFocus=!0)}setData(t){ye(t)||j0(this,t),this.data=t,this.childNodes=[];let n;this.level===0&&ye(this.data)?n=this.data:n=Qu(this,"children")||[];for(let a=0,o=n.length;a-1)return t.childNodes[n+1]}return null}get previousSibling(){const t=this.parent;if(t){const n=t.childNodes.indexOf(this);if(n>-1)return n>0?t.childNodes[n-1]:null}return null}contains(t,n=!0){return(this.childNodes||[]).some(a=>a===t||n&&a.contains(t))}remove(){const t=this.parent;t&&t.removeChild(this)}insertChild(t,n,a){if(!t)throw new Error("InsertChild error: child is required.");if(!(t instanceof Ic)){if(!a){const o=this.getChildren(!0);o?.includes(t.data)||(Tt(n)||n<0?o?.push(t.data):o?.splice(n,0,t.data))}Object.assign(t,{parent:this,store:this.store}),t=At(new Ic(t)),t instanceof Ic&&t.initialize()}t.level=this.level+1,Tt(n)||n<0?this.childNodes.push(t):this.childNodes.splice(n,0,t),this.updateLeafState()}insertBefore(t,n){let a;n&&(a=this.childNodes.indexOf(n)),this.insertChild(t,a)}insertAfter(t,n){let a;n&&(a=this.childNodes.indexOf(n),a!==-1&&(a+=1)),this.insertChild(t,a)}removeChild(t){const n=this.getChildren()||[],a=n.indexOf(t.data);a>-1&&n.splice(a,1);const o=this.childNodes.indexOf(t);o>-1&&(this.store&&this.store.deregisterNode(t),t.parent=null,this.childNodes.splice(o,1)),this.updateLeafState()}removeChildByData(t){const n=this.childNodes.find(a=>a.data===t);n&&this.removeChild(n)}expand(t,n){const a=()=>{if(n){let o=this.parent;for(;o&&o.level>0;)o.expanded=!0,o=o.parent}this.expanded=!0,t&&t(),Mh(this.childNodes,!0)};this.shouldLoadData()?this.loadData(o=>{ye(o)&&(this.checked?this.setChecked(!0,!0):this.store.checkStrictly||Zl(this),a())}):a()}doCreateChildren(t,n={}){t.forEach(a=>{this.insertChild(Object.assign({data:a},n),void 0,!0)})}collapse(){this.expanded=!1,Mh(this.childNodes,!1)}shouldLoadData(){return!!(this.store.lazy===!0&&this.store.load&&!this.loaded)}updateLeafState(){if(this.store.lazy===!0&&this.loaded!==!0&&typeof this.isLeafByUser<"u"){this.isLeaf=this.isLeafByUser,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}const t=this.childNodes;if(!this.store.lazy||this.store.lazy===!0&&this.loaded===!0){this.isLeaf=!t||t.length===0,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}this.isLeaf=!1}setChecked(t,n,a,o){if(this.indeterminate=t==="half",this.checked=t===!0,this.isEffectivelyChecked=!this.childNodes.length&&(this.disabled||this.checked),this.store.checkStrictly)return;if(!(this.shouldLoadData()&&!this.store.checkDescendants)){const r=()=>{if(n){const l=this.childNodes;for(let f=0,v=l.length;f{r(),Zl(this)},{checked:t!==!1});return}else r()}const s=this.parent;!s||s.level===0||a||Zl(s)}getChildren(t=!1){if(this.level===0)return this.data;const n=this.data;if(!n)return null;const a=this.store.props;let o="children";return a&&(o=a.children||"children"),Tt(n[o])&&(n[o]=null),t&&!n[o]&&(n[o]=[]),n[o]}updateChildren(){const t=this.getChildren()||[],n=this.childNodes.map(s=>s.data),a={},o=[];t.forEach((s,r)=>{const l=s[sl];l&&n.some(u=>u?.[sl]===l)?a[l]={index:r,data:s}:o.push({index:r,data:s})}),this.store.lazy||n.forEach(s=>{a[s?.[sl]]||this.removeChildByData(s)}),o.forEach(({index:s,data:r})=>{this.insertChild({data:r},s)}),this.updateLeafState()}loadData(t,n={}){if(this.store.lazy===!0&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(n).length)){this.loading=!0;const a=s=>{this.childNodes=[],this.doCreateChildren(s,n),this.loaded=!0,this.loading=!1,this.updateLeafState(),t&&t.call(this,s)},o=()=>{this.loading=!1};this.store.load(this,a,o)}else t&&t.call(this)}eachNode(t){const n=[this];for(;n.length;){const a=n.shift();n.unshift(...a.childNodes),t(a)}}reInitChecked(){this.store.checkStrictly||Zl(this)}},KY=class{constructor(e){this.lazy=!1,this.checkStrictly=!1,this.autoExpandParent=!1,this.defaultExpandAll=!1,this.checkDescendants=!1,this.currentNode=null,this.currentNodeKey=null;for(const t in e)Nt(e,t)&&(this[t]=e[t]);this.nodesMap={}}initialize(){if(this.root=new _h({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){const e=this.load;e(this.root,t=>{this.root.doCreateChildren(t),this._initDefaultCheckedNodes()},Dt)}else this._initDefaultCheckedNodes()}filter(e){const t=this.filterNodeMethod,n=this.lazy,a=async function(o){const s=o.root?o.root.childNodes:o.childNodes;for(const[r,l]of s.entries())l.visible=!!t?.call(l,e,l.data,l),r%80===0&&r>0&&await Re(),await a(l);if(!o.visible&&s.length){let r=!0;r=!s.some(l=>l.visible),o.root?o.root.visible=r===!1:o.visible=r===!1}e&&o.visible&&!o.isLeaf&&(!n||o.loaded)&&o.expand()};a(this)}setData(e){e!==this.root.data?(this.nodesMap={},this.root.setData(e),this._initDefaultCheckedNodes(),this.setCurrentNodeKey(this.currentNodeKey)):this.root.updateChildren()}getNode(e){if(e instanceof _h)return e;const t=ot(e)?Ym(this.key,e):e;return this.nodesMap[t]||null}insertBefore(e,t){const n=this.getNode(t);n.parent?.insertBefore({data:e},n)}insertAfter(e,t){const n=this.getNode(t);n.parent?.insertAfter({data:e},n)}remove(e){const t=this.getNode(e);t&&t.parent&&(t===this.currentNode&&(this.currentNode=null),t.parent.removeChild(t))}append(e,t){const n=va(t)?this.root:this.getNode(t);n&&n.insertChild({data:e})}_initDefaultCheckedNodes(){const e=this.defaultCheckedKeys||[],t=this.nodesMap;e.forEach(n=>{const a=t[n];a&&a.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(e){const t=this.defaultCheckedKeys||[];!bn(e.key)&&t.includes(e.key)&&e.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(e){e!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=e,this._initDefaultCheckedNodes())}registerNode(e){const t=this.key;if(!(!e||!e.data))if(!t)this.nodesMap[e.id]=e;else{const n=e.key;bn(n)||(this.nodesMap[n]=e)}}deregisterNode(e){!this.key||!e||!e.data||(e.childNodes.forEach(t=>{this.deregisterNode(t)}),delete this.nodesMap[e.key])}getCheckedNodes(e=!1,t=!1){const n=[],a=function(o){(o.root?o.root.childNodes:o.childNodes).forEach(s=>{(s.checked||t&&s.indeterminate)&&(!e||e&&s.isLeaf)&&n.push(s.data),a(s)})};return a(this),n}getCheckedKeys(e=!1){return this.getCheckedNodes(e).map(t=>(t||{})[this.key])}getHalfCheckedNodes(){const e=[],t=function(n){(n.root?n.root.childNodes:n.childNodes).forEach(a=>{a.indeterminate&&e.push(a.data),t(a)})};return t(this),e}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(e=>(e||{})[this.key])}_getAllNodes(){const e=[],t=this.nodesMap;for(const n in t)Nt(t,n)&&e.push(t[n]);return e}updateChildren(e,t){const n=this.nodesMap[e];if(!n)return;const a=n.childNodes;for(let o=a.length-1;o>=0;o--){const s=a[o];this.remove(s.data)}for(let o=0,s=t.length;ol.level-u.level),o=Object.create(null),s=Object.keys(n);a.forEach(l=>l.setChecked(!1,!1));const r=l=>{l.childNodes.forEach(u=>{o[u.data[e]]=!0,u.childNodes?.length&&r(u)})};for(let l=0,u=a.length;l{g.isLeaf||g.setChecked(!1,!1,!0),f(g)}),v.reInitChecked()};f(c)}}}setCheckedNodes(e,t=!1){const n=this.key,a={};e.forEach(o=>{a[(o||{})[n]]=!0}),this._setCheckedKeys(n,t,a)}setCheckedKeys(e,t=!1){this.defaultCheckedKeys=e;const n=this.key,a={};e.forEach(o=>{a[o]=!0}),this._setCheckedKeys(n,t,a)}setDefaultExpandedKeys(e){e=e||[],this.defaultExpandedKeys=e,e.forEach(t=>{const n=this.getNode(t);n&&n.expand(null,this.autoExpandParent)})}setChecked(e,t,n){const a=this.getNode(e);a&&a.setChecked(!!t,n)}getCurrentNode(){return this.currentNode}setCurrentNode(e){const t=this.currentNode;t&&(t.isCurrent=!1),this.currentNode=e,this.currentNode.isCurrent=!0}setUserCurrentNode(e,t=!0){const n=e[this.key],a=this.nodesMap[n];this.setCurrentNode(a),t&&this.currentNode&&this.currentNode.level>1&&this.currentNode.parent?.expand(null,!0)}setCurrentNodeKey(e,t=!0){if(this.currentNodeKey=e,va(e)){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}const n=this.getNode(e);n&&(this.setCurrentNode(n),t&&this.currentNode&&this.currentNode.level>1&&this.currentNode.parent?.expand(null,!0))}};function HE(e){const t=_e(W0,null);let n={treeNodeExpand:a=>{e.node!==a&&e.node?.collapse()},children:new Set};return t&&t.children.add(n),Bt(()=>{t&&t.children.delete(n),n=null}),St(W0,n),{broadcastExpanded:a=>{if(e.accordion)for(const o of n.children)o.treeNodeExpand(a)}}}const KE=Symbol("dragEvents");function WY({props:e,ctx:t,el$:n,dropIndicator$:a,store:o}){const s=fe("tree"),r=M({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return St(KE,{treeNodeDragStart:({event:d,treeNode:f})=>{if(d.dataTransfer){if(Ve(e.allowDrag)&&!e.allowDrag(f.node))return d.preventDefault(),!1;d.dataTransfer.effectAllowed="move";try{d.dataTransfer.setData("text/plain","")}catch{}r.value.draggingNode=f,t.emit("node-drag-start",f.node,d)}},treeNodeDragOver:({event:d,treeNode:f})=>{if(!d.dataTransfer)return;const v=f,g=r.value.dropNode;g&&g.node.id!==v.node.id&&ta(g.$el,s.is("drop-inner"));const p=r.value.draggingNode;if(!p||!v)return;let h=!0,m=!0,b=!0,k=!0;Ve(e.allowDrop)&&(h=e.allowDrop(p.node,v.node,"prev"),k=m=e.allowDrop(p.node,v.node,"inner"),b=e.allowDrop(p.node,v.node,"next")),d.dataTransfer.dropEffect=m||h||b?"move":"none",(h||m||b)&&g?.node.id!==v.node.id&&(g&&t.emit("node-drag-leave",p.node,g.node,d),t.emit("node-drag-enter",p.node,v.node,d)),h||m||b?r.value.dropNode=v:r.value.dropNode=null,v.node.nextSibling===p.node&&(b=!1),v.node.previousSibling===p.node&&(h=!1),v.node.contains(p.node,!1)&&(m=!1),(p.node===v.node||p.node.contains(v.node))&&(h=!1,m=!1,b=!1);const y=v.$el,S=y.querySelector(`.${s.be("node","content")}`).getBoundingClientRect(),C=n.value.getBoundingClientRect(),E=n.value.scrollTop;let $;const O=h?m?.25:b?.45:1:Number.NEGATIVE_INFINITY,N=b?m?.75:h?.55:0:Number.POSITIVE_INFINITY;let R=-9999;const A=d.clientY-S.top;AS.height*N?$="after":m?$="inner":$="none";const _=y.querySelector(`.${s.be("node","expand-icon")}`).getBoundingClientRect(),V=a.value;$==="before"?R=_.top-C.top+E:$==="after"&&(R=_.bottom-C.top+E),V.style.top=`${R}px`,V.style.left=`${_.right-C.left}px`,$==="inner"?La(y,s.is("drop-inner")):ta(y,s.is("drop-inner")),r.value.showDropIndicator=$==="before"||$==="after",r.value.allowDrop=r.value.showDropIndicator||k,r.value.dropType=$,t.emit("node-drag-over",p.node,v.node,d)},treeNodeDragEnd:d=>{const{draggingNode:f,dropType:v,dropNode:g}=r.value;if(d.preventDefault(),d.dataTransfer&&(d.dataTransfer.dropEffect="move"),f?.node.data&&g){const p={data:f.node.data};v!=="none"&&f.node.remove(),v==="before"?g.node.parent?.insertBefore(p,g.node):v==="after"?g.node.parent?.insertAfter(p,g.node):v==="inner"&&g.node.insertChild(p),v!=="none"&&(o.value.registerNode(p),o.value.key&&f.node.eachNode(h=>{o.value.nodesMap[h.data[o.value.key]]?.setChecked(h.checked,!o.value.checkStrictly)})),ta(g.$el,s.is("drop-inner")),t.emit("node-drag-end",f.node,g.node,v,d),v!=="none"&&t.emit("node-drop",f.node,g.node,v,d)}f&&!g&&t.emit("node-drag-end",f.node,null,v,d),r.value.showDropIndicator=!1,r.value.draggingNode=null,r.value.dropNode=null,r.value.allowDrop=!0}}),{dragState:r}}var jY=se({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(e){const t=fe("tree"),n=_e(FE),a=_e(qm);return()=>{const o=e.node,{data:s,store:r}=o;return e.renderContent?e.renderContent(Ye,{_self:n,node:o,data:s,store:r}):ee(a.ctx.slots,"default",{node:o,data:s},()=>[Ye(Um,{tag:"span",truncated:!0,class:t.be("node","label")},()=>[o.label])])}}}),UY=jY,qY=se({name:"ElTreeNode",components:{ElCollapseTransition:rf,ElCheckbox:so,NodeContent:UY,ElIcon:De,Loading:Ao},props:{node:{type:_h,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:Boolean},emits:["node-expand"],setup(e,t){const n=fe("tree"),{broadcastExpanded:a}=HE(e),o=_e(qm),s=M(!1),r=M(!1),l=M(),u=M(),c=M(),d=_e(KE),f=ft();St(FE,f),o||pt("Tree","Can not find node's tree."),e.node.expanded&&(s.value=!0,r.value=!0);const v=o.props.props.children||"children";le(()=>{const N=e.node.data?.[v];return N&&[...N]},()=>{e.node.updateChildren()}),le(()=>e.node.indeterminate,N=>{h(e.node.checked,N)}),le(()=>e.node.checked,N=>{h(N,e.node.indeterminate)}),le(()=>e.node.childNodes.length,()=>e.node.reInitChecked()),le(()=>e.node.expanded,N=>{Re(()=>s.value=N),N&&(r.value=!0)});const g=N=>o.props.nodeKey?Ym(o.props.nodeKey,N.data):N.id,p=N=>{const R=e.props.class;if(!R)return{};let A;if(Ve(R)){const{data:_}=N;A=R(_,N)}else A=R;return Le(A)?{[A]:!0}:A},h=(N,R)=>{(l.value!==N||u.value!==R)&&o.ctx.emit("check-change",e.node.data,N,R),l.value=N,u.value=R},m=N=>{Ph(o.store,o.ctx.emit,()=>{if(o?.props?.nodeKey){const R=g(e.node);o.store.value.setCurrentNodeKey(R)}else o.store.value.setCurrentNode(e.node)}),o.currentNode.value=e.node,o.props.expandOnClickNode&&k(),(o.props.checkOnClickNode||e.node.isLeaf&&o.props.checkOnClickLeaf&&e.showCheckbox)&&!e.node.disabled&&y(!e.node.checked),o.ctx.emit("node-click",e.node.data,e.node,f,N)},b=N=>{o.instance.vnode.props?.onNodeContextmenu&&(N.stopPropagation(),N.preventDefault()),o.ctx.emit("node-contextmenu",N,e.node.data,e.node,f)},k=()=>{e.node.isLeaf||(s.value?(o.ctx.emit("node-collapse",e.node.data,e.node,f),e.node.collapse()):e.node.expand(()=>{t.emit("node-expand",e.node.data,e.node,f)}))},y=N=>{const R=o?.props.checkStrictly,A=e.node.childNodes;!R&&A.length&&(N=A.some(_=>!_.isEffectivelyChecked)),e.node.setChecked(N,!R),Re(()=>{const _=o.store.value;o.ctx.emit("check",e.node.data,{checkedNodes:_.getCheckedNodes(),checkedKeys:_.getCheckedKeys(),halfCheckedNodes:_.getHalfCheckedNodes(),halfCheckedKeys:_.getHalfCheckedKeys()})})};return{ns:n,node$:c,tree:o,expanded:s,childNodeRendered:r,oldChecked:l,oldIndeterminate:u,getNodeKey:g,getNodeClass:p,handleSelectChange:h,handleClick:m,handleContextMenu:b,handleExpandIconClick:k,handleCheckChange:y,handleChildNodeExpand:(N,R,A)=>{a(R),o.ctx.emit("node-expand",N,R,A)},handleDragStart:N=>{o.props.draggable&&d.treeNodeDragStart({event:N,treeNode:e})},handleDragOver:N=>{N.preventDefault(),o.props.draggable&&d.treeNodeDragOver({event:N,treeNode:{$el:c.value,node:e.node}})},handleDrop:N=>{N.preventDefault()},handleDragEnd:N=>{o.props.draggable&&d.treeNodeDragEnd(N)},CaretRight:DC}}});const YY=["aria-expanded","aria-disabled","aria-checked","draggable","data-key"],GY=["aria-expanded"];function XY(e,t,n,a,o,s){const r=It("el-icon"),l=It("el-checkbox"),u=It("loading"),c=It("node-content"),d=It("el-tree-node"),f=It("el-collapse-transition");return ut((x(),B("div",{ref:"node$",class:T([e.ns.b("node"),e.ns.is("expanded",e.expanded),e.ns.is("current",e.node.isCurrent),e.ns.is("hidden",!e.node.visible),e.ns.is("focusable",!e.node.disabled),e.ns.is("checked",!e.node.disabled&&e.node.checked),e.getNodeClass(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.node.disabled,"aria-checked":e.node.checked,draggable:e.tree.props.draggable,"data-key":e.getNodeKey(e.node),onClick:t[2]||(t[2]=Xe((...v)=>e.handleClick&&e.handleClick(...v),["stop"])),onContextmenu:t[3]||(t[3]=(...v)=>e.handleContextMenu&&e.handleContextMenu(...v)),onDragstart:t[4]||(t[4]=Xe((...v)=>e.handleDragStart&&e.handleDragStart(...v),["stop"])),onDragover:t[5]||(t[5]=Xe((...v)=>e.handleDragOver&&e.handleDragOver(...v),["stop"])),onDragend:t[6]||(t[6]=Xe((...v)=>e.handleDragEnd&&e.handleDragEnd(...v),["stop"])),onDrop:t[7]||(t[7]=Xe((...v)=>e.handleDrop&&e.handleDrop(...v),["stop"]))},[z("div",{class:T(e.ns.be("node","content")),style:Ke({paddingLeft:(e.node.level-1)*e.tree.props.indent+"px"})},[e.tree.props.icon||e.CaretRight?(x(),oe(r,{key:0,class:T([e.ns.be("node","expand-icon"),e.ns.is("leaf",e.node.isLeaf),{expanded:!e.node.isLeaf&&e.expanded}]),onClick:Xe(e.handleExpandIconClick,["stop"])},{default:J(()=>[(x(),oe(it(e.tree.props.icon||e.CaretRight)))]),_:1},8,["class","onClick"])):te("v-if",!0),e.showCheckbox?(x(),oe(l,{key:1,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:!!e.node.disabled,onClick:t[0]||(t[0]=Xe(()=>{},["stop"])),onChange:e.handleCheckChange},null,8,["model-value","indeterminate","disabled","onChange"])):te("v-if",!0),e.node.loading?(x(),oe(r,{key:2,class:T([e.ns.be("node","loading-icon"),e.ns.is("loading")])},{default:J(()=>[Y(u)]),_:1},8,["class"])):te("v-if",!0),Y(c,{node:e.node,"render-content":e.renderContent},null,8,["node","render-content"])],6),Y(f,null,{default:J(()=>[!e.renderAfterExpand||e.childNodeRendered?ut((x(),B("div",{key:0,class:T(e.ns.be("node","children")),role:"group","aria-expanded":e.expanded,onClick:t[1]||(t[1]=Xe(()=>{},["stop"]))},[(x(!0),B(Fe,null,gt(e.node.childNodes,v=>(x(),oe(d,{key:e.getNodeKey(v),"render-content":e.renderContent,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,node:v,accordion:e.accordion,props:e.props,onNodeExpand:e.handleChildNodeExpand},null,8,["render-content","render-after-expand","show-checkbox","node","accordion","props","onNodeExpand"]))),128))],10,GY)),[[Pt,e.expanded]]):te("v-if",!0)]),_:1})],42,YY)),[[Pt,e.node.visible]])}var JY=$n(qY,[["render",XY]]);function ZY({el$:e},t){const n=fe("tree");ht(()=>{s()}),ro(()=>{e.value?.querySelectorAll("input[type=checkbox]").forEach(r=>{r.setAttribute("tabindex","-1")})});function a(r,l){const u=t.value.getNode(r[l].dataset.key);return u.canFocus&&u.visible&&(u.parent?.expanded||u.parent?.level===0)}Ft(e,"keydown",r=>{const l=r.target;if(!l.className.includes(n.b("node")))return;const u=jt(r),c=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`)),d=c.indexOf(l);let f;if([we.up,we.down].includes(u)){if(r.preventDefault(),u===we.up){f=d===-1?0:d!==0?d-1:c.length-1;const g=f;for(;!a(c,f);){if(f--,f===g){f=-1;break}f<0&&(f=c.length-1)}}else{f=d===-1?0:d=c.length&&(f=0)}}f!==-1&&c[f].focus()}[we.left,we.right].includes(u)&&(r.preventDefault(),l.click());const v=l.querySelector('[type="checkbox"]');[we.enter,we.numpadEnter,we.space].includes(u)&&v&&(r.preventDefault(),v.click())});const s=()=>{if(!e.value)return;const r=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`));Array.from(e.value.querySelectorAll("input[type=checkbox]")).forEach(u=>{u.setAttribute("tabindex","-1")});const l=e.value.querySelectorAll(`.${n.is("checked")}[role=treeitem]`);if(l.length){l[0].setAttribute("tabindex","0");return}r[0]?.setAttribute("tabindex","0")}}var QY=se({name:"ElTree",components:{ElTreeNode:JY},props:VE,emits:zY,setup(e,t){const{t:n}=Ct(),a=fe("tree"),o=M(new KY({key:e.nodeKey,data:e.data,lazy:e.lazy,props:e.props,load:e.load,currentNodeKey:e.currentNodeKey,checkStrictly:e.checkStrictly,checkDescendants:e.checkDescendants,defaultCheckedKeys:e.defaultCheckedKeys,defaultExpandedKeys:e.defaultExpandedKeys,autoExpandParent:e.autoExpandParent,defaultExpandAll:e.defaultExpandAll,filterNodeMethod:e.filterNodeMethod}));o.value.initialize();const s=M(o.value.root),r=M(null),l=M(null),u=M(null),{broadcastExpanded:c}=HE(e),{dragState:d}=WY({props:e,ctx:t,el$:l,dropIndicator$:u,store:o});ZY({el$:l},o);const f=ft(),v=w(()=>{let D=f?.parent;for(;D;){if(D.type.name==="ElTreeSelect")return!0;D=D.parent}return!1}),g=w(()=>{const{childNodes:D}=s.value;return(!D||D.length===0||D.every(({visible:F})=>!F))&&!v.value});le(()=>e.currentNodeKey,D=>{o.value.setCurrentNodeKey(D??null)}),le(()=>e.defaultCheckedKeys,(D,F)=>{sn(D,F)||o.value.setDefaultCheckedKey(D??[])}),le(()=>e.defaultExpandedKeys,D=>{o.value.setDefaultExpandedKeys(D??[])}),le(()=>e.data,D=>{o.value.setData(D)},{deep:!0}),le(()=>e.checkStrictly,D=>{o.value.checkStrictly=D});const p=D=>{if(!e.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");o.value.filter(D)},h=D=>e.nodeKey?Ym(e.nodeKey,D.data):D.id,m=D=>{if(!e.nodeKey)throw new Error(`[Tree] nodeKey is required in ${D}`)},b=D=>{m("getNodePath");const F=o.value.getNode(D);if(!F)return[];const q=[F.data];let j=F.parent;for(;j&&j!==s.value;)q.push(j.data),j=j.parent;return q.reverse()},k=(D,F)=>o.value.getCheckedNodes(D,F),y=D=>o.value.getCheckedKeys(D),S=()=>{const D=o.value.getCurrentNode();return D?D.data:null},C=()=>{m("getCurrentKey");const D=S();return D?D[e.nodeKey]:null},E=(D,F)=>{m("setCheckedNodes"),o.value.setCheckedNodes(D,F)},$=(D,F)=>{m("setCheckedKeys"),o.value.setCheckedKeys(D,F)},O=(D,F,q)=>{o.value.setChecked(D,F,q)},N=()=>o.value.getHalfCheckedNodes(),R=()=>o.value.getHalfCheckedKeys(),A=(D,F=!0)=>{m("setCurrentNode"),Ph(o,t.emit,()=>{c(D),o.value.setUserCurrentNode(D,F)})},_=(D=null,F=!0)=>{m("setCurrentKey"),Ph(o,t.emit,()=>{c(),o.value.setCurrentNodeKey(D,F)})},V=D=>o.value.getNode(D),H=D=>{o.value.remove(D)},U=(D,F)=>{o.value.append(D,F)},W=(D,F)=>{o.value.insertBefore(D,F)},P=(D,F)=>{o.value.insertAfter(D,F)},I=(D,F,q)=>{c(F),t.emit("node-expand",D,F,q)},L=(D,F)=>{m("updateKeyChildren"),o.value.updateChildren(D,F)};return St(qm,{ctx:t,props:e,store:o,root:s,currentNode:r,instance:f}),St(Lo,void 0),{ns:a,store:o,root:s,currentNode:r,dragState:d,el$:l,dropIndicator$:u,isEmpty:g,filter:p,getNodeKey:h,getNodePath:b,getCheckedNodes:k,getCheckedKeys:y,getCurrentNode:S,getCurrentKey:C,setCheckedNodes:E,setCheckedKeys:$,setChecked:O,getHalfCheckedNodes:N,getHalfCheckedKeys:R,setCurrentNode:A,setCurrentKey:_,t:n,getNode:V,remove:H,append:U,insertBefore:W,insertAfter:P,handleNodeExpand:I,updateKeyChildren:L}}});function eG(e,t,n,a,o,s){const r=It("el-tree-node");return x(),B("div",{ref:"el$",class:T([e.ns.b(),e.ns.is("dragging",!!e.dragState.draggingNode),e.ns.is("drop-not-allow",!e.dragState.allowDrop),e.ns.is("drop-inner",e.dragState.dropType==="inner"),{[e.ns.m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[(x(!0),B(Fe,null,gt(e.root.childNodes,l=>(x(),oe(r,{key:e.getNodeKey(l),node:l,props:e.props,accordion:e.accordion,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent,onNodeExpand:e.handleNodeExpand},null,8,["node","props","accordion","render-after-expand","show-checkbox","render-content","onNodeExpand"]))),128)),e.isEmpty?(x(),B("div",{key:0,class:T(e.ns.e("empty-block"))},[ee(e.$slots,"empty",{},()=>[z("span",{class:T(e.ns.e("empty-text"))},Se(e.emptyText??e.t("el.tree.emptyText")),3)])],2)):te("v-if",!0),ut(z("div",{ref:"dropIndicator$",class:T(e.ns.e("drop-indicator"))},null,2),[[Pt,e.dragState.showDropIndicator]])],2)}var tG=$n(QY,[["render",eG]]);const Gm=rt(tG),nG=(e,{attrs:t,emit:n},{select:a,tree:o,key:s})=>{const r=fe("tree-select");le(()=>e.data,()=>{e.filterable&&Re(()=>{o.value?.filter(a.value?.states.inputValue)})},{flush:"post"});const l=u=>{const c=u.at(-1);if(c.expanded&&c.childNodes.at(-1))l([c.childNodes.at(-1)]);else{o.value.el$?.querySelector(`[data-key="${u.at(-1).key}"]`)?.focus({preventScroll:!0});return}};return ht(()=>{Ft(()=>a.value?.$el,"keydown",async u=>{const c=jt(u),{dropdownMenuVisible:d}=a.value;[we.down,we.up].includes(c)&&d&&(await Re(),setTimeout(()=>{if(we.up===c){const f=o.value.store.root.childNodes;l(f);return}a.value.optionsArray[a.value.states.hoveringIndex].$el?.parentNode?.parentNode?.focus({preventScroll:!0})}))},{capture:!0})}),{...ss(Mn(e),Object.keys(Hs.props)),...t,class:w(()=>t.class),style:w(()=>t.style),"onUpdate:modelValue":u=>n(at,u),valueKey:s,popperClass:w(()=>{const u=[r.e("popper")];return e.popperClass&&u.push(e.popperClass),u.join(" ")}),filterMethod:(u="")=>{e.filterMethod?e.filterMethod(u):e.remoteMethod?e.remoteMethod(u):o.value?.filter(u)}}},aG=se({extends:sd,setup(e,t){const n=sd.setup(e,t);delete n.selectOptionClick;const a=ft().proxy;return Re(()=>{n.select.states.cachedOptions.get(a.value)||n.select.onOptionCreate(a)}),le(()=>t.attrs.visible,o=>{Re(()=>{n.states.visible=o})},{immediate:!0}),n},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function Ah(e){return e||e===0}function Xm(e){return ye(e)&&e.length}function Kr(e){return ye(e)?e:Ah(e)?[e]:[]}function Pc(e,t,n,a,o){for(let s=0;s{le([()=>e.modelValue,s],()=>{e.showCheckbox&&Re(()=>{const p=s.value;p&&!sn(p.getCheckedKeys(),Kr(e.modelValue))&&p.setCheckedKeys(Kr(e.modelValue))})},{immediate:!0,deep:!0});const l=w(()=>({value:r.value,label:"label",children:"children",disabled:"disabled",isLeaf:"isLeaf",...e.props})),u=(p,h)=>{const m=l.value[p];return Ve(m)?m(h,s.value?.getNode(u("value",h))):h[m]},c=Kr(e.modelValue).map(p=>Pc(e.data||[],h=>u("value",h)===p,h=>u("children",h),(h,m,b,k)=>k&&u("value",k))).filter(p=>Ah(p)),d=w(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];const p=[];return Mc(e.data.concat(e.cacheData),h=>{const m=u("value",h);p.push({value:m,currentLabel:u("label",h),isDisabled:u("disabled",h)})},h=>u("children",h)),p}),f=()=>s.value?.getCheckedKeys().filter(p=>{const h=s.value?.getNode(p);return!bn(h)&&ia(h.childNodes)}),v=p=>{sn(e.modelValue,p)||a(yt,p)};function g(p){a(at,p),v(p)}return{...ss(Mn(e),Object.keys(Gm.props)),...t,nodeKey:r,expandOnClickNode:w(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:w(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(c):c),renderContent:(p,{node:h,data:m,store:b})=>p(aG,{value:u("value",m),label:u("label",m),disabled:u("disabled",m),visible:h.visible},e.renderContent?()=>e.renderContent(p,{node:h,data:m,store:b}):n.default?()=>n.default({node:h,data:m,store:b}):void 0),filterNodeMethod:(p,h,m)=>e.filterNodeMethod?e.filterNodeMethod(p,h,m):p?new RegExp(Lv(p),"i").test(u("label",h)||""):!0,onNodeClick:(p,h,m)=>{if(t.onNodeClick?.(p,h,m),!(e.showCheckbox&&e.checkOnClickNode))if(!e.showCheckbox&&(e.checkStrictly||h.isLeaf)){if(!u("disabled",p)){const b=o.value?.states.options.get(u("value",p));o.value?.handleOptionSelect(b)}}else e.expandOnClickNode&&m.proxy.handleExpandIconClick()},onCheck:(p,h)=>{if(!e.showCheckbox)return;const m=u("value",p),b={};Mc([s.value.store.root],C=>b[C.key]=C,C=>C.childNodes);const k=h.checkedKeys,y=e.multiple?Kr(e.modelValue).filter(C=>!(C in b)&&!k.includes(C)):[],S=y.concat(k);if(e.checkStrictly)g(e.multiple?S:S.includes(m)?m:void 0);else if(e.multiple){const C=f();g(y.concat(C))}else{const C=Pc([p],O=>!Xm(u("children",O))&&!u("disabled",O),O=>u("children",O)),E=C?u("value",C):void 0,$=Ah(e.modelValue)&&!!Pc([p],O=>u("value",O)===e.modelValue,O=>u("children",O));g(E===e.modelValue||$?void 0:E)}Re(()=>{const C=Kr(e.modelValue);s.value.setCheckedKeys(C),t.onCheck?.(p,{checkedKeys:s.value.getCheckedKeys(),checkedNodes:s.value.getCheckedNodes(),halfCheckedKeys:s.value.getHalfCheckedKeys(),halfCheckedNodes:s.value.getHalfCheckedNodes()})}),o.value?.focus()},onNodeExpand:(p,h,m)=>{t.onNodeExpand?.(p,h,m),Re(()=>{if(!e.checkStrictly&&e.lazy&&e.multiple&&h.checked){const b={},k=s.value.getCheckedKeys();Mc([s.value.store.root],C=>b[C.key]=C,C=>C.childNodes);const y=Kr(e.modelValue).filter(C=>!(C in b)&&!k.includes(C)),S=f();g(y.concat(S))}})},cacheOptions:d}};var sG=se({props:{data:{type:Array,default:()=>[]}},setup(e){const t=_e(bu);return le(()=>e.data,()=>{e.data.forEach(a=>{t.states.cachedOptions.has(a.value)||t.states.cachedOptions.set(a.value,a)});const n=t.selectRef?.querySelectorAll("input")||[];Mt&&!Array.from(n).includes(document.activeElement)&&t.setSelected()},{flush:"post",immediate:!0}),()=>{}}}),rG=se({name:"ElTreeSelect",inheritAttrs:!1,props:{...Ak,...VE,cacheData:{type:Array,default:()=>[]}},setup(e,t){const{slots:n,expose:a,emit:o,attrs:s}=t,r={...s,onChange:void 0},l=M(),u=M(),c=w(()=>e.nodeKey||e.valueKey||"value"),d=nG(e,{attrs:s,emit:o},{select:l,tree:u,key:c}),{cacheOptions:f,...v}=oG(e,{attrs:r,slots:n,emit:o},{select:l,tree:u,key:c}),g=At({});return a(g),ht(()=>{Object.assign(g,{...ss(u.value,["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"]),...ss(l.value,["focus","blur","selectedLabel"]),treeRef:u.value,selectRef:l.value})}),()=>Ye(Hs,At({...d,ref:p=>l.value=p}),{...n,default:()=>[Ye(sG,{data:f.value}),Ye(Gm,At({...v,ref:p=>u.value=p}))]})}}),lG=rG;const iG=rt(lG),Jm=Symbol(),uG={key:-1,level:-1,data:{}};let Xo=(function(e){return e.KEY="id",e.LABEL="label",e.CHILDREN="children",e.DISABLED="disabled",e.CLASS="",e})({}),U0=(function(e){return e.ADD="add",e.DELETE="delete",e})({});const WE={type:Number,default:26},cG=Ce({data:{type:G(Array),default:()=>rn([])},emptyText:{type:String},height:{type:Number,default:200},props:{type:G(Object),default:()=>rn({children:Xo.CHILDREN,label:Xo.LABEL,disabled:Xo.DISABLED,value:Xo.KEY,class:Xo.CLASS})},highlightCurrent:Boolean,showCheckbox:Boolean,defaultCheckedKeys:{type:G(Array),default:()=>rn([])},checkStrictly:Boolean,defaultExpandedKeys:{type:G(Array),default:()=>rn([])},indent:{type:Number,default:16},itemSize:WE,icon:{type:Kt},expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},currentNodeKey:{type:G([String,Number])},accordion:Boolean,filterMethod:{type:G(Function)},perfMode:{type:Boolean,default:!0},scrollbarAlwaysOn:Boolean}),dG=Ce({node:{type:G(Object),default:()=>rn(uG)},expanded:Boolean,checked:Boolean,indeterminate:Boolean,showCheckbox:Boolean,disabled:Boolean,current:Boolean,hiddenExpandIcon:Boolean,itemSize:WE}),fG=Ce({node:{type:G(Object),required:!0}}),jE="node-click",UE="node-drop",qE="node-expand",YE="node-collapse",GE="current-change",XE="check",JE="check-change",ZE="node-contextmenu",pG={[jE]:(e,t,n)=>e&&t&&n,[UE]:(e,t,n)=>e&&t&&n,[qE]:(e,t)=>e&&t,[YE]:(e,t)=>e&&t,[GE]:(e,t)=>e&&t,[XE]:(e,t)=>e&&t,[JE]:(e,t)=>e&&Ht(t),[ZE]:(e,t,n)=>e&&t&&n},hG={click:(e,t)=>!!(e&&t),drop:(e,t)=>!!(e&&t),toggle:e=>!!e,check:(e,t)=>e&&Ht(t)};function vG(e,t){const n=M(new Set),a=M(new Set),{emit:o}=ft();le([()=>t.value,()=>e.defaultCheckedKeys],()=>Re(()=>{k(e.defaultCheckedKeys)}),{immediate:!0});const s=()=>{if(!t.value||!e.showCheckbox||e.checkStrictly)return;const{levelTreeNodeMap:y,maxLevel:S}=t.value,C=n.value,E=new Set;for(let $=S;$>=1;--$){const O=y.get($);O&&O.forEach(N=>{const R=N.children;let A=!N.isLeaf||N.disabled||C.has(N.key);if(R){let _=!0,V=!1;for(const H of R){const U=H.key;if(H.isEffectivelyChecked||(A=!1),C.has(U))V=!0;else if(E.has(U)){_=!1,V=!0;break}else _=!1}_?C.add(N.key):V?(E.add(N.key),C.delete(N.key)):(C.delete(N.key),E.delete(N.key))}N.isEffectivelyChecked=A})}a.value=E},r=y=>n.value.has(y.key),l=y=>a.value.has(y.key),u=(y,S,C=!0,E=!0)=>{const $=n.value,O=y.children;!e.checkStrictly&&C&&O?.length&&(S=O.some(R=>!R.isEffectivelyChecked));const N=(R,A)=>{$[A?U0.ADD:U0.DELETE](R.key);const _=R.children;!e.checkStrictly&&_&&_.forEach(V=>{(!V.disabled||V.children)&&N(V,A)})};N(y,S),E&&s(),C&&c(y,S)},c=(y,S)=>{const{checkedNodes:C,checkedKeys:E}=p(),{halfCheckedNodes:$,halfCheckedKeys:O}=h();o(XE,y.data,{checkedKeys:E,checkedNodes:C,halfCheckedKeys:O,halfCheckedNodes:$}),o(JE,y.data,S)};function d(y=!1){return p(y).checkedKeys}function f(y=!1){return p(y).checkedNodes}function v(){return h().halfCheckedKeys}function g(){return h().halfCheckedNodes}function p(y=!1){const S=[],C=[];if(t?.value&&e.showCheckbox){const{treeNodeMap:E}=t.value;n.value.forEach($=>{const O=E.get($);O&&(!y||y&&O.isLeaf)&&(C.push($),S.push(O.data))})}return{checkedKeys:C,checkedNodes:S}}function h(){const y=[],S=[];if(t?.value&&e.showCheckbox){const{treeNodeMap:C}=t.value;a.value.forEach(E=>{const $=C.get(E);$&&(S.push(E),y.push($.data))})}return{halfCheckedNodes:y,halfCheckedKeys:S}}function m(y){n.value.clear(),a.value.clear(),Re(()=>{k(y)})}function b(y,S){if(t?.value&&e.showCheckbox){const C=t.value.treeNodeMap.get(y);C&&u(C,S,!1)}}function k(y){if(t?.value){const{treeNodeMap:S}=t.value;if(e.showCheckbox&&S&&y?.length>0){for(const C of y){const E=S.get(C);E&&!r(E)&&u(E,!0,!1,!1)}s()}}}return{updateCheckedKeys:s,toggleCheckbox:u,isChecked:r,isIndeterminate:l,getCheckedKeys:d,getCheckedNodes:f,getHalfCheckedKeys:v,getHalfCheckedNodes:g,setChecked:b,setCheckedKeys:m}}function mG(e,t){const n=M(new Set([])),a=M(new Set([])),o=w(()=>Ve(e.filterMethod));function s(l){if(!o.value)return;const u=new Set,c=a.value,d=n.value,f=[],v=t.value?.treeNodes||[],g=e.filterMethod;d.clear();function p(h){h.forEach(m=>{f.push(m),g?.(l,m.data,m)?f.forEach(k=>{u.add(k.key),k.expanded=!0}):(m.expanded=!1,m.isLeaf&&d.add(m.key));const b=m.children;if(b&&p(b),!m.isLeaf){if(!u.has(m.key))d.add(m.key);else if(b){let k=!0;for(const y of b)if(!d.has(y.key)){k=!1;break}k?c.add(m.key):c.delete(m.key)}}f.pop()})}return p(v),u}function r(l){return a.value.has(l.key)}return{hiddenExpandIconKeySet:a,hiddenNodeKeySet:n,doFilter:s,isForceHiddenExpandIcon:r}}function gG(e,t){const n=M(new Set),a=M(),o=Xt(),s=M(),{isIndeterminate:r,isChecked:l,toggleCheckbox:u,getCheckedKeys:c,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:v,setChecked:g,setCheckedKeys:p}=vG(e,o),{doFilter:h,hiddenNodeKeySet:m,isForceHiddenExpandIcon:b}=mG(e,o),k=w(()=>e.props?.value||Xo.KEY),y=w(()=>e.props?.children||Xo.CHILDREN),S=w(()=>e.props?.disabled||Xo.DISABLED),C=w(()=>e.props?.label||Xo.LABEL),E=w(()=>{const ne=n.value,K=m.value,Z=[],re=o.value?.treeNodes||[],ce=[];for(let ve=re.length-1;ve>=0;--ve)ce.push(re[ve]);for(;ce.length;){const ve=ce.pop();if(!K.has(ve.key)&&(Z.push(ve),ve.children&&ne.has(ve.key)))for(let ke=ve.children.length-1;ke>=0;--ke)ce.push(ve.children[ke])}return Z}),$=w(()=>E.value.length>0);function O(ne){const K=new Map,Z=new Map;let re=1;function ce(ke,Ne=1,Ie=void 0){const $e=[];for(const pe of ke){const Ee=A(pe),me={level:Ne,key:Ee,data:pe};me.label=V(pe),me.parent=Ie;const Me=R(pe);me.disabled=_(pe),me.isLeaf=!Me||Me.length===0,me.expanded=n.value.has(Ee),Me&&Me.length&&(me.children=ce(Me,Ne+1,me)),$e.push(me),K.set(Ee,me),Z.has(Ne)||Z.set(Ne,[]),Z.get(Ne)?.push(me)}return Ne>re&&(re=Ne),$e}const ve=ce(ne);return{treeNodeMap:K,levelTreeNodeMap:Z,maxLevel:re,treeNodes:ve}}function N(ne){const K=h(ne);K&&(n.value=K)}function R(ne){return ne[y.value]}function A(ne){return ne?ne[k.value]:""}function _(ne){return ne[S.value]}function V(ne){return ne[C.value]}function H(ne){n.value.has(ne.key)?F(ne):D(ne)}function U(ne){const K=new Set,Z=o.value.treeNodeMap;n.value.forEach(re=>{const ce=Z.get(re);n.value.delete(ce.key),ce.expanded=!1}),ne.forEach(re=>{let ce=Z.get(re);for(;ce&&!K.has(ce.key);)K.add(ce.key),ce.expanded=!0,ce=ce.parent}),n.value=K}function W(ne,K){t(jE,ne.data,ne,K),I(ne),e.expandOnClickNode&&H(ne),e.showCheckbox&&(e.checkOnClickNode||ne.isLeaf&&e.checkOnClickLeaf)&&!ne.disabled&&u(ne,!l(ne),!0)}function P(ne,K){t(UE,ne.data,ne,K)}function I(ne){j(ne)||(a.value=ne.key,t(GE,ne.data,ne))}function L(ne,K){u(ne,K)}function D(ne){const K=n.value;if(o.value&&e.accordion){const{treeNodeMap:re}=o.value;K.forEach(ce=>{const ve=re.get(ce);ne&&ne.level===ve?.level&&(K.delete(ce),ve.expanded=!1)})}K.add(ne.key);const Z=ge(ne.key);Z&&(Z.expanded=!0,t(qE,Z.data,Z))}function F(ne){n.value.delete(ne.key);const K=ge(ne.key);K&&(K.expanded=!1,t(YE,K.data,K))}function q(ne){return!!ne.disabled}function j(ne){const K=a.value;return K!==void 0&&K===ne.key}function X(){if(a.value)return o.value?.treeNodeMap.get(a.value)?.data}function Q(){return a.value}function he(ne){a.value=ne}function ue(ne){o.value=O(ne)}function ge(ne){const K=ot(ne)?A(ne):ne;return o.value?.treeNodeMap.get(K)}function ie(ne,K="auto"){const Z=ge(ne);Z&&s.value&&s.value.scrollToItem(E.value.indexOf(Z),K)}function ae(ne){s.value?.scrollTo(ne)}return le(()=>e.currentNodeKey,ne=>{a.value=ne},{immediate:!0}),le(()=>e.defaultExpandedKeys,ne=>{n.value=new Set(ne)},{immediate:!0}),le(()=>e.data,ne=>{ue(ne)},{immediate:!0}),{tree:o,flattenTree:E,isNotEmpty:$,listRef:s,getKey:A,getChildren:R,toggleExpand:H,toggleCheckbox:u,isChecked:l,isIndeterminate:r,isDisabled:q,isCurrent:j,isForceHiddenExpandIcon:b,handleNodeClick:W,handleNodeDrop:P,handleNodeCheck:L,getCurrentNode:X,getCurrentKey:Q,setCurrentKey:he,getCheckedKeys:c,getCheckedNodes:d,getHalfCheckedKeys:f,getHalfCheckedNodes:v,setChecked:g,setCheckedKeys:p,filter:N,setData:ue,getNode:ge,expandNode:D,collapseNode:F,setExpandedKeys:U,scrollToNode:ie,scrollTo:ae}}var bG=se({name:"ElTreeNodeContent",props:fG,setup(e){const t=_e(Jm),n=fe("tree");return()=>{const a=e.node,{data:o}=a;return t?.ctx.slots.default?t.ctx.slots.default({node:a,data:o}):Ye(Um,{tag:"span",truncated:!0,class:n.be("node","label")},()=>[a?.label])}}});const yG=["aria-expanded","aria-disabled","aria-checked","data-key"];var wG=se({name:"ElTreeNode",__name:"tree-node",props:dG,emits:hG,setup(e,{emit:t}){const n=e,a=t,o=_e(Jm),s=fe("tree"),r=w(()=>o?.props.indent??16),l=w(()=>o?.props.icon??DC),u=p=>{const h=o?.props.props?.class;if(!h)return{};let m;if(Ve(h)){const{data:b}=p;m=h(b,p)}else m=h;return Le(m)?{[m]:!0}:m},c=p=>{a("click",n.node,p)},d=p=>{a("drop",n.node,p)},f=()=>{a("toggle",n.node)},v=p=>{a("check",n.node,p)},g=p=>{o?.instance?.vnode?.props?.onNodeContextmenu&&(p.stopPropagation(),p.preventDefault()),o?.ctx.emit(ZE,p,n.node?.data,n.node)};return(p,h)=>(x(),B("div",{ref:"node$",class:T([i(s).b("node"),i(s).is("expanded",e.expanded),i(s).is("current",e.current),i(s).is("focusable",!e.disabled),i(s).is("checked",!e.disabled&&e.checked),u(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.disabled,"aria-checked":e.checked,"data-key":e.node?.key,onClick:Xe(c,["stop"]),onContextmenu:g,onDragover:h[1]||(h[1]=Xe(()=>{},["prevent"])),onDragenter:h[2]||(h[2]=Xe(()=>{},["prevent"])),onDrop:Xe(d,["stop"])},[z("div",{class:T(i(s).be("node","content")),style:Ke({paddingLeft:`${(e.node.level-1)*r.value}px`,height:e.itemSize+"px"})},[l.value?(x(),oe(i(De),{key:0,class:T([i(s).is("leaf",!!e.node?.isLeaf),i(s).is("hidden",e.hiddenExpandIcon),{expanded:!e.node?.isLeaf&&e.expanded},i(s).be("node","expand-icon")]),onClick:Xe(f,["stop"])},{default:J(()=>[(x(),oe(it(l.value)))]),_:1},8,["class"])):te("v-if",!0),e.showCheckbox?(x(),oe(i(so),{key:1,"model-value":e.checked,indeterminate:e.indeterminate,disabled:e.disabled,onChange:v,onClick:h[0]||(h[0]=Xe(()=>{},["stop"]))},null,8,["model-value","indeterminate","disabled"])):te("v-if",!0),Y(i(bG),{node:{...e.node,expanded:e.expanded}},null,8,["node"])],6)],42,yG))}}),SG=wG,CG=se({name:"ElTreeV2",__name:"tree",props:cG,emits:pG,setup(e,{expose:t,emit:n}){const a=e,o=n,s=vn(),r=w(()=>a.itemSize);St(Jm,{ctx:{emit:o,slots:s},props:a,instance:ft()}),St(Lo,void 0);const{t:l}=Ct(),u=fe("tree"),{flattenTree:c,isNotEmpty:d,listRef:f,toggleExpand:v,isIndeterminate:g,isChecked:p,isDisabled:h,isCurrent:m,isForceHiddenExpandIcon:b,handleNodeClick:k,handleNodeDrop:y,handleNodeCheck:S,toggleCheckbox:C,getCurrentNode:E,getCurrentKey:$,setCurrentKey:O,getCheckedKeys:N,getCheckedNodes:R,getHalfCheckedKeys:A,getHalfCheckedNodes:_,setChecked:V,setCheckedKeys:H,filter:U,setData:W,getNode:P,expandNode:I,collapseNode:L,setExpandedKeys:D,scrollToNode:F,scrollTo:q}=gG(a,o);return t({toggleCheckbox:C,getCurrentNode:E,getCurrentKey:$,setCurrentKey:O,getCheckedKeys:N,getCheckedNodes:R,getHalfCheckedKeys:A,getHalfCheckedNodes:_,setChecked:V,setCheckedKeys:H,filter:U,setData:W,getNode:P,expandNode:I,collapseNode:L,setExpandedKeys:D,scrollToNode:F,scrollTo:q}),(j,X)=>(x(),B("div",{class:T([i(u).b(),{[i(u).m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[i(d)?(x(),oe(i(nE),{key:0,ref_key:"listRef",ref:f,"class-name":i(u).b("virtual-list"),data:i(c),total:i(c).length,height:e.height,"item-size":r.value,"perf-mode":e.perfMode,"scrollbar-always-on":e.scrollbarAlwaysOn},{default:J(({data:Q,index:he,style:ue})=>[(x(),oe(SG,{key:Q[he].key,style:Ke(ue),node:Q[he],expanded:Q[he].expanded,"show-checkbox":e.showCheckbox,checked:i(p)(Q[he]),indeterminate:i(g)(Q[he]),"item-size":r.value,disabled:i(h)(Q[he]),current:i(m)(Q[he]),"hidden-expand-icon":i(b)(Q[he]),onClick:i(k),onToggle:i(v),onCheck:i(S),onDrop:i(y)},null,8,["style","node","expanded","show-checkbox","checked","indeterminate","item-size","disabled","current","hidden-expand-icon","onClick","onToggle","onCheck","onDrop"]))]),_:1},8,["class-name","data","total","height","item-size","perf-mode","scrollbar-always-on"])):(x(),B("div",{key:1,class:T(i(u).e("empty-block"))},[ee(j.$slots,"empty",{},()=>[z("span",{class:T(i(u).e("empty-text"))},Se(e.emptyText??i(l)("el.tree.emptyText")),3)])],2))],2))}}),kG=CG;const EG=rt(kG),xG="ElUpload";var TG=class extends Error{constructor(e,t,n,a){super(e),this.name="UploadAjaxError",this.status=t,this.method=n,this.url=a}};function q0(e,t,n){let a;return n.response?a=`${n.response.error||n.response}`:n.responseText?a=`${n.responseText}`:a=`fail to ${t.method} ${e} ${n.status}`,new TG(a,n.status,t.method,e)}function $G(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const OG=e=>{typeof XMLHttpRequest>"u"&&nn(xG,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",s=>{const r=s;r.percent=s.total>0?s.loaded/s.total*100:0,e.onProgress(r)});const a=new FormData;if(e.data)for(const[s,r]of Object.entries(e.data))ye(r)?r.length===2&&r[0]instanceof Blob&&Le(r[1])?a.append(s,r[0],r[1]):r.forEach(l=>{a.append(s,l)}):a.append(s,r);a.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(q0(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(q0(n,e,t));e.onSuccess($G(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const o=e.headers||{};if(o instanceof Headers)o.forEach((s,r)=>t.setRequestHeader(r,s));else for(const[s,r]of Object.entries(o))bn(r)||t.setRequestHeader(s,String(r));return t.send(a),t},QE=["text","picture","picture-card"];let RG=1;const Lh=()=>Date.now()+RG++,ex=Ce({action:{type:String,default:"#"},headers:{type:G(Object)},method:{type:String,default:"post"},data:{type:G([Object,Function,Promise]),default:()=>rn({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:G(Array),default:()=>rn([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:QE,default:"text"},httpRequest:{type:G(Function),default:OG},disabled:{type:Boolean,default:void 0},limit:Number,directory:Boolean}),NG=Ce({...ex,beforeUpload:{type:G(Function),default:Dt},beforeRemove:{type:G(Function)},onRemove:{type:G(Function),default:Dt},onChange:{type:G(Function),default:Dt},onPreview:{type:G(Function),default:Dt},onSuccess:{type:G(Function),default:Dt},onProgress:{type:G(Function),default:Dt},onError:{type:G(Function),default:Dt},onExceed:{type:G(Function),default:Dt},crossorigin:{type:G(String)}}),tx=Symbol("uploadContextKey"),IG=Ce({files:{type:G(Array),default:()=>rn([])},disabled:{type:Boolean,default:void 0},handlePreview:{type:G(Function),default:Dt},listType:{type:String,values:QE,default:"text"},crossorigin:{type:G(String)}}),PG={remove:e=>!!e},MG=Ce({...ex,beforeUpload:{type:G(Function),default:Dt},onRemove:{type:G(Function),default:Dt},onStart:{type:G(Function),default:Dt},onSuccess:{type:G(Function),default:Dt},onProgress:{type:G(Function),default:Dt},onError:{type:G(Function),default:Dt},onExceed:{type:G(Function),default:Dt}}),_G=Ce({disabled:{type:Boolean,default:void 0},directory:Boolean}),AG={file:e=>ye(e)},LG=["tabindex","aria-disabled","onKeydown"],DG=["src","crossorigin"],BG=["onClick"],FG=["title"],VG=["onClick"],zG=["onClick"];var HG=se({name:"ElUploadList",__name:"upload-list",props:IG,emits:PG,setup(e,{emit:t}){const n=e,a=t,{t:o}=Ct(),s=fe("upload"),r=fe("icon"),l=fe("list"),u=un(),c=M(!1),d=w(()=>[s.b("list"),s.bm("list",n.listType),s.is("disabled",u.value)]),f=v=>{a("remove",v)};return(v,g)=>(x(),oe(j1,{tag:"ul",class:T(d.value),name:i(l).b()},{default:J(()=>[(x(!0),B(Fe,null,gt(e.files,(p,h)=>(x(),B("li",{key:p.uid||p.name,class:T([i(s).be("list","item"),i(s).is(p.status),{focusing:c.value}]),tabindex:i(u)?void 0:0,"aria-disabled":i(u),role:"button",onKeydown:on(m=>!i(u)&&f(p),["delete"]),onFocus:g[0]||(g[0]=m=>c.value=!0),onBlur:g[1]||(g[1]=m=>c.value=!1),onClick:g[2]||(g[2]=m=>c.value=!1)},[ee(v.$slots,"default",{file:p,index:h},()=>[e.listType==="picture"||p.status!=="uploading"&&e.listType==="picture-card"?(x(),B("img",{key:0,class:T(i(s).be("list","item-thumbnail")),src:p.url,crossorigin:e.crossorigin,alt:""},null,10,DG)):te("v-if",!0),p.status==="uploading"||e.listType!=="picture-card"?(x(),B("div",{key:1,class:T(i(s).be("list","item-info"))},[z("a",{class:T(i(s).be("list","item-name")),onClick:Xe(m=>e.handlePreview(p),["prevent"])},[Y(i(De),{class:T(i(r).m("document"))},{default:J(()=>[Y(i(i3))]),_:1},8,["class"]),z("span",{class:T(i(s).be("list","item-file-name")),title:p.name},Se(p.name),11,FG)],10,BG),p.status==="uploading"?(x(),oe(i(j2),{key:0,type:e.listType==="picture-card"?"circle":"line","stroke-width":e.listType==="picture-card"?6:2,percentage:Number(p.percentage),style:Ke(e.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):te("v-if",!0)],2)):te("v-if",!0),z("label",{class:T(i(s).be("list","item-status-label"))},[e.listType==="text"?(x(),oe(i(De),{key:0,class:T([i(r).m("upload-success"),i(r).m("circle-check")])},{default:J(()=>[Y(i(tm))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(x(),oe(i(De),{key:1,class:T([i(r).m("upload-success"),i(r).m("check")])},{default:J(()=>[Y(i(vu))]),_:1},8,["class"])):te("v-if",!0)],2),i(u)?te("v-if",!0):(x(),oe(i(De),{key:2,class:T(i(r).m("close")),"aria-label":i(o)("el.upload.delete"),role:"button",tabindex:"0",onClick:m=>f(p),onKeydown:on(Xe(m=>f(p),["prevent"]),["enter","space"])},{default:J(()=>[Y(i(Ha))]),_:1},8,["class","aria-label","onClick","onKeydown"])),i(u)?te("v-if",!0):(x(),B("i",{key:3,class:T(i(r).m("close-tip"))},Se(i(o)("el.upload.deleteTip")),3)),e.listType==="picture-card"?(x(),B("span",{key:4,class:T(i(s).be("list","item-actions"))},[z("span",{class:T(i(s).be("list","item-preview")),onClick:m=>e.handlePreview(p)},[Y(i(De),{class:T(i(r).m("zoom-in"))},{default:J(()=>[Y(i(zC))]),_:1},8,["class"])],10,VG),i(u)?te("v-if",!0):(x(),B("span",{key:0,class:T(i(s).be("list","item-delete")),onClick:m=>f(p)},[Y(i(De),{class:T(i(r).m("delete"))},{default:J(()=>[Y(i(r3))]),_:1},8,["class"])],10,zG))],2)):te("v-if",!0)])],42,LG))),128)),ee(v.$slots,"append")]),_:3},8,["class","name"]))}}),Y0=HG;const G0="ElUploadDrag";var KG=se({name:G0,__name:"upload-dragger",props:_G,emits:AG,setup(e,{emit:t}){const n=e,a=t;_e(tx)||nn(G0,"usage: ");const o=fe("upload"),s=M(!1),r=un(),l=v=>new Promise((g,p)=>v.file(g,p)),u=async v=>{try{if(v.isFile){const g=await l(v);return g.isDirectory=!1,[g]}if(v.isDirectory){const g=v.createReader(),p=()=>new Promise((k,y)=>g.readEntries(k,y)),h=[];let m=await p();for(;m.length>0;)h.push(...m),m=await p();const b=h.map(k=>u(k).catch(()=>[]));return Yc(await Promise.all(b))}}catch{return[]}return[]},c=async v=>{if(r.value)return;s.value=!1,v.stopPropagation();const g=Array.from(v.dataTransfer.files),p=v.dataTransfer.items||[];if(n.directory){const h=Array.from(p).map(m=>m?.webkitGetAsEntry?.()).filter(m=>m);a("file",Yc(await Promise.all(h.map(u))));return}g.forEach((h,m)=>{const b=p[m]?.webkitGetAsEntry?.();b&&(h.isDirectory=b.isDirectory)}),a("file",g)},d=()=>{r.value||(s.value=!0)},f=v=>{v.currentTarget.contains(v.relatedTarget)||(s.value=!1)};return(v,g)=>(x(),B("div",{class:T([i(o).b("dragger"),i(o).is("dragover",s.value)]),onDrop:Xe(c,["prevent"]),onDragover:Xe(d,["prevent"]),onDragleave:Xe(f,["prevent"])},[ee(v.$slots,"default")],34))}}),WG=KG;const jG=["tabindex","aria-disabled","onKeydown"],UG=["name","disabled","multiple","accept","webkitdirectory"];var qG=se({name:"ElUploadContent",inheritAttrs:!1,__name:"upload-content",props:MG,setup(e,{expose:t}){const n=e,a=fe("upload"),o=un(),s=Xt({}),r=Xt(),l=h=>{if(h.length===0)return;const{autoUpload:m,limit:b,fileList:k,multiple:y,onStart:S,onExceed:C}=n;if(b&&k.length+h.length>b){C(h,k);return}y||(h=h.slice(0,1));for(const E of h){const $=E;$.uid=Lh(),S($),m&&u($)}},u=async h=>{if(r.value.value="",!n.beforeUpload)return d(h);let m,b={};try{const y=n.data,S=n.beforeUpload(h);b=mi(n.data)?es(n.data):n.data,m=await S,mi(n.data)&&sn(y,b)&&(b=es(n.data))}catch{m=!1}if(m===!1){n.onRemove(h);return}let k=h;m instanceof Blob&&(m instanceof File?k=m:k=new File([m],h.name,{type:h.type})),d(Object.assign(k,{uid:h.uid}),b)},c=async(h,m)=>Ve(h)?h(m):h,d=async(h,m)=>{const{headers:b,data:k,method:y,withCredentials:S,name:C,action:E,onProgress:$,onSuccess:O,onError:N,httpRequest:R}=n;try{m=await c(m??k,h)}catch{n.onRemove(h);return}const{uid:A}=h,_={headers:b||{},withCredentials:S,file:h,data:m,method:y,filename:C,action:E,onProgress:H=>{$(H,h)},onSuccess:H=>{O(H,h),delete s.value[A]},onError:H=>{N(H,h),delete s.value[A]}},V=R(_);s.value[A]=V,V instanceof Promise&&V.then(_.onSuccess,_.onError)},f=h=>{const m=h.target.files;m&&l(Array.from(m))},v=()=>{o.value||(r.value.value="",r.value.click())},g=()=>{v()};return t({abort:h=>{DS(s.value).filter(h?([m])=>String(h.uid)===m:()=>!0).forEach(([m,b])=>{b instanceof XMLHttpRequest&&b.abort(),delete s.value[m]})},upload:u}),(h,m)=>(x(),B("div",{class:T([i(a).b(),i(a).m(e.listType),i(a).is("drag",e.drag),i(a).is("disabled",i(o))]),tabindex:i(o)?void 0:0,"aria-disabled":i(o),role:"button",onClick:v,onKeydown:on(Xe(g,["self"]),["enter","space"])},[e.drag?(x(),oe(WG,{key:0,disabled:i(o),directory:e.directory,onFile:l},{default:J(()=>[ee(h.$slots,"default")]),_:3},8,["disabled","directory"])):ee(h.$slots,"default",{key:1}),z("input",{ref_key:"inputRef",ref:r,class:T(i(a).e("input")),name:e.name,disabled:i(o),multiple:e.multiple,accept:e.accept,webkitdirectory:e.directory||void 0,type:"file",onChange:f,onClick:m[0]||(m[0]=Xe(()=>{},["stop"]))},null,42,UG)],42,jG))}}),X0=qG;const J0="ElUpload",Z0=e=>{e.url?.startsWith("blob:")&&URL.revokeObjectURL(e.url)},YG=(e,t)=>{const n=jS(e,"fileList",void 0,{passive:!0}),a=p=>n.value.find(h=>h.uid===p.uid);function o(p){t.value?.abort(p)}function s(p=["ready","uploading","success","fail"]){n.value=n.value.filter(h=>!p.includes(h.status))}function r(p){n.value=n.value.filter(h=>h.uid!==p.uid)}const l=p=>{Re(()=>e.onChange(p,n.value))},u=(p,h)=>{const m=a(h);m&&(console.error(p),m.status="fail",r(m),e.onError(p,m,n.value),l(m))},c=(p,h)=>{const m=a(h);m&&(e.onProgress(p,m,n.value),m.status="uploading",m.percentage=Math.round(p.percent))},d=(p,h)=>{const m=a(h);m&&(m.status="success",m.response=p,e.onSuccess(p,m,n.value),l(m))},f=p=>{bn(p.uid)&&(p.uid=Lh());const h={name:p.name,percentage:0,status:"ready",size:p.size,raw:p,uid:p.uid};if(e.listType==="picture-card"||e.listType==="picture")try{h.url=URL.createObjectURL(p)}catch(m){pt(J0,m.message),e.onError(m,h,n.value)}n.value=[...n.value,h],l(h)},v=async p=>{const h=p instanceof File?a(p):p;h||nn(J0,"file to be removed not found");const m=b=>{o(b),r(b),e.onRemove(b,n.value),Z0(b)};e.beforeRemove?await e.beforeRemove(h,n.value)!==!1&&m(h):m(h)};function g(){n.value.filter(({status:p})=>p==="ready").forEach(({raw:p})=>p&&t.value?.upload(p))}return le(()=>e.listType,p=>{p!=="picture-card"&&p!=="picture"||(n.value=n.value.map(h=>{const{raw:m,url:b}=h;if(!b&&m)try{h.url=URL.createObjectURL(m)}catch(k){e.onError(k,h,n.value)}return h}))}),le(n,p=>{for(const h of p)h.uid||=Lh(),h.status||="success"},{immediate:!0,deep:!0}),{uploadFiles:n,abort:o,clearFiles:s,handleError:u,handleProgress:c,handleStart:f,handleSuccess:d,handleRemove:v,submit:g,revokeFileObjectURL:Z0}};var GG=se({name:"ElUpload",__name:"upload",props:NG,setup(e,{expose:t}){const n=e,a=un(),o=Xt(),{abort:s,submit:r,clearFiles:l,uploadFiles:u,handleStart:c,handleError:d,handleRemove:f,handleSuccess:v,handleProgress:g,revokeFileObjectURL:p}=YG(n,o),h=w(()=>n.listType==="picture-card"),m=w(()=>({...n,fileList:u.value,onStart:c,onProgress:g,onSuccess:v,onError:d,onRemove:f}));return Bt(()=>{u.value.forEach(p)}),St(tx,{accept:Vt(n,"accept")}),t({abort:s,submit:r,clearFiles:l,handleStart:c,handleRemove:f}),(b,k)=>(x(),B("div",null,[h.value&&e.showFileList?(x(),oe(Y0,{key:0,disabled:i(a),"list-type":e.listType,files:i(u),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:i(f)},ua({append:J(()=>[Y(X0,dt({ref_key:"uploadRef",ref:o},m.value),{default:J(()=>[b.$slots.trigger?ee(b.$slots,"trigger",{key:0}):te("v-if",!0),!b.$slots.trigger&&b.$slots.default?ee(b.$slots,"default",{key:1}):te("v-if",!0)]),_:3},16)]),_:2},[b.$slots.file?{name:"default",fn:J(({file:y,index:S})=>[ee(b.$slots,"file",{file:y,index:S})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):te("v-if",!0),!h.value||h.value&&!e.showFileList?(x(),oe(X0,dt({key:1,ref_key:"uploadRef",ref:o},m.value),{default:J(()=>[b.$slots.trigger?ee(b.$slots,"trigger",{key:0}):te("v-if",!0),!b.$slots.trigger&&b.$slots.default?ee(b.$slots,"default",{key:1}):te("v-if",!0)]),_:3},16)):te("v-if",!0),b.$slots.trigger?ee(b.$slots,"default",{key:2}):te("v-if",!0),ee(b.$slots,"tip"),!h.value&&e.showFileList?(x(),oe(Y0,{key:3,disabled:i(a),"list-type":e.listType,files:i(u),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:i(f)},ua({_:2},[b.$slots.file?{name:"default",fn:J(({file:y,index:S})=>[ee(b.$slots,"file",{file:y,index:S})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):te("v-if",!0)]))}}),XG=GG;const JG=rt(XG),ZG=Ce({zIndex:{type:Number,default:9},rotate:{type:Number,default:-22},width:Number,height:Number,image:String,content:{type:G([String,Array]),default:"Element Plus"},font:{type:G(Object)},gap:{type:G(Array),default:()=>[100,100]},offset:{type:G(Array)}});function QG(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function eX(e){return Object.keys(e).map(t=>`${QG(t)}: ${e[t]};`).join(" ")}function tX(){return window.devicePixelRatio||1}const nX=(e,t)=>{let n=!1;return e.removedNodes.length&&t&&(n=Array.from(e.removedNodes).includes(t)),e.type==="attributes"&&e.target===t&&(n=!0),n},aX={left:[0,.5],start:[0,.5],center:[.5,0],right:[1,-.5],end:[1,-.5]};function fp(e,t,n=1){const a=document.createElement("canvas"),o=a.getContext("2d"),s=e*n,r=t*n;return a.setAttribute("width",`${s}px`),a.setAttribute("height",`${r}px`),o.save(),[o,a,s,r]}function oX(){function e(t,n,a,o,s,r,l,u,c){const[d,f,v,g]=fp(o,s,a);let p=0;if(t instanceof HTMLImageElement)d.drawImage(t,0,0,v,g);else{const{color:q,fontSize:j,fontStyle:X,fontWeight:Q,fontFamily:he,textAlign:ue,textBaseline:ge}=r,ie=Number(j)*a;d.font=`${X} normal ${Q} ${ie}px/${s}px ${he}`,d.fillStyle=q,d.textAlign=ue,d.textBaseline=ge;const ae=ye(t)?t:[t];if(ge!=="top"&&ae[0]){const ne=d.measureText(ae[0]);d.textBaseline="top";const K=d.measureText(ae[0]);p=ne.actualBoundingBoxAscent-K.actualBoundingBoxAscent}ae?.forEach((ne,K)=>{const[Z,re]=aX[ue];d.fillText(ne??"",v*Z+c*re,K*(ie+r.fontGap*a))})}const h=Math.PI/180*Number(n),m=Math.max(o,s),[b,k,y]=fp(m,m,a);b.translate(y/2,y/2),b.rotate(h),v>0&&g>0&&b.drawImage(f,-v/2,-g/2);function S(q,j){return[q*Math.cos(h)-j*Math.sin(h),q*Math.sin(h)+j*Math.cos(h)]}let C=0,E=0,$=0,O=0;const N=v/2,R=g/2;[[0-N,0-R],[0+N,0-R],[0+N,0+R],[0-N,0+R]].forEach(([q,j])=>{const[X,Q]=S(q,j);C=Math.min(C,X),E=Math.max(E,X),$=Math.min($,Q),O=Math.max(O,Q)});const A=C+y/2,_=$+y/2,V=E-C,H=O-$,U=l*a,W=u*a,P=(V+U)*2,I=H+W,[L,D]=fp(P,I);function F(q=0,j=0){L.drawImage(k,A,_,V,H,q,j+p,V,H)}return F(),F(V+U,-H/2-W/2),F(V+U,+H/2+W/2),[D.toDataURL(),P/a,I/a]}return e}var sX=se({name:"ElWatermark",__name:"watermark",props:ZG,setup(e){const t={position:"relative"},n=e,a=w(()=>n.font?.fontGap??3),o=w(()=>n.font?.color??"rgba(0,0,0,.15)"),s=w(()=>n.font?.fontSize??16),r=w(()=>n.font?.fontWeight??"normal"),l=w(()=>n.font?.fontStyle??"normal"),u=w(()=>n.font?.fontFamily??"sans-serif"),c=w(()=>n.font?.textAlign??"center"),d=w(()=>n.font?.textBaseline??"hanging"),f=w(()=>n.gap[0]),v=w(()=>n.gap[1]),g=w(()=>f.value/2),p=w(()=>v.value/2),h=w(()=>n.offset?.[0]??g.value),m=w(()=>n.offset?.[1]??p.value),b=()=>{const A={zIndex:n.zIndex,position:"absolute",left:0,top:0,width:"100%",height:"100%",pointerEvents:"none",backgroundRepeat:"repeat"};let _=h.value-g.value,V=m.value-p.value;return _>0&&(A.left=`${_}px`,A.width=`calc(100% - ${_}px)`,_=0),V>0&&(A.top=`${V}px`,A.height=`calc(100% - ${V}px)`,V=0),A.backgroundPosition=`${_}px ${V}px`,A},k=Xt(null),y=Xt(),S=M(!1),C=()=>{y.value&&(y.value.remove(),y.value=void 0)},E=(A,_)=>{k.value&&y.value&&(S.value=!0,y.value.setAttribute("style",eX({...b(),backgroundImage:`url('${A}')`,backgroundSize:`${Math.floor(_)}px`})),k.value?.append(y.value),setTimeout(()=>{S.value=!1}))},$=A=>{let _=120,V=64,H=0;const{image:U,content:W,width:P,height:I,rotate:L}=n;if(!U&&A.measureText){A.font=`${Number(s.value)}px ${u.value}`;const D=ye(W)?W:[W];let F=0,q=0;D.forEach(X=>{const{width:Q,fontBoundingBoxAscent:he,fontBoundingBoxDescent:ue,actualBoundingBoxAscent:ge,actualBoundingBoxDescent:ie}=A.measureText(X),ae=Tt(he)?ge+ie:he+ue;Q>F&&(F=Math.ceil(Q)),ae>q&&(q=Math.ceil(ae))}),_=F,V=q*D.length+(D.length-1)*a.value;const j=Math.PI/180*Number(L);H=Math.ceil(Math.abs(Math.sin(j)*V)/2),_+=H}return[P??_,I??V,H]},O=oX(),N=()=>{const A=document.createElement("canvas").getContext("2d"),_=n.image,V=n.content,H=n.rotate;if(A){y.value||(y.value=document.createElement("div"));const U=tX(),[W,P,I]=$(A),L=D=>{const[F,q]=O(D||"",H,U,W,P,{color:o.value,fontSize:s.value,fontStyle:l.value,fontWeight:r.value,fontFamily:u.value,fontGap:a.value,textAlign:c.value,textBaseline:d.value},f.value,v.value,I);E(F,q)};if(_){const D=new Image;D.onload=()=>{L(D)},D.onerror=()=>{L(V)},D.crossOrigin="anonymous",D.referrerPolicy="no-referrer",D.src=_}else L(V)}};return ht(()=>{N()}),le(()=>n,()=>{N()},{deep:!0,flush:"post"}),Bt(()=>{C()}),su(k,A=>{S.value||A.forEach(_=>{nX(_,y.value)&&(C(),N())})},{attributes:!0,subtree:!0,childList:!0}),(A,_)=>(x(),B("div",{ref_key:"containerRef",ref:k,style:Ke([t])},[ee(A.$slots,"default")],4))}}),rX=sX;const lX=rt(rX),iX=["absolute","fixed"],uX=["top-start","top-end","top","bottom-start","bottom-end","bottom","left-start","left-end","left","right-start","right-end","right"],Zm=Ce({placement:{type:G(String),values:uX,default:"bottom"},reference:{type:G(Object),default:null},strategy:{type:G(String),values:iX,default:"absolute"},offset:{type:Number,default:10},showArrow:Boolean,zIndex:{type:Number,default:2001}}),cX={close:()=>!0},dX=Ce({modelValue:Boolean,current:{type:Number,default:0},showArrow:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeIcon:{type:Kt},placement:Zm.placement,contentStyle:{type:G([Object])},mask:{type:G([Boolean,Object]),default:!0},gap:{type:G(Object),default:()=>({offset:6,radius:2})},zIndex:{type:Number},scrollIntoViewOptions:{type:G([Boolean,Object]),default:()=>({block:"center"})},type:{type:G(String)},appendTo:{type:au.to.type,default:"body"},closeOnPressEscape:{type:Boolean,default:!0},targetAreaClickable:{type:Boolean,default:!0}}),fX={[at]:e=>Ht(e),"update:current":e=>He(e),close:e=>He(e),finish:()=>!0,change:e=>He(e)},pX=Ce({target:{type:G([String,Object,Function])},title:String,description:String,showClose:{type:Boolean,default:void 0},closeIcon:{type:Kt},showArrow:{type:Boolean,default:void 0},placement:Zm.placement,mask:{type:G([Boolean,Object]),default:void 0},contentStyle:{type:G([Object])},prevButtonProps:{type:G(Object)},nextButtonProps:{type:G(Object)},scrollIntoViewOptions:{type:G([Boolean,Object]),default:void 0},type:{type:G(String)}}),hX={close:()=>!0},vX=(e,t,n,a,o)=>{const s=M(null),r=()=>{let d;return Le(e.value)?d=document.querySelector(e.value):Ve(e.value)?d=e.value():d=e.value,d},l=()=>{const d=r();if(!d||!t.value){s.value=null;return}mX(d)||d.scrollIntoView(o.value);const{left:f,top:v,width:g,height:p}=d.getBoundingClientRect();s.value={left:f,top:v,width:g,height:p,radius:0}};ht(()=>{le([t,e],()=>{l()},{immediate:!0}),window.addEventListener("resize",l)}),Bt(()=>{window.removeEventListener("resize",l)});const u=d=>(ye(n.value.offset)?n.value.offset[d]:n.value.offset)??6,c=w(()=>{if(!s.value)return s.value;const d=u(0),f=u(1),v=n.value?.radius||2;return{left:s.value.left-d,top:s.value.top-f,width:s.value.width+d*2,height:s.value.height+f*2,radius:v}});return{mergedPosInfo:c,triggerTarget:w(()=>{const d=r();return!a.value||!d||!window.DOMRect?d||void 0:{getBoundingClientRect(){return window.DOMRect.fromRect({width:c.value?.width||0,height:c.value?.height||0,x:c.value?.left||0,y:c.value?.top||0})}}})}},ff=Symbol("ElTour");function mX(e){const t=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,{top:a,right:o,bottom:s,left:r}=e.getBoundingClientRect();return a>=0&&r>=0&&o<=t&&s<=n}const gX=(e,t,n,a,o,s,r,l)=>{const u=M(),c=M(),d=M({}),f={x:u,y:c,placement:a,strategy:o,middlewareData:d},v=w(()=>{const b=[g4(i(s)),y4(),b4(),bX()];return i(l)&&i(n)&&b.push(w4({element:i(n)})),b}),g=async()=>{if(!Mt)return;const b=i(e),k=i(t);if(!b||!k)return;const y=await S4(b,k,{placement:i(a),strategy:i(o),middleware:i(v)});Oi(f).forEach(S=>{f[S].value=y[S]})},p=w(()=>{if(!i(e))return{position:"fixed",top:"50%",left:"50%",transform:"translate3d(-50%, -50%, 0)",maxWidth:"100vw",zIndex:i(r)};const{overflow:b}=i(d);return{position:i(o),zIndex:i(r),top:i(c)!=null?`${i(c)}px`:"",left:i(u)!=null?`${i(u)}px`:"",maxWidth:b?.maxWidth?`${b?.maxWidth}px`:""}}),h=w(()=>{if(!i(l))return{};const{arrow:b}=i(d);return{left:b?.x!=null?`${b?.x}px`:"",top:b?.y!=null?`${b?.y}px`:""}});let m;return ht(()=>{const b=i(e),k=i(t);b&&k&&(m=v4(b,k,g)),wa(()=>{g()})}),Bt(()=>{m&&m()}),{update:g,contentStyle:p,arrowStyle:h}},bX=()=>({name:"overflow",async fn(e){const t=await m4(e);let n=0;return t.left>0&&(n=t.left),t.right>0&&(n=t.right),{data:{maxWidth:e.rects.floating.width-n}}}}),yX=Ce({zIndex:{type:Number,default:1001},visible:Boolean,fill:{type:String,default:"rgba(0,0,0,0.5)"},pos:{type:G(Object)},targetAreaClickable:{type:Boolean,default:!0}}),wX={style:{width:"100%",height:"100%"}},SX=["d"];var CX=se({name:"ElTourMask",inheritAttrs:!1,__name:"mask",props:yX,setup(e){const t=e,{ns:n}=_e(ff),a=w(()=>t.pos?.radius??2),o=w(()=>{const d=a.value,f=`a${d},${d} 0 0 1`;return{topRight:`${f} ${d},${d}`,bottomRight:`${f} ${-d},${d}`,bottomLeft:`${f} ${-d},${-d}`,topLeft:`${f} ${d},${-d}`}}),{width:s,height:r}=_v(),l=w(()=>{const d=s.value,f=r.value,v=o.value,g=`M${d},0 L0,0 L0,${f} L${d},${f} L${d},0 Z`,p=a.value;return t.pos?`${g} M${t.pos.left+p},${t.pos.top} h${t.pos.width-p*2} ${v.topRight} v${t.pos.height-p*2} ${v.bottomRight} h${-t.pos.width+p*2} ${v.bottomLeft} v${-t.pos.height+p*2} ${v.topLeft} z`:g}),u=w(()=>({position:"fixed",left:0,right:0,top:0,bottom:0,zIndex:t.zIndex,pointerEvents:t.pos&&t.targetAreaClickable?"none":"auto"})),c=w(()=>({fill:t.fill,pointerEvents:"auto",cursor:"auto"}));return qd(Vt(t,"visible"),{ns:n}),(d,f)=>e.visible?(x(),B("div",dt({key:0,class:i(n).e("mask"),style:u.value},d.$attrs),[(x(),B("svg",wX,[z("path",{class:T(i(n).e("hollow")),style:Ke(c.value),d:l.value},null,14,SX)]))],16)):te("v-if",!0)}}),kX=CX;const EX=["data-side"];var xX=se({name:"ElTourContent",__name:"content",props:Zm,emits:cX,setup(e,{emit:t}){const n=e,a=t,o=M(n.placement),s=M(n.strategy),r=M(null),l=M(null);le(()=>n.placement,()=>{o.value=n.placement});const{contentStyle:u,arrowStyle:c}=gX(Vt(n,"reference"),r,l,o,s,Vt(n,"offset"),Vt(n,"zIndex"),Vt(n,"showArrow")),d=w(()=>o.value.split("-")[0]),{ns:f}=_e(ff),v=()=>{a("close")},g=p=>{p.detail.focusReason==="pointer"&&p.preventDefault()};return(p,h)=>(x(),B("div",{ref_key:"contentRef",ref:r,style:Ke(i(u)),class:T(i(f).e("content")),"data-side":d.value,tabindex:"-1"},[Y(i(Al),{loop:"",trapped:"","focus-start-el":"container","focus-trap-el":r.value||void 0,onReleaseRequested:v,onFocusoutPrevented:g},{default:J(()=>[ee(p.$slots,"default")]),_:3},8,["focus-trap-el"]),e.showArrow?(x(),B("span",{key:0,ref_key:"arrowRef",ref:l,style:Ke(i(c)),class:T(i(f).e("arrow"))},null,6)):te("v-if",!0)],14,EX))}}),TX=xX,$X=se({name:"ElTourSteps",props:{current:{type:Number,default:0}},emits:["update-total"],setup(e,{slots:t,emit:n}){let a=0;return()=>{const o=t.default?.(),s=[];let r=0;function l(u){ye(u)&&u.forEach(c=>{(c?.type||{})?.name==="ElTourStep"&&(s.push(c),r+=1)})}return o.length&&l(Ta(o[0]?.children)),a!==r&&(a=r,n("update-total",r)),s.length?s[e.current]:null}}}),OX=se({name:"ElTour",inheritAttrs:!1,__name:"tour",props:dX,emits:fX,setup(e,{emit:t}){const n=e,a=t,o=fe("tour"),s=M(0),r=M(),l=jS(n,"current",a,{passive:!0}),u=w(()=>r.value?.target),c=w(()=>[o.b(),b.value==="primary"?o.m("primary"):""]),d=w(()=>r.value?.placement||n.placement),f=w(()=>r.value?.contentStyle??n.contentStyle),v=w(()=>r.value?.mask??n.mask),g=w(()=>!!v.value&&n.modelValue),p=w(()=>Ht(v.value)?void 0:v.value),h=w(()=>!!u.value&&(r.value?.showArrow??n.showArrow)),m=w(()=>r.value?.scrollIntoViewOptions??n.scrollIntoViewOptions),b=w(()=>r.value?.type??n.type),{nextZIndex:k}=uu(),y=k(),S=w(()=>n.zIndex??y),{mergedPosInfo:C,triggerTarget:E}=vX(u,Vt(n,"modelValue"),Vt(n,"gap"),v,m);le(()=>n.modelValue,R=>{R||(l.value=0)});const $=()=>{n.closeOnPressEscape&&(a(at,!1),a("close",l.value))},O=R=>{s.value=R},N=vn();return St(ff,{currentStep:r,current:l,total:s,showClose:Vt(n,"showClose"),closeIcon:Vt(n,"closeIcon"),mergedType:b,ns:o,slots:N,updateModelValue(R){a(at,R)},onClose(){a("close",l.value)},onFinish(){a("finish")},onChange(){a(yt,l.value)}}),(R,A)=>(x(),B(Fe,null,[Y(i(_l),{to:e.appendTo},{default:J(()=>[z("div",dt({class:c.value},R.$attrs),[Y(kX,{visible:g.value,fill:p.value?.color,style:Ke(p.value?.style),pos:i(C),"z-index":S.value,"target-area-clickable":e.targetAreaClickable},null,8,["visible","fill","style","pos","z-index","target-area-clickable"]),e.modelValue?(x(),oe(TX,{key:i(l),reference:i(E),placement:d.value,"show-arrow":h.value,"z-index":S.value,style:Ke(f.value),onClose:$},{default:J(()=>[Y(i($X),{current:i(l),onUpdateTotal:O},{default:J(()=>[ee(R.$slots,"default")]),_:3},8,["current"])]),_:3},8,["reference","placement","show-arrow","z-index","style"])):te("v-if",!0)],16)]),_:3},8,["to"]),te(" just for IDE "),te("v-if",!0)],64))}}),RX=OX;const NX=["aria-label"];var IX=se({name:"ElTourStep",__name:"step",props:pX,emits:hX,setup(e,{emit:t}){const n=e,a=t,{Close:o}=HC,{t:s}=Ct(),{currentStep:r,current:l,total:u,showClose:c,closeIcon:d,mergedType:f,ns:v,slots:g,updateModelValue:p,onClose:h,onFinish:m,onChange:b}=_e(ff);le(n,R=>{r.value=R},{immediate:!0});const k=w(()=>n.showClose??c.value),y=w(()=>n.closeIcon??d.value??o),S=R=>{if(R)return tu(R,["children","onClick"])},C=()=>{l.value-=1,n.prevButtonProps?.onClick&&n.prevButtonProps?.onClick(),b()},E=()=>{l.value>=u.value-1?$():l.value+=1,n.nextButtonProps?.onClick&&n.nextButtonProps.onClick(),b()},$=()=>{O(),m()},O=()=>{p(!1),h(),a("close")},N=R=>{if(!R.target?.isContentEditable)switch(jt(R)){case we.left:R.preventDefault(),l.value>0&&C();break;case we.right:R.preventDefault(),E();break}};return ht(()=>{window.addEventListener("keydown",N)}),Bt(()=>{window.removeEventListener("keydown",N)}),(R,A)=>(x(),B(Fe,null,[k.value?(x(),B("button",{key:0,"aria-label":i(s)("el.tour.close"),class:T(i(v).e("closebtn")),type:"button",onClick:O},[Y(i(De),{class:T(i(v).e("close"))},{default:J(()=>[(x(),oe(it(y.value)))]),_:1},8,["class"])],10,NX)):te("v-if",!0),z("header",{class:T([i(v).e("header"),{"show-close":i(c)}])},[ee(R.$slots,"header",{},()=>[z("span",{role:"heading",class:T(i(v).e("title"))},Se(e.title),3)])],2),z("div",{class:T(i(v).e("body"))},[ee(R.$slots,"default",{},()=>[z("span",null,Se(e.description),1)])],2),z("footer",{class:T(i(v).e("footer"))},[z("div",{class:T(i(v).b("indicators"))},[i(g).indicators?(x(),oe(it(i(g).indicators),{key:0,current:i(l),total:i(u)},null,8,["current","total"])):(x(!0),B(Fe,{key:1},gt(i(u),(_,V)=>(x(),B("span",{key:_,class:T([i(v).b("indicator"),i(v).is("active",V===i(l))])},null,2))),128))],2),z("div",{class:T(i(v).b("buttons"))},[i(l)>0?(x(),oe(i(In),dt({key:0,size:"small",type:i(f)},S(e.prevButtonProps),{onClick:C}),{default:J(()=>[wt(Se(e.prevButtonProps?.children??i(s)("el.tour.previous")),1)]),_:1},16,["type"])):te("v-if",!0),i(l)<=i(u)-1?(x(),oe(i(In),dt({key:1,size:"small",type:i(f)==="primary"?"default":"primary"},S(e.nextButtonProps),{onClick:E}),{default:J(()=>[wt(Se(e.nextButtonProps?.children??(i(l)===i(u)-1?i(s)("el.tour.finish"):i(s)("el.tour.next"))),1)]),_:1},16,["type"])):te("v-if",!0)],2)],2)],64))}}),nx=IX;const PX=rt(RX,{TourStep:nx}),MX=an(nx),_X=Ce({container:{type:G([String,Object])},offset:{type:Number,default:0},bound:{type:Number,default:15},duration:{type:Number,default:300},marker:{type:Boolean,default:!0},type:{type:G(String),default:"default"},direction:{type:G(String),default:"vertical"},selectScrollTop:Boolean}),AX={change:e=>Le(e),click:(e,t)=>e instanceof MouseEvent&&(Le(t)||Tt(t))},ec=(e=>{if(!Mt||e==="")return null;if(Le(e))try{return document.querySelector(e)}catch{return null}return e});function LX(e){let t=0;const n=(...a)=>{t&&rs(t),t=eo(()=>{e(...a),t=0})};return n.cancel=()=>{rs(t),t=0},n}const ax=Symbol("anchor");var DX=se({name:"ElAnchor",__name:"anchor",props:_X,emits:AX,setup(e,{expose:t,emit:n}){const a=e,o=n,s=vn(),r=M(""),l=M({}),u=M(null),c=M(null),d=M(),f={};let v=!1,g=0;const p=fe("anchor"),h=w(()=>[p.b(),a.type==="underline"?p.m("underline"):"",p.m(a.direction)]),m=_=>{f[_.href]=_.el},b=_=>{delete f[_]},k=_=>{r.value!==_&&(r.value=_,o(yt,_))};let y=null,S="";const C=_=>{if(!d.value)return;const V=ec(_);if(!V)return;if(y){if(S===_)return;y()}S=_,v=!0;const H=Lb(V,d.value),U=hh(V,H),W=H.scrollHeight-H.clientHeight,P=Math.min(U-a.offset,W);y=g_(d.value,g,P,a.duration,()=>{setTimeout(()=>{v=!1,S=""},20)})},E=_=>{_&&(k(_),C(_))},$=(_,V)=>{o("click",_,V),E(V)},O=LX(()=>{d.value&&(g=Db(d.value));const _=N();v||Tt(_)||k(_)}),N=()=>{if(!d.value)return;const _=Db(d.value),V=[];for(const H of Object.keys(f)){const U=ec(H);if(!U)continue;const W=hh(U,Lb(U,d.value));V.push({top:W-a.offset-a.bound,href:H})}V.sort((H,U)=>H.top-U.top);for(let H=0;H_))return U.href}},R=()=>{const _=ec(a.container);!_||nu(_)?d.value=window:d.value=_};Ft(d,"scroll",O);const A=()=>{Re(()=>{if(!u.value||!c.value||!r.value){l.value={};return}const _=f[r.value];if(!_){l.value={};return}const V=u.value.getBoundingClientRect(),H=c.value.getBoundingClientRect(),U=_.getBoundingClientRect();a.direction==="horizontal"?l.value={left:`${U.left-V.left}px`,width:`${U.width}px`,opacity:1}:l.value={top:`${U.top-V.top+(U.height-H.height)/2}px`,opacity:1}})};return le(r,A),le(()=>s.default?.(),A),ht(()=>{R();const _=decodeURIComponent(window.location.hash);ec(_)?E(_):O()}),le(()=>a.container,()=>{R()}),St(ax,{ns:p,direction:a.direction,currentAnchor:r,addLink:m,removeLink:b,handleClick:$}),t({scrollTo:E}),(_,V)=>(x(),B("div",{ref_key:"anchorRef",ref:u,class:T(h.value)},[e.marker?(x(),B("div",{key:0,ref_key:"markerRef",ref:c,class:T(i(p).e("marker")),style:Ke(l.value)},null,6)):te("v-if",!0),z("div",{class:T(i(p).e("list"))},[ee(_.$slots,"default")],2)],2))}}),BX=DX;const FX=Ce({title:String,href:String}),VX=["href"];var zX=se({name:"ElAnchorLink",__name:"anchor-link",props:FX,setup(e){const t=e,n=M(null),{ns:a,direction:o,currentAnchor:s,addLink:r,removeLink:l,handleClick:u}=_e(ax),c=w(()=>[a.e("link"),a.is("active",s.value===t.href)]),d=f=>{u(f,t.href)};return le(()=>t.href,(f,v)=>{Re(()=>{v&&l(v),f&&r({href:f,el:n.value})})}),ht(()=>{const{href:f}=t;f&&r({href:f,el:n.value})}),Bt(()=>{const{href:f}=t;f&&l(f)}),(f,v)=>(x(),B("div",{class:T(i(a).e("item"))},[z("a",{ref_key:"linkRef",ref:n,class:T(c.value),href:e.href,onClick:d},[ee(f.$slots,"default",{},()=>[wt(Se(e.title),1)])],10,VX),f.$slots["sub-link"]&&i(o)==="vertical"?(x(),B("div",{key:0,class:T(i(a).e("list"))},[ee(f.$slots,"sub-link")],2)):te("v-if",!0)],2))}}),ox=zX;const HX=rt(BX,{AnchorLink:ox}),KX=an(ox),sx={label:"label",value:"value",disabled:"disabled"},WX=Ce({direction:{type:G(String),default:"horizontal"},options:{type:G(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:G(Object),default:()=>sx},block:Boolean,size:Tn,disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},id:String,name:String,...aa(["ariaLabel"])}),jX={[at]:e=>Le(e)||He(e)||Ht(e),[yt]:e=>Le(e)||He(e)||Ht(e)},UX=["id","aria-label","aria-labelledby"],qX=["name","disabled","checked","onChange"];var YX=se({name:"ElSegmented",__name:"segmented",props:WX,emits:jX,setup(e,{emit:t}){const n=e,a=t,o=fe("segmented"),s=zn(),r=Cn(),l=un(),{formItem:u}=Dn(),{inputId:c,isLabeledByFormItem:d}=Ia(n,{formItemContext:u}),f=M(null),v=e_(),g=At({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),p=(_,V)=>{const H=b(V);a(at,H),a(yt,H),_.target.checked=H===n.modelValue},h=w(()=>({...sx,...n.props})),m=_=>_,b=_=>ot(_)?_[h.value.value]:_,k=_=>ot(_)?_[h.value.label]:_,y=_=>!!(l.value||ot(_)&&_[h.value.disabled]),S=_=>n.modelValue===b(_),C=_=>n.options.find(V=>b(V)===_),E=_=>[o.e("item"),o.is("selected",S(_)),o.is("disabled",y(_))],$=()=>{if(!f.value)return;const _=f.value.querySelector(".is-selected"),V=f.value.querySelector(".is-selected input");if(!_||!V){g.width=0,g.height=0,g.translateX=0,g.translateY=0,g.focusVisible=!1;return}g.isInit=!0,n.direction==="vertical"?(g.height=_.offsetHeight,g.translateY=_.offsetTop):(g.width=_.offsetWidth,g.translateX=_.offsetLeft);try{g.focusVisible=V.matches(":focus-visible")}catch{}},O=w(()=>[o.b(),o.m(r.value),o.is("block",n.block)]),N=w(()=>({width:n.direction==="vertical"?"100%":`${g.width}px`,height:n.direction==="vertical"?`${g.height}px`:"100%",transform:n.direction==="vertical"?`translateY(${g.translateY}px)`:`translateX(${g.translateX}px)`,display:g.isInit?"block":"none"})),R=w(()=>[o.e("item-selected"),o.is("disabled",y(C(n.modelValue))),o.is("focus-visible",g.focusVisible)]),A=w(()=>n.name||s.value);return en(f,$),le(v,$),le(()=>n.modelValue,()=>{$(),n.validateEvent&&u?.validate?.("change").catch(_=>pt(_))},{flush:"post"}),(_,V)=>e.options.length?(x(),B("div",{key:0,id:i(c),ref_key:"segmentedRef",ref:f,class:T(O.value),role:"radiogroup","aria-label":i(d)?void 0:e.ariaLabel||"segmented","aria-labelledby":i(d)?i(u).labelId:void 0},[z("div",{class:T([i(o).e("group"),i(o).m(e.direction)])},[z("div",{style:Ke(N.value),class:T(R.value)},null,6),(x(!0),B(Fe,null,gt(e.options,(H,U)=>(x(),B("label",{key:U,class:T(E(H))},[z("input",{class:T(i(o).e("item-input")),type:"radio",name:A.value,disabled:y(H),checked:S(H),onChange:W=>p(W,H)},null,42,qX),z("div",{class:T(i(o).e("item-label"))},[ee(_.$slots,"default",{item:m(H)},()=>[wt(Se(k(H)),1)])],2)],2))),128))],2)],10,UX)):te("v-if",!0)}}),GX=YX;const XX=rt(GX),JX=(e,t)=>{const n=e.toLowerCase();return(t.label||t.value||"").toLowerCase().includes(n)},ZX=(e,t,n)=>{const{selectionEnd:a}=e;if(a===null)return;const o=e.value,s=Nn(t);let r=-1,l;for(let u=a-1;u>=0;--u){const c=o[u];if(c===n||c===` +`||c==="\r"){r=u;continue}if(s.includes(c)){const d=r===-1?a:r;l={pattern:o.slice(u+1,d),start:u+1,end:d,prefix:c,prefixIndex:u,splitIndex:r,selectionEnd:a};break}}return l},QX=(e,t={debug:!1,useSelectionEnd:!1})=>{const n=e.selectionStart!==null?e.selectionStart:0,a=e.selectionEnd!==null?e.selectionEnd:0,o=t.useSelectionEnd?a:n,s=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"];if(t.debug){const v=document.querySelector("#input-textarea-caret-position-mirror-div");v?.parentNode&&v.parentNode.removeChild(v)}const r=document.createElement("div");r.id="input-textarea-caret-position-mirror-div",document.body.appendChild(r);const l=r.style,u=window.getComputedStyle(e),c=e.nodeName==="INPUT";l.whiteSpace=c?"nowrap":"pre-wrap",c||(l.wordWrap="break-word"),l.position="absolute",t.debug||(l.visibility="hidden"),s.forEach(v=>{if(c&&v==="lineHeight")if(u.boxSizing==="border-box"){const g=Number.parseInt(u.height),p=Number.parseInt(u.paddingTop)+Number.parseInt(u.paddingBottom)+Number.parseInt(u.borderTopWidth)+Number.parseInt(u.borderBottomWidth),h=p+Number.parseInt(u.lineHeight);g>h?l.lineHeight=`${g-p}px`:g===h?l.lineHeight=u.lineHeight:l.lineHeight="0"}else l.lineHeight=u.height;else l[v]=u[v]}),Ud()?e.scrollHeight>Number.parseInt(u.height)&&(l.overflowY="scroll"):l.overflow="hidden",r.textContent=e.value.slice(0,Math.max(0,o)),c&&r.textContent&&(r.textContent=r.textContent.replace(/\s/g," "));const d=document.createElement("span");d.textContent=e.value.slice(Math.max(0,o))||".",d.style.position="relative",d.style.left=`${-e.scrollLeft}px`,d.style.top=`${-e.scrollTop}px`,r.appendChild(d);const f={top:d.offsetTop+Number.parseInt(u.borderTopWidth),left:d.offsetLeft+Number.parseInt(u.borderLeftWidth),height:Number.parseInt(u.fontSize)*1.5};return t.debug?d.style.backgroundColor="#aaa":document.body.removeChild(r),f.left>=e.clientWidth&&(f.left=e.clientWidth),f},eJ=Ce({...gu,options:{type:G(Array),default:()=>[]},prefix:{type:G([String,Array]),default:"@",validator:e=>Le(e)?e.length===1:e.every(t=>Le(t)&&t.length===1)},split:{type:String,default:" ",validator:e=>e.length===1},filterOption:{type:G([Boolean,Function]),default:()=>JX,validator:e=>e===!1?!0:Ve(e)},placement:{type:G(String),default:"bottom"},showArrow:Boolean,offset:{type:Number,default:0},whole:Boolean,checkIsWhole:{type:G(Function)},modelValue:String,loading:Boolean,popperClass:zt.popperClass,popperStyle:zt.popperStyle,popperOptions:{type:G(Object),default:()=>({})},props:{type:G(Object),default:()=>rx}}),tJ={[at]:e=>Le(e),"whole-remove":(e,t)=>Le(e)&&Le(t),input:e=>Le(e),search:(e,t)=>Le(e)&&Le(t),select:(e,t)=>ot(e)&&Le(t),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent},rx={value:"value",label:"label",disabled:"disabled"},nJ=Ce({options:{type:G(Array),default:()=>[]},loading:Boolean,disabled:Boolean,contentId:String,ariaLabel:String}),aJ={select:e=>Le(e.value)},oJ=["id","aria-disabled","aria-selected","onMousemove","onClick"];var sJ=se({name:"ElMentionDropdown",__name:"mention-dropdown",props:nJ,emits:aJ,setup(e,{expose:t,emit:n}){const a=e,o=n,s=fe("mention"),{t:r}=Ct(),l=M(-1),u=M(),c=M(),d=M(),f=(S,C)=>[s.be("dropdown","item"),s.is("hovering",l.value===C),s.is("disabled",S.disabled||a.disabled)],v=S=>{S.disabled||a.disabled||o("select",S)},g=S=>{l.value=S},p=w(()=>a.disabled||a.options.every(S=>S.disabled)),h=w(()=>a.options[l.value]),m=()=>{!h.value||h.value.disabled||a.disabled||o("select",h.value)},b=S=>{const{options:C}=a;if(C.length===0||p.value)return;S==="next"?(l.value++,l.value===C.length&&(l.value=0)):S==="prev"&&(l.value--,l.value<0&&(l.value=C.length-1));const E=C[l.value];if(E.disabled){b(S);return}Re(()=>k(E))},k=S=>{const{options:C}=a,E=C.findIndex(O=>O.value===S.value),$=c.value?.[E];if($){const O=d.value?.querySelector?.(`.${s.be("dropdown","wrap")}`);O&&Fv(O,$)}u.value?.handleScroll()};return le(()=>a.options,()=>{p.value||a.options.length===0?l.value=-1:l.value=a.options.findIndex(S=>!S.disabled)},{immediate:!0}),t({hoveringIndex:l,navigateOptions:b,selectHoverOption:m,hoverOption:h}),(S,C)=>(x(),B("div",{ref_key:"dropdownRef",ref:d,class:T(i(s).b("dropdown"))},[S.$slots.header?(x(),B("div",{key:0,class:T(i(s).be("dropdown","header"))},[ee(S.$slots,"header")],2)):te("v-if",!0),ut(Y(i(ao),{id:e.contentId,ref_key:"scrollbarRef",ref:u,tag:"ul","wrap-class":i(s).be("dropdown","wrap"),"view-class":i(s).be("dropdown","list"),role:"listbox","aria-label":e.ariaLabel,"aria-orientation":"vertical"},{default:J(()=>[(x(!0),B(Fe,null,gt(e.options,(E,$)=>(x(),B("li",{id:`${e.contentId}-${$}`,ref_for:!0,ref_key:"optionRefs",ref:c,key:$,class:T(f(E,$)),role:"option","aria-disabled":E.disabled||e.disabled||void 0,"aria-selected":l.value===$,onMousemove:O=>g($),onClick:Xe(O=>v(E),["stop"])},[ee(S.$slots,"label",{item:E,index:$},()=>[z("span",null,Se(E.label??E.value),1)])],42,oJ))),128))]),_:3},8,["id","wrap-class","view-class","aria-label"]),[[Pt,e.options.length>0&&!e.loading]]),e.loading?(x(),B("div",{key:1,class:T(i(s).be("dropdown","loading"))},[ee(S.$slots,"loading",{},()=>[wt(Se(i(r)("el.mention.loading")),1)])],2)):te("v-if",!0),S.$slots.footer?(x(),B("div",{key:2,class:T(i(s).be("dropdown","footer"))},[ee(S.$slots,"footer")],2)):te("v-if",!0)],2))}}),rJ=sJ,lJ=se({name:"ElMention",inheritAttrs:!1,__name:"mention",props:eJ,emits:tJ,setup(e,{expose:t,emit:n}){const a=e,o=n,s=w(()=>ss(a,Object.keys(gu))),r=fe("mention"),l=un(),u=zn(),c=M(),d=M(),f=M(),v=M(!1),g=M(),p=M(),h=w(()=>a.showArrow?a.placement:`${a.placement}-start`),m=w(()=>a.showArrow?["bottom","top"]:["bottom-start","top-start"]),b=w(()=>({...rx,...a.props})),k=P=>{const I={label:P[b.value.label],value:P[b.value.value],disabled:P[b.value.disabled]};return{...P,...I}},y=w(()=>a.options.map(k)),S=w(()=>{const{filterOption:P}=a;return!p.value||!P?y.value:y.value.filter(I=>P(p.value.pattern,I))}),C=w(()=>v.value&&(!!S.value.length||a.loading)),E=w(()=>`${u.value}-${f.value?.hoveringIndex}`),$=P=>{o(at,P),o(Sn,P),H()},O=P=>{if(c.value?.isComposing)return;const I=jt(P);switch(I){case we.left:case we.right:H();break;case we.up:case we.down:if(!v.value)return;P.preventDefault(),f.value?.navigateOptions(I===we.up?"prev":"next");break;case we.enter:case we.numpadEnter:if(!v.value){a.type!=="textarea"&&H();return}P.preventDefault(),f.value?.hoverOption?f.value?.selectHoverOption():v.value=!1;break;case we.esc:if(!v.value)return;P.preventDefault(),v.value=!1;break;case we.backspace:if(a.whole&&p.value){const{splitIndex:L,selectionEnd:D,pattern:F,prefixIndex:q,prefix:j}=p.value,X=V();if(!X)return;const Q=X.value,he=y.value.find(ue=>ue.value===F);if((Ve(a.checkIsWhole)?a.checkIsWhole(F,j):he)&&L!==-1&&L+1===D){P.preventDefault();const ue=Q.slice(0,q)+Q.slice(L+1);o(at,ue),o(Sn,ue),o("whole-remove",F,j);const ge=q;Re(()=>{X.selectionStart=ge,X.selectionEnd=ge,W()})}}}},{wrapperRef:N}=ms(c,{disabled:l,afterFocus(){H()},beforeBlur(P){return d.value?.isFocusInsideContent(P)},afterBlur(){v.value=!1}}),R=()=>{H()},A=P=>a.options.find(I=>P.value===I[b.value.value]),_=P=>{if(!p.value)return;const I=V();if(!I)return;const L=I.value,{split:D}=a,F=L.slice(p.value.end),q=F.startsWith(D),j=`${P.value}${q?"":D}`,X=L.slice(0,p.value.start)+j+F;o(at,X),o(Sn,X),o("select",A(P),p.value.prefix);const Q=p.value.start+j.length+(q?1:0);Re(()=>{I.selectionStart=Q,I.selectionEnd=Q,I.focus(),W()})},V=()=>a.type==="textarea"?c.value?.textarea:c.value?.input,H=()=>{setTimeout(()=>{U(),W(),Re(()=>d.value?.updatePopper())},0)},U=()=>{const P=V();if(!P)return;const I=QX(P),L=P.getBoundingClientRect(),D=N.value.getBoundingClientRect();g.value={position:"absolute",width:0,height:`${I.height}px`,left:`${I.left+L.left-D.left}px`,top:`${I.top+L.top-D.top}px`}},W=()=>{const P=V();if(document.activeElement!==P){v.value=!1;return}const{prefix:I,split:L}=a;if(p.value=ZX(P,I,L),p.value&&p.value.splitIndex===-1){v.value=!0,o("search",p.value.pattern,p.value.prefix);return}v.value=!1};return t({input:c,tooltip:d,dropdownVisible:C}),(P,I)=>(x(),B("div",{ref_key:"wrapperRef",ref:N,class:T(i(r).b())},[Y(i(ea),dt(dt(s.value,P.$attrs),{ref_key:"elInputRef",ref:c,"model-value":e.modelValue,disabled:i(l),role:C.value?"combobox":void 0,"aria-activedescendant":C.value?E.value||"":void 0,"aria-controls":C.value?i(u):void 0,"aria-expanded":C.value||void 0,"aria-label":e.ariaLabel,"aria-autocomplete":C.value?"none":void 0,"aria-haspopup":C.value?"listbox":void 0,onInput:$,onKeydown:O,onMousedown:R}),ua({_:2},[gt(P.$slots,(L,D)=>({name:D,fn:J(F=>[ee(P.$slots,D,Jo(Zo(F)))])}))]),1040,["model-value","disabled","role","aria-activedescendant","aria-controls","aria-expanded","aria-label","aria-autocomplete","aria-haspopup"]),Y(i(Ln),{ref_key:"tooltipRef",ref:d,visible:C.value,"popper-class":[i(r).e("popper"),e.popperClass],"popper-style":e.popperStyle,"popper-options":e.popperOptions,placement:h.value,"fallback-placements":m.value,effect:"light",pure:"",offset:e.offset,"show-arrow":e.showArrow},{default:J(()=>[z("div",{style:Ke(g.value)},null,4)]),content:J(()=>[Y(rJ,{ref_key:"dropdownRef",ref:f,options:S.value,disabled:i(l),loading:e.loading,"content-id":i(u),"aria-label":e.ariaLabel,onSelect:_,onClick:I[0]||(I[0]=Xe(L=>c.value?.focus(),["stop"]))},ua({_:2},[gt(P.$slots,(L,D)=>({name:D,fn:J(F=>[ee(P.$slots,D,Jo(Zo(F)))])}))]),1032,["options","disabled","loading","content-id","aria-label"])]),_:3},8,["visible","popper-class","popper-style","popper-options","placement","fallback-placements","offset","show-arrow"])],2))}}),iJ=lJ;const uJ=rt(iJ),cJ=Ce({layout:{type:String,default:"horizontal",values:["horizontal","vertical"]},lazy:Boolean}),dJ={resizeStart:(e,t)=>!0,resize:(e,t)=>!0,resizeEnd:(e,t)=>!0,collapse:(e,t,n)=>!0},fJ=Ce({min:{type:[String,Number]},max:{type:[String,Number]},size:{type:[String,Number]},resizable:{type:Boolean,default:!0},collapsible:Boolean}),pJ={"update:size":e=>typeof e=="number"||typeof e=="string"};function hJ(e){const t=M(),{width:n,height:a}=Dp(t);return{containerEl:t,containerSize:w(()=>e.value==="horizontal"?n.value:a.value)}}function Qm(e){return Number(e.slice(0,-1))/100}function eg(e){return Number(e.slice(0,-2))}function tg(e){return Le(e)&&e.endsWith("%")}function ng(e){return Le(e)&&e.endsWith("px")}function vJ(e,t){const n=w(()=>e.value.map(r=>r.size)),a=w(()=>e.value.length),o=M([]);le([n,a,t],()=>{let r=[],l=0;for(let c=0;cc+(d||0),0);if(u>1||!l){const c=1/u;r=r.map(d=>d===void 0?0:d*c)}else{const c=(1-u)/l;r=r.map(d=>d===void 0?c:d)}o.value=r});const s=r=>r*t.value;return{percentSizes:o,pxSizes:w(()=>o.value.map(s))}}function mJ(e,t,n,a){const o=m=>m*t.value||0;function s(m,b){return tg(m)?o(Qm(m)):ng(m)?eg(m):m??b}const r=M(0),l=M(null);let u=[],c=Dt;const d=w(()=>e.value.map(m=>[m.min,m.max]));le(a,()=>{if(r.value){const m=new MouseEvent("mouseup",{bubbles:!0});window.dispatchEvent(m)}});const f=m=>{r.value=0,l.value={index:m,confirmed:!1},u=n.value},v=(m,b)=>{let k=null;if((!l.value||!l.value.confirmed)&&b!==0){if(b>0)k=m,l.value={index:m,confirmed:!0};else for(let A=m;A>=0;A-=1)if(u[A]>0){k=A,l.value={index:A,confirmed:!0};break}}const y=k??l.value?.index??m,S=[...u],C=y+1,E=s(d.value[y][0],0),$=s(d.value[C][0],0),O=s(d.value[y][1],t.value||0),N=s(d.value[C][1],t.value||0);let R=b;S[y]+RO&&(R=O-S[y]),S[C]-R>N&&(R=S[C]-N),S[y]+=R,S[C]-=R,r.value=R,c=()=>{e.value.forEach((A,_)=>{A.size=S[_]}),c=Dt},a.value||c()},g=()=>{a.value&&c(),r.value=0,l.value=null,u=[]},p=[];return{lazyOffset:r,onMoveStart:f,onMoving:v,onMoveEnd:g,movingIndex:l,onCollapse:(m,b)=>{p.length||p.push(...n.value);const k=n.value,y=b==="start"?m:m+1,S=b==="start"?m+1:m,C=k[y],E=k[S];if(C!==0&&E!==0)k[y]=0,k[S]+=C,p[m]=C;else{const $=C+E,O=p[m],N=$-O;k[S]=O,k[y]=N}e.value.forEach(($,O)=>{$.size=k[O]})}}}const lx=Symbol("splitterRootContextKey");var gJ=se({name:"ElSplitter",__name:"splitter",props:cJ,emits:dJ,setup(e,{emit:t}){const n=fe("splitter"),a=t,o=e,s=Vt(o,"layout"),r=Vt(o,"lazy"),{containerEl:l,containerSize:u}=hJ(s),{removeChild:c,children:d,addChild:f,ChildrenSorter:v}=Qd(ft(),"ElSplitterPanel");le(d,()=>{m.value=null,d.value.forEach((R,A)=>{R.setIndex(A)})});const{percentSizes:g,pxSizes:p}=vJ(d,u),{lazyOffset:h,movingIndex:m,onMoveStart:b,onMoving:k,onMoveEnd:y,onCollapse:S}=mJ(d,u,p,r),C=w(()=>({[n.cssVarBlockName("bar-offset")]:r.value?`${h.value}px`:void 0}));return St(lx,At({panels:d,percentSizes:g,pxSizes:p,layout:s,lazy:r,movingIndex:m,containerSize:u,onMoveStart:R=>{b(R),a("resizeStart",R,p.value)},onMoving:(R,A)=>{k(R,A),r.value||a("resize",R,p.value)},onMoveEnd:async R=>{y(),await Re(),a("resizeEnd",R,p.value)},onCollapse:(R,A)=>{S(R,A),a("collapse",R,A,p.value)},registerPanel:f,unregisterPanel:c})),(R,A)=>(x(),B("div",{ref_key:"containerEl",ref:l,class:T([i(n).b(),i(n).e(s.value)]),style:Ke(C.value)},[ee(R.$slots,"default"),Y(i(v)),te(" Prevent iframe touch events from breaking "),i(m)?(x(),B("div",{key:0,class:T([i(n).e("mask"),i(n).e(`mask-${s.value}`)])},null,2)):te("v-if",!0)],6))}}),bJ=gJ;function yJ(e){return e&&ot(e)?e:{start:!!e,end:!!e}}function Q0(e,t,n,a){return!!(e?.collapsible.end&&t>0||n?.collapsible.start&&a===0&&t>0)}var wJ=se({name:"ElSplitterBar",__name:"split-bar",props:{index:{type:Number,required:!0},layout:{type:String,values:["horizontal","vertical"],default:"horizontal"},resizable:{type:Boolean,default:!0},lazy:Boolean,startCollapsible:Boolean,endCollapsible:Boolean},emits:["moveStart","moving","moveEnd","collapse"],setup(e,{emit:t}){const n=fe("splitter-bar"),a=e,o=t,s=w(()=>a.layout==="horizontal"),r=w(()=>s.value?{width:0}:{height:0}),l=w(()=>({width:s.value?"16px":"100%",height:s.value?"100%":"16px",cursor:a.resizable?s.value?"ew-resize":"ns-resize":"auto",touchAction:"none"})),u=w(()=>{const k=n.e("dragger");return{[`${k}-horizontal`]:s.value,[`${k}-vertical`]:!s.value,[`${k}-active`]:!!c.value}}),c=M(null),d=k=>{a.resizable&&(c.value=[k.pageX,k.pageY],o("moveStart",a.index),window.addEventListener("mouseup",p),window.addEventListener("mousemove",v))},f=k=>{if(a.resizable&&k.touches.length===1){k.preventDefault();const y=k.touches[0];c.value=[y.pageX,y.pageY],o("moveStart",a.index),window.addEventListener("touchend",h),window.addEventListener("touchmove",g)}},v=k=>{const{pageX:y,pageY:S}=k,C=y-c.value[0],E=S-c.value[1],$=s.value?C:E;o("moving",a.index,$)},g=k=>{if(k.touches.length===1){k.preventDefault();const y=k.touches[0],S=y.pageX-c.value[0],C=y.pageY-c.value[1],E=s.value?S:C;o("moving",a.index,E)}},p=()=>{c.value=null,window.removeEventListener("mouseup",p),window.removeEventListener("mousemove",v),o("moveEnd",a.index)},h=()=>{c.value=null,window.removeEventListener("touchend",h),window.removeEventListener("touchmove",g),o("moveEnd",a.index)},m=w(()=>s.value?is:ef),b=w(()=>s.value?na:Fo);return(k,y)=>(x(),B("div",{class:T([i(n).b()]),style:Ke(r.value)},[e.startCollapsible?(x(),B("div",{key:0,class:T([i(n).e("collapse-icon"),i(n).e(`${e.layout}-collapse-icon-start`)]),onClick:y[0]||(y[0]=S=>o("collapse",e.index,"start"))},[ee(k.$slots,"start-collapsible",{},()=>[(x(),oe(it(m.value),{style:{width:"12px",height:"12px"}}))])],2)):te("v-if",!0),z("div",{class:T([i(n).e("dragger"),u.value,i(n).is("disabled",!e.resizable),i(n).is("lazy",e.resizable&&e.lazy)]),style:Ke(l.value),onMousedown:d,onTouchstart:f},null,38),e.endCollapsible?(x(),B("div",{key:1,class:T([i(n).e("collapse-icon"),i(n).e(`${e.layout}-collapse-icon-end`)]),onClick:y[1]||(y[1]=S=>o("collapse",e.index,"end"))},[ee(k.$slots,"end-collapsible",{},()=>[(x(),oe(it(b.value),{style:{width:"12px",height:"12px"}}))])],2)):te("v-if",!0)],6))}}),SJ=wJ;const ew="ElSplitterPanel";var CJ=se({name:ew,__name:"split-panel",props:fJ,emits:pJ,setup(e,{expose:t,emit:n}){const a=fe("splitter-panel"),o=e,s=n,r=_e(lx);r||nn(ew,"usage: ");const{panels:l,layout:u,lazy:c,containerSize:d,pxSizes:f}=Mn(r),{registerPanel:v,unregisterPanel:g,onCollapse:p,onMoveEnd:h,onMoveStart:m,onMoving:b}=r,k=M(),y=ft(),S=y.uid,C=M(0),E=w(()=>l.value[C.value]),$=I=>{C.value=I},O=w(()=>E.value?f.value[C.value]??0:0),N=w(()=>E.value?f.value[C.value+1]??0:0),R=w(()=>E.value?l.value[C.value+1]:null),A=w(()=>R.value?o.resizable&&R.value?.resizable&&(O.value!==0||!o.min)&&(N.value!==0||!R.value.min):!1),_=w(()=>E.value?C.value!==l.value.length-1:!1),V=w(()=>Q0(E.value,O.value,R.value,N.value)),H=w(()=>Q0(R.value,N.value,E.value,O.value));function U(I){return tg(I)?Qm(I)*d.value||0:ng(I)?eg(I):I??0}let W=!1;le(()=>o.size,()=>{if(!W&&E.value){if(!d.value){E.value.size=o.size;return}const I=U(o.size),L=U(o.max),D=U(o.min),F=Math.min(Math.max(I,D||0),L||I);F!==I&&s("update:size",F),E.value.size=F}}),le(()=>E.value?.size,I=>{I!==o.size&&(W=!0,s("update:size",I),Re(()=>W=!1))}),le(()=>o.resizable,I=>{E.value&&(E.value.resizable=I)});const P=At({uid:S,getVnode:()=>y.vnode,setIndex:$,...o,collapsible:w(()=>yJ(o.collapsible))});return v(P),Bt(()=>g(P)),t({splitterPanelRef:k}),(I,L)=>(x(),B(Fe,null,[z("div",dt({ref_key:"panelEl",ref:k,class:[i(a).b()],style:{flexBasis:`${O.value}px`}},I.$attrs),[ee(I.$slots,"default")],16),_.value?(x(),oe(SJ,{key:0,index:C.value,layout:i(u),lazy:i(c),resizable:A.value,"start-collapsible":V.value,"end-collapsible":H.value,onMoveStart:i(m),onMoving:i(b),onMoveEnd:i(h),onCollapse:i(p)},{"start-collapsible":J(()=>[ee(I.$slots,"start-collapsible")]),"end-collapsible":J(()=>[ee(I.$slots,"end-collapsible")]),_:3},8,["index","layout","lazy","resizable","start-collapsible","end-collapsible","onMoveStart","onMoving","onMoveEnd","onCollapse"])):te("v-if",!0)],64))}}),ix=CJ;const kJ=rt(bJ,{SplitPanel:ix}),EJ=an(ix),Ea="ElInfiniteScroll",xJ=50,TJ=200,$J=0,OJ={delay:{type:Number,default:TJ},distance:{type:Number,default:$J},disabled:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0}},ag=(e,t)=>Object.entries(OJ).reduce((n,[a,o])=>{const{type:s,default:r}=o,l=e.getAttribute(`infinite-scroll-${a}`);let u=t[l]??l??r;return u=u==="false"?!1:u,u=s(u),n[a]=Number.isNaN(u)?r:u,n},{}),ux=e=>{const{observer:t}=e[Ea];t&&(t.disconnect(),delete e[Ea].observer)},RJ=(e,t)=>{const{container:n,containerEl:a,instance:o,observer:s,lastScrollTop:r}=e[Ea],{disabled:l,distance:u}=ag(e,o),{clientHeight:c,scrollHeight:d,scrollTop:f}=a,v=f-r;if(e[Ea].lastScrollTop=f,s||l||v<0)return;let g=!1;if(n===e)g=d-(c+f)<=u;else{const{clientTop:p,scrollHeight:h}=e,m=hh(e,a);g=f+c>=m+p+h-u}g&&t.call(o)};function pp(e,t){const{containerEl:n,instance:a}=e[Ea],{disabled:o}=ag(e,a);o||n.clientHeight===0||(n.scrollHeight<=n.clientHeight?t.call(a):ux(e))}const NJ={async mounted(e,t){const{instance:n,value:a}=t;To({scope:Ea,from:"the directive v-infinite-scroll",replacement:"the el-scrollbar infinite scroll",version:"3.0.0",ref:"https://element-plus.org/en-US/component/scrollbar#infinite-scroll"},!0),Ve(a)||nn(Ea,"'v-infinite-scroll' binding value must be a function"),await Re();const{delay:o,immediate:s}=ag(e,n),r=Bv(e,!0),l=r===window?document.documentElement:r,u=Rs(RJ.bind(null,e,a),o);if(r){if(e[Ea]={instance:n,container:r,containerEl:l,delay:o,cb:a,onScroll:u,lastScrollTop:l.scrollTop},s){const c=new MutationObserver(Rs(pp.bind(null,e,a),xJ));e[Ea].observer=c,c.observe(e,{childList:!0,subtree:!0}),pp(e,a)}r.addEventListener("scroll",u)}},unmounted(e){if(!e[Ea])return;const{container:t,onScroll:n}=e[Ea];t?.removeEventListener("scroll",n),ux(e)},async updated(e){if(!e[Ea])await Re();else{const{containerEl:t,cb:n,observer:a}=e[Ea];t.clientHeight&&a&&pp(e,n)}}},Dh=NJ;Dh.install=e=>{e.directive("InfiniteScroll",Dh)};const IJ=Dh;function PJ(e,t){let n;const a=M(!1),o=At({...e,originalPosition:"",originalOverflow:"",visible:!1});function s(v){o.text=v}function r(){const v=o.parent,g=f.ns;if(!v.vLoadingAddClassList){let p=v.getAttribute("loading-number");p=Number.parseInt(p)-1,p?v.setAttribute("loading-number",p.toString()):(ta(v,g.bm("parent","relative")),v.removeAttribute("loading-number")),ta(v,g.bm("parent","hidden"))}l(),d.unmount()}function l(){f.$el?.parentNode?.removeChild(f.$el)}function u(){e.beforeClose&&!e.beforeClose()||(a.value=!0,clearTimeout(n),n=setTimeout(c,400),o.visible=!1,e.closed?.())}function c(){if(!a.value)return;const v=o.parent;a.value=!1,v.vLoadingAddClassList=void 0,r()}const d=iO(se({name:"ElLoading",setup(v,{expose:g}){const{ns:p,zIndex:h}=of("loading");return g({ns:p,zIndex:h}),()=>{const m=o.spinner||o.svg,b=Ye("svg",{class:"circular",viewBox:o.svgViewBox?o.svgViewBox:"0 0 50 50",...m?{innerHTML:m}:{}},[Ye("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),k=o.text?Ye("p",{class:p.b("text")},[o.text]):void 0;return Ye(Vn,{name:p.b("fade"),onAfterLeave:c},{default:J(()=>[ut(Y("div",{style:{backgroundColor:o.background||""},class:[p.b("mask"),o.customClass,p.is("fullscreen",o.fullscreen)]},[Ye("div",{class:p.b("spinner")},[b,k])]),[[Pt,o.visible]])])})}}}));Object.assign(d._context,t??{});const f=d.mount(document.createElement("div"));return{...Mn(o),setText:s,removeElLoadingChild:l,close:u,handleAfterLeave:c,vm:f,get $el(){return f.$el}}}let tc;const rl=function(e={},t){if(!Mt)return;const n=MJ(e);if(n.fullscreen&&tc)return tc;const a=PJ({...n,closed:()=>{n.closed?.(),n.fullscreen&&(tc=void 0)}},t??rl._context);_J(n,n.parent,a),tw(n,n.parent,a),n.parent.vLoadingAddClassList=()=>tw(n,n.parent,a);let o=n.parent.getAttribute("loading-number");return o?o=`${Number.parseInt(o)+1}`:o="1",n.parent.setAttribute("loading-number",o),n.parent.appendChild(a.$el),Re(()=>a.visible.value=n.visible),n.fullscreen&&(tc=a),a},MJ=e=>{let t;return Le(e.target)?t=document.querySelector(e.target)??document.body:t=e.target||document.body,{parent:t===document.body||e.body?document.body:t,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:t===document.body&&(e.fullscreen??!0),lock:e.lock??!1,customClass:e.customClass||"",visible:e.visible??!0,beforeClose:e.beforeClose,closed:e.closed,target:t}},_J=async(e,t,n)=>{const{nextZIndex:a}=n.vm.zIndex||n.vm._.exposed.zIndex,o={};if(e.fullscreen)n.originalPosition.value=Yo(document.body,"position"),n.originalOverflow.value=Yo(document.body,"overflow"),o.zIndex=a();else if(e.parent===document.body){n.originalPosition.value=Yo(document.body,"position"),await Re();for(const s of["top","left"]){const r=s==="top"?"scrollTop":"scrollLeft";o[s]=`${e.target.getBoundingClientRect()[s]+document.body[r]+document.documentElement[r]-Number.parseInt(Yo(document.body,`margin-${s}`),10)}px`}for(const s of["height","width"])o[s]=`${e.target.getBoundingClientRect()[s]}px`}else n.originalPosition.value=Yo(t,"position");for(const[s,r]of Object.entries(o))n.$el.style[s]=r},tw=(e,t,n)=>{const a=n.vm.ns||n.vm._.exposed.ns;["absolute","fixed","sticky"].includes(n.originalPosition.value)?ta(t,a.bm("parent","relative")):La(t,a.bm("parent","relative")),e.fullscreen&&e.lock?La(t,a.bm("parent","hidden")):ta(t,a.bm("parent","hidden"))};rl._context=null;const Ql=Symbol("ElLoading"),Zs=e=>`element-loading-${cs(e)}`,nw=(e,t)=>{const n=t.instance,a=c=>ot(t.value)?t.value[c]:void 0,o=c=>M(Le(c)&&n?.[c]||c),s=c=>o(a(c)||e.getAttribute(Zs(c))),r=a("fullscreen")??t.modifiers.fullscreen,l={text:s("text"),svg:s("svg"),svgViewBox:s("svgViewBox"),spinner:s("spinner"),background:s("background"),customClass:s("customClass"),fullscreen:r,target:a("target")??(r?void 0:e),body:a("body")??t.modifiers.body,lock:a("lock")??t.modifiers.lock},u=rl(l);u._context=vi._context,e[Ql]={options:l,instance:u}},AJ=(e,t)=>{for(const n of Object.keys(e))Jt(e[n])&&(e[n].value=t[n])},vi={mounted(e,t){t.value&&nw(e,t)},updated(e,t){const n=e[Ql];if(!t.value){n?.instance.close(),e[Ql]=null;return}n?AJ(n.options,ot(t.value)?t.value:{text:e.getAttribute(Zs("text")),svg:e.getAttribute(Zs("svg")),svgViewBox:e.getAttribute(Zs("svgViewBox")),spinner:e.getAttribute(Zs("spinner")),background:e.getAttribute(Zs("background")),customClass:e.getAttribute(Zs("customClass"))}):nw(e,t)},unmounted(e){e[Ql]?.instance.close(),e[Ql]=null}};vi._context=null;const LJ={install(e){rl._context=e._context,vi._context=e._context,e.directive("loading",vi),e.config.globalProperties.$loading=rl},directive:vi,service:rl},cx=["primary","success","info","warning","error"],dx=["top","top-left","top-right","bottom","bottom-left","bottom-right"],ll="top",Un=rn({customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:Mt?document.body:void 0}),DJ=Ce({customClass:{type:String,default:Un.customClass},dangerouslyUseHTMLString:{type:Boolean,default:Un.dangerouslyUseHTMLString},duration:{type:Number,default:Un.duration},icon:{type:Kt,default:Un.icon},id:{type:String,default:Un.id},message:{type:G([String,Object,Function]),default:Un.message},onClose:{type:G(Function),default:Un.onClose},showClose:{type:Boolean,default:Un.showClose},type:{type:String,values:cx,default:Un.type},plain:{type:Boolean,default:Un.plain},offset:{type:Number,default:Un.offset},placement:{type:String,values:dx,default:Un.placement},zIndex:{type:Number,default:Un.zIndex},grouping:{type:Boolean,default:Un.grouping},repeatNum:{type:Number,default:Un.repeatNum}}),BJ={destroy:()=>!0},Xa=ev({}),FJ=e=>(Xa[e]||(Xa[e]=ev([])),Xa[e]),VJ=(e,t)=>{const n=Xa[t]||[],a=n.findIndex(r=>r.id===e),o=n[a];let s;return a>0&&(s=n[a-1]),{current:o,prev:s}},zJ=(e,t)=>{const{prev:n}=VJ(e,t);return n?n.vm.exposed.bottom.value:0},HJ=(e,t,n)=>(Xa[n]||[]).findIndex(a=>a.id===e)>0?16:t,KJ=["id"],WJ=["innerHTML"];var jJ=se({name:"ElMessage",__name:"message",props:DJ,emits:BJ,setup(e,{expose:t,emit:n}){const{Close:a}=am,o=e,s=n,r=M(!1),{ns:l,zIndex:u}=of("message"),{currentZIndex:c,nextZIndex:d}=u,f=M(),v=M(!1),g=M(0);let p;const h=w(()=>o.type?o.type==="error"?"danger":o.type:"info"),m=w(()=>{const V=o.type;return{[l.bm("icon",V)]:V&&Vs[V]}}),b=w(()=>o.icon||Vs[o.type]||""),k=w(()=>o.placement||ll),y=w(()=>zJ(o.id,k.value)),S=w(()=>HJ(o.id,o.offset,k.value)+y.value),C=w(()=>g.value+S.value),E=w(()=>k.value.includes("left")?l.is("left"):k.value.includes("right")?l.is("right"):l.is("center")),$=w(()=>k.value.startsWith("top")?"top":"bottom"),O=w(()=>({[$.value]:`${S.value}px`,zIndex:c.value}));function N(){o.duration!==0&&({stop:p}=pl(()=>{A()},o.duration))}function R(){p?.()}function A(){v.value=!1,Re(()=>{r.value||(o.onClose?.(),s("destroy"))})}function _(V){jt(V)===we.esc&&A()}return ht(()=>{N(),d(),v.value=!0}),le(()=>o.repeatNum,()=>{R(),N()}),Ft(document,"keydown",_),en(f,()=>{g.value=f.value.getBoundingClientRect().height}),t({visible:v,bottom:C,close:A}),(V,H)=>(x(),oe(Vn,{name:i(l).b("fade"),onBeforeEnter:H[0]||(H[0]=U=>r.value=!0),onBeforeLeave:e.onClose,onAfterLeave:H[1]||(H[1]=U=>V.$emit("destroy")),persisted:""},{default:J(()=>[ut(z("div",{id:e.id,ref_key:"messageRef",ref:f,class:T([i(l).b(),{[i(l).m(e.type)]:e.type},i(l).is("closable",e.showClose),i(l).is("plain",e.plain),i(l).is("bottom",$.value==="bottom"),E.value,e.customClass]),style:Ke(O.value),role:"alert",onMouseenter:R,onMouseleave:N},[e.repeatNum>1?(x(),oe(i(lk),{key:0,value:e.repeatNum,type:h.value,class:T(i(l).e("badge"))},null,8,["value","type","class"])):te("v-if",!0),b.value?(x(),oe(i(De),{key:1,class:T([i(l).e("icon"),m.value])},{default:J(()=>[(x(),oe(it(b.value)))]),_:1},8,["class"])):te("v-if",!0),ee(V.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(x(),B(Fe,{key:1},[te(" Caution here, message could've been compromised, never use user's input as message "),z("p",{class:T(i(l).e("content")),innerHTML:e.message},null,10,WJ)],2112)):(x(),B("p",{key:0,class:T(i(l).e("content"))},Se(e.message),3))]),e.showClose?(x(),oe(i(De),{key:2,class:T(i(l).e("closeBtn")),onClick:Xe(A,["stop"])},{default:J(()=>[Y(i(a))]),_:1},8,["class"])):te("v-if",!0)],46,KJ),[[Pt,v.value]])]),_:3},8,["name","onBeforeLeave"]))}}),UJ=jJ;let qJ=1;const YJ=e=>{if(!e.appendTo)e.appendTo=document.body;else if(Le(e.appendTo)){let t=document.querySelector(e.appendTo);ha(t)||(pt("ElMessage","the appendTo option is not an HTMLElement. Falling back to document.body."),t=document.body),e.appendTo=t}},GJ=e=>{!e.placement&&Le(Gn.placement)&&Gn.placement&&(e.placement=Gn.placement),e.placement||(e.placement=ll),dx.includes(e.placement)||(pt("ElMessage",`Invalid placement: ${e.placement}. Falling back to '${ll}'.`),e.placement=ll)},fx=e=>{const t=!e||Le(e)||Ut(e)||Ve(e)?{message:e}:e,n={...Un,...t};return YJ(n),GJ(n),Ht(Gn.grouping)&&!n.grouping&&(n.grouping=Gn.grouping),He(Gn.duration)&&n.duration===3e3&&(n.duration=Gn.duration),He(Gn.offset)&&n.offset===16&&(n.offset=Gn.offset),Ht(Gn.showClose)&&!n.showClose&&(n.showClose=Gn.showClose),Ht(Gn.plain)&&!n.plain&&(n.plain=Gn.plain),n},XJ=e=>{const t=Xa[e.props.placement||ll],n=t.indexOf(e);if(n===-1)return;t.splice(n,1);const{handler:a}=e;a.close()},JJ=({appendTo:e,...t},n)=>{const a=`message_${qJ++}`,o=t.onClose,s=document.createElement("div"),r={...t,id:a,onClose:()=>{o?.(),XJ(c)},onDestroy:()=>{Ls(null,s)}},l=Y(UJ,r,Ve(r.message)||Ut(r.message)?{default:Ve(r.message)?r.message:()=>r.message}:null);l.appContext=n||xr._context,Ls(l,s),e.appendChild(s.firstElementChild);const u=l.component,c={id:a,vnode:l,vm:u,handler:{close:()=>{u.exposed.close()}},props:l.component.props};return c},xr=(e={},t)=>{if(!Mt)return{close:()=>{}};const n=fx(e),a=FJ(n.placement||ll);if(n.grouping&&a.length){const s=a.find(({vnode:r})=>r.props?.message===n.message);if(s)return s.props.repeatNum+=1,s.props.type=n.type,s.handler}if(He(Gn.max)&&a.length>=Gn.max)return{close:()=>{}};const o=JJ(n,t);return a.push(o),o.handler};cx.forEach(e=>{xr[e]=(t={},n)=>xr({...fx(t),type:e},n)});function ZJ(e){for(const t in Xa)if(Nt(Xa,t)){const n=[...Xa[t]];for(const a of n)(!e||e===a.props.type)&&a.handler.close()}}function QJ(e){Xa[e]&&[...Xa[e]].forEach(t=>t.handler.close())}xr.closeAll=ZJ;xr.closeAllByPlacement=QJ;xr._context=null;const Bh=LC(xr,"$message");var eZ=se({name:"ElMessageBox",directives:{TrapFocus:S8},components:{ElButton:In,ElFocusTrap:Al,ElInput:ea,ElOverlay:Tm,ElIcon:De,...am},inheritAttrs:!1,props:{buttonSize:{type:String,validator:pE},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:Boolean,container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{locale:n,zIndex:a,ns:o,size:s}=of("message-box",w(()=>e.buttonSize)),{t:r}=n,{nextZIndex:l}=a,u=M(!1),c=At({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",cancelButtonType:"",confirmButtonType:"primary",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",closeIcon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:"",inputValidator:void 0,inputErrorMessage:"",message:"",modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:xo(Ao),cancelButtonLoadingIcon:xo(Ao),confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:l()}),d=w(()=>{const U=c.type;return{[o.bm("icon",U)]:U&&Vs[U]}}),f=zn(),v=zn(),g=w(()=>{const U=c.type;return c.icon||U&&Vs[U]||""}),p=w(()=>!!c.message),h=M(),m=M(),b=M(),k=M(),y=M(),S=w(()=>c.confirmButtonClass);le(()=>c.inputValue,async U=>{await Re(),e.boxType==="prompt"&&U&&A()},{immediate:!0}),le(()=>u.value,U=>{U&&(e.boxType!=="prompt"&&(c.autofocus?b.value=y.value?.$el??h.value:b.value=h.value),c.zIndex=l()),e.boxType==="prompt"&&(U?Re().then(()=>{k.value&&k.value.$el&&(c.autofocus?b.value=_()??h.value:b.value=h.value)}):(c.editorErrorMessage="",c.validateError=!1))});const{isDragging:C}=ZS(h,m,w(()=>e.draggable),w(()=>e.overflow));ht(async()=>{await Re(),e.closeOnHashChange&&window.addEventListener("hashchange",E)}),Bt(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",E)});function E(){u.value&&(u.value=!1,Re(()=>{c.action&&t("action",c.action)}))}const $=()=>{e.closeOnClickModal&&R(c.distinguishCancelAndClose?"close":"cancel")},O=Yv($),N=U=>{if(c.inputType!=="textarea"&&!k.value?.isComposing)return U.preventDefault(),R("confirm")},R=U=>{e.boxType==="prompt"&&U==="confirm"&&!A()||(c.action=U,c.beforeClose?c.beforeClose?.(U,c,E):E())},A=()=>{if(e.boxType==="prompt"){const U=c.inputPattern;if(U&&!U.test(c.inputValue||""))return c.editorErrorMessage=c.inputErrorMessage||r("el.messagebox.error"),c.validateError=!0,!1;const W=c.inputValidator;if(Ve(W)){const P=W(c.inputValue);if(P===!1)return c.editorErrorMessage=c.inputErrorMessage||r("el.messagebox.error"),c.validateError=!0,!1;if(Le(P))return c.editorErrorMessage=P,c.validateError=!0,!1}}return c.editorErrorMessage="",c.validateError=!1,!0},_=()=>{const U=k.value?.$refs;return U?.input??U?.textarea},V=()=>{R("close")},H=()=>{e.closeOnPressEscape&&V()};return e.lockScroll&&qd(u,{ns:o}),{...Mn(c),ns:o,overlayEvent:O,visible:u,hasMessage:p,typeClass:d,contentId:f,inputId:v,btnSize:s,iconComponent:g,confirmButtonClasses:S,rootRef:h,focusStartRef:b,headerRef:m,inputRef:k,isDragging:C,confirmRef:y,doClose:E,handleClose:V,onCloseRequested:H,handleWrapperClick:$,handleInputEnter:N,handleAction:R,t:r}}});const tZ=["aria-label","aria-describedby"],nZ=["aria-label"],aZ=["id"];function oZ(e,t,n,a,o,s){const r=It("el-icon"),l=It("el-input"),u=It("el-button"),c=It("el-focus-trap"),d=It("el-overlay");return x(),oe(Vn,{name:"fade-in-linear",onAfterLeave:t[11]||(t[11]=f=>e.$emit("vanish")),persisted:""},{default:J(()=>[ut(Y(d,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:J(()=>[z("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:T(`${e.ns.namespace.value}-overlay-message-box`),onClick:t[8]||(t[8]=(...f)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...f)),onMousedown:t[9]||(t[9]=(...f)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...f)),onMouseup:t[10]||(t[10]=(...f)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...f))},[Y(c,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:J(()=>[z("div",{ref:"rootRef",class:T([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),e.ns.is("dragging",e.isDragging),{[e.ns.m("center")]:e.center}]),style:Ke(e.customStyle),tabindex:"-1",onClick:t[7]||(t[7]=Xe(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(x(),B("div",{key:0,ref:"headerRef",class:T([e.ns.e("header"),{"show-close":e.showClose}])},[z("div",{class:T(e.ns.e("title"))},[e.iconComponent&&e.center?(x(),oe(r,{key:0,class:T([e.ns.e("status"),e.typeClass])},{default:J(()=>[(x(),oe(it(e.iconComponent)))]),_:1},8,["class"])):te("v-if",!0),z("span",null,Se(e.title),1)],2),e.showClose?(x(),B("button",{key:0,type:"button",class:T(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t[0]||(t[0]=f=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:t[1]||(t[1]=on(Xe(f=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[Y(r,{class:T(e.ns.e("close"))},{default:J(()=>[(x(),oe(it(e.closeIcon||"close")))]),_:1},8,["class"])],42,nZ)):te("v-if",!0)],2)):te("v-if",!0),z("div",{id:e.contentId,class:T(e.ns.e("content"))},[z("div",{class:T(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(x(),oe(r,{key:0,class:T([e.ns.e("status"),e.typeClass])},{default:J(()=>[(x(),oe(it(e.iconComponent)))]),_:1},8,["class"])):te("v-if",!0),e.hasMessage?(x(),B("div",{key:1,class:T(e.ns.e("message"))},[ee(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(x(),oe(it(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(x(),oe(it(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0,textContent:Se(e.message)},null,8,["for","textContent"]))])],2)):te("v-if",!0)],2),ut(z("div",{class:T(e.ns.e("input"))},[Y(l,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t[2]||(t[2]=f=>e.inputValue=f),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:T({invalid:e.validateError}),onKeydown:on(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),z("div",{class:T(e.ns.e("errormsg")),style:Ke({visibility:e.editorErrorMessage?"visible":"hidden"})},Se(e.editorErrorMessage),7)],2),[[Pt,e.showInput]])],10,aZ),z("div",{class:T(e.ns.e("btns"))},[e.showCancelButton?(x(),oe(u,{key:0,type:e.cancelButtonType==="text"?"":e.cancelButtonType,text:e.cancelButtonType==="text",loading:e.cancelButtonLoading,"loading-icon":e.cancelButtonLoadingIcon,class:T([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t[3]||(t[3]=f=>e.handleAction("cancel")),onKeydown:t[4]||(t[4]=on(Xe(f=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:J(()=>[wt(Se(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["type","text","loading","loading-icon","class","round","size"])):te("v-if",!0),ut(Y(u,{ref:"confirmRef",type:e.confirmButtonType==="text"?"":e.confirmButtonType,text:e.confirmButtonType==="text",loading:e.confirmButtonLoading,"loading-icon":e.confirmButtonLoadingIcon,class:T([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t[5]||(t[5]=f=>e.handleAction("confirm")),onKeydown:t[6]||(t[6]=on(Xe(f=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:J(()=>[wt(Se(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["type","text","loading","loading-icon","class","round","disabled","size"]),[[Pt,e.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,tZ)]),_:3},8,["z-index","overlay-class","mask"]),[[Pt,e.visible]])]),_:3})}var sZ=$n(eZ,[["render",oZ]]);const ji=new Map,rZ=e=>{let t=document.body;return e.appendTo&&(Le(e.appendTo)&&(t=document.querySelector(e.appendTo)),ha(e.appendTo)&&(t=e.appendTo),ha(t)||(pt("ElMessageBox","the appendTo option is not an HTMLElement. Falling back to document.body."),t=document.body)),t},lZ=(e,t,n=null)=>{const a=Y(sZ,e,Ve(e.message)||Ut(e.message)?{default:Ve(e.message)?e.message:()=>e.message}:null);return a.appContext=n,Ls(a,t),rZ(e).appendChild(t.firstElementChild),a.component},iZ=()=>document.createElement("div"),uZ=(e,t)=>{const n=iZ();e.onVanish=()=>{Ls(null,n),ji.delete(o)},e.onAction=s=>{const r=ji.get(o);let l;e.showInput?l={value:o.inputValue,action:s}:l=s,e.callback?e.callback(l,a.proxy):s==="cancel"||s==="close"?e.distinguishCancelAndClose&&s!=="cancel"?r.reject("close"):r.reject("cancel"):r.resolve(l)};const a=lZ(e,n,t),o=a.proxy;for(const s in e)Nt(e,s)&&!Nt(o.$props,s)&&(s==="closeIcon"&&ot(e[s])?o[s]=xo(e[s]):o[s]=e[s]);return o.visible=!0,o};function Dl(e,t=null){if(!Mt)return Promise.reject();let n;return Le(e)||Ut(e)?e={message:e}:n=e.callback,new Promise((a,o)=>{const s=uZ(e,t??Dl._context);ji.set(s,{options:e,callback:n,resolve:a,reject:o})})}const cZ=["alert","confirm","prompt"],dZ={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};cZ.forEach(e=>{Dl[e]=fZ(e)});function fZ(e){return(t,n,a,o)=>{let s="";return ot(n)?(a=n,s=""):Tt(n)?s="":s=n,Dl(Object.assign({title:s,message:t,type:"",...dZ[e]},a,{boxType:e}),o)}}Dl.close=()=>{ji.forEach((e,t)=>{t.doClose()}),ji.clear()};Dl._context=null;const Es=Dl;Es.install=e=>{Es._context=e._context,e.config.globalProperties.$msgbox=Es,e.config.globalProperties.$messageBox=Es,e.config.globalProperties.$alert=Es.alert,e.config.globalProperties.$confirm=Es.confirm,e.config.globalProperties.$prompt=Es.prompt};const pZ=Es,px=["primary","success","info","warning","error"],hZ=Ce({customClass:{type:String,default:""},dangerouslyUseHTMLString:Boolean,duration:{type:Number,default:4500},icon:{type:Kt},id:{type:String,default:""},message:{type:G([String,Object,Function]),default:""},offset:{type:Number,default:0},onClick:{type:G(Function),default:()=>{}},onClose:{type:G(Function),required:!0},position:{type:String,values:["top-right","top-left","bottom-right","bottom-left"],default:"top-right"},showClose:{type:Boolean,default:!0},title:{type:String,default:""},type:{type:String,values:[...px,""],default:""},zIndex:Number,closeIcon:{type:Kt,default:Ha}}),vZ={destroy:()=>!0},mZ=["id"],gZ=["textContent"],bZ={key:0},yZ=["innerHTML"];var wZ=se({name:"ElNotification",__name:"notification",props:hZ,emits:vZ,setup(e,{expose:t}){const n=e,{ns:a,zIndex:o}=of("notification"),{nextZIndex:s,currentZIndex:r}=o,l=M(!1);let u;const c=w(()=>{const k=n.type;return k&&Vs[n.type]?a.m(k):""}),d=w(()=>n.type&&Vs[n.type]||n.icon),f=w(()=>n.position.endsWith("right")?"right":"left"),v=w(()=>n.position.startsWith("top")?"top":"bottom"),g=w(()=>({[v.value]:`${n.offset}px`,zIndex:n.zIndex??r.value}));function p(){n.duration>0&&({stop:u}=pl(()=>{l.value&&m()},n.duration))}function h(){u?.()}function m(){l.value=!1}function b(k){switch(jt(k)){case we.delete:case we.backspace:h();break;case we.esc:l.value&&m();break;default:p();break}}return ht(()=>{p(),s(),l.value=!0}),Ft(document,"keydown",b),t({visible:l,close:m}),(k,y)=>(x(),oe(Vn,{name:i(a).b("fade"),onBeforeLeave:e.onClose,onAfterLeave:y[1]||(y[1]=S=>k.$emit("destroy")),persisted:""},{default:J(()=>[ut(z("div",{id:e.id,class:T([i(a).b(),e.customClass,f.value]),style:Ke(g.value),role:"alert",onMouseenter:h,onMouseleave:p,onClick:y[0]||(y[0]=(...S)=>e.onClick&&e.onClick(...S))},[d.value?(x(),oe(i(De),{key:0,class:T([i(a).e("icon"),c.value])},{default:J(()=>[(x(),oe(it(d.value)))]),_:1},8,["class"])):te("v-if",!0),z("div",{class:T(i(a).e("group"))},[z("h2",{class:T(i(a).e("title")),textContent:Se(e.title)},null,10,gZ),ut(z("div",{class:T(i(a).e("content")),style:Ke(e.title?void 0:{margin:0})},[ee(k.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(x(),B(Fe,{key:1},[te(" Caution here, message could've been compromised, never use user's input as message "),z("p",{innerHTML:e.message},null,8,yZ)],2112)):(x(),B("p",bZ,Se(e.message),1))])],6),[[Pt,e.message]]),e.showClose?(x(),oe(i(De),{key:0,class:T(i(a).e("closeBtn")),onClick:Xe(m,["stop"])},{default:J(()=>[(x(),oe(it(e.closeIcon)))]),_:1},8,["class"])):te("v-if",!0)],2)],46,mZ),[[Pt,l.value]])]),_:3},8,["name","onBeforeLeave"]))}}),SZ=wZ;const xl={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},wd=16;let CZ=1;const Tr=function(e={},t){if(!Mt)return{close:()=>{}};(Le(e)||Ut(e))&&(e={message:e});const n=e.position||"top-right";let a=e.offset||0;xl[n].forEach(({vm:d})=>{a+=(d.el?.offsetHeight||0)+wd}),a+=wd;const o=`notification_${CZ++}`,s=e.onClose,r={...e,offset:a,id:o,onClose:()=>{kZ(o,n,s)}};let l=document.body;ha(e.appendTo)?l=e.appendTo:Le(e.appendTo)&&(l=document.querySelector(e.appendTo)),ha(l)||(pt("ElNotification","the appendTo option is not an HTMLElement. Falling back to document.body."),l=document.body);const u=document.createElement("div"),c=Y(SZ,r,Ve(r.message)?r.message:Ut(r.message)?()=>r.message:null);return c.appContext=Tt(t)?Tr._context:t,c.props.onDestroy=()=>{Ls(null,u)},Ls(c,u),xl[n].push({vm:c}),l.appendChild(u.firstElementChild),{close:()=>{c.component.exposed.visible.value=!1}}};px.forEach(e=>{Tr[e]=(t={},n)=>((Le(t)||Ut(t))&&(t={message:t}),Tr({...t,type:e},n))});function kZ(e,t,n){const a=xl[t],o=a.findIndex(({vm:c})=>c.component?.props.id===e);if(o===-1)return;const{vm:s}=a[o];if(!s)return;n?.(s);const r=s.el.offsetHeight,l=t.split("-")[0];a.splice(o,1);const u=a.length;if(!(u<1))for(let c=o;c{t.component.exposed.visible.value=!1})}function xZ(e="top-right"){let t=xl[e][0]?.vm.component?.props?.offset||0;for(const{vm:n}of xl[e])n.component.props.offset=t,t+=(n.el?.offsetHeight||0)+wd}Tr.closeAll=EZ;Tr.updateOffsets=xZ;Tr._context=null;const TZ=LC(Tr,"$notify"),$Z=Ce({trigger:No.trigger,triggerKeys:No.triggerKeys,placement:$c.placement,disabled:No.disabled,visible:zt.visible,transition:zt.transition,popperOptions:$c.popperOptions,tabindex:$c.tabindex,content:zt.content,popperStyle:zt.popperStyle,popperClass:zt.popperClass,enterable:{...zt.enterable,default:!0},effect:{...zt.effect,default:"light"},teleported:zt.teleported,appendTo:zt.appendTo,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),OZ={"update:visible":e=>Ht(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},RZ="onUpdate:visible";var NZ=se({name:"ElPopover",__name:"popover",props:$Z,emits:OZ,setup(e,{expose:t,emit:n}){const a=e,o=n,s=w(()=>a[RZ]),r=fe("popover"),l=M(),u=w(()=>i(l)?.popperRef),c=w(()=>[{width:ln(a.width)},a.popperStyle]),d=w(()=>[r.b(),a.popperClass,{[r.m("plain")]:!!a.content}]),f=w(()=>a.transition===`${r.namespace.value}-fade-in-linear`),v=()=>{l.value?.hide()},g=()=>{o("before-enter")},p=()=>{o("before-leave")},h=()=>{o("after-enter")},m=()=>{o("update:visible",!1),o("after-leave")};return t({popperRef:u,hide:v}),(b,k)=>(x(),oe(i(Ln),dt({ref_key:"tooltipRef",ref:l},b.$attrs,{trigger:e.trigger,"trigger-keys":e.triggerKeys,placement:e.placement,disabled:e.disabled,visible:e.visible,transition:e.transition,"popper-options":e.popperOptions,tabindex:e.tabindex,content:e.content,offset:e.offset,"show-after":e.showAfter,"hide-after":e.hideAfter,"auto-close":e.autoClose,"show-arrow":e.showArrow,"aria-label":e.title,effect:e.effect,enterable:e.enterable,"popper-class":d.value,"popper-style":c.value,teleported:e.teleported,"append-to":e.appendTo,persistent:e.persistent,"gpu-acceleration":f.value,"onUpdate:visible":s.value,onBeforeShow:g,onBeforeHide:p,onShow:h,onHide:m}),{content:J(()=>[e.title?(x(),B("div",{key:0,class:T(i(r).e("title")),role:"title"},Se(e.title),3)):te("v-if",!0),ee(b.$slots,"default",{hide:v},()=>[wt(Se(e.content),1)])]),default:J(()=>[b.$slots.reference?ee(b.$slots,"reference",{key:0}):te("v-if",!0)]),_:3},16,["trigger","trigger-keys","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","append-to","persistent","gpu-acceleration","onUpdate:visible"]))}}),IZ=NZ;const aw=(e,t)=>{const n=(t.arg||t.value)?.popperRef;n&&(n.triggerRef=e)};var PZ={mounted(e,t){aw(e,t)},updated(e,t){aw(e,t)}};const MZ="popover",hx=P4(PZ,MZ),_Z=rt(IZ,{directive:hx}),AZ="2.13.5",LZ=(e=[])=>({version:AZ,install:(n,a)=>{n[tb]||(n[tb]=!0,e.forEach(o=>n.use(o)),a&&um(a,n,!0))}});var DZ=[D4,tL,cB,Qq,mB,gB,kB,lk,MB,_B,In,hk,DF,zF,nV,aV,JV,e2,n6,so,yV,gm,f6,$6,O6,rf,f2,nz,VB,uz,cz,dz,fz,pz,p5,y2,C5,k5,$2,O2,X5,DK,BK,FK,D2,QL,eD,De,$W,B2,ea,F2,WW,XW,fj,pj,hj,vj,Sj,t9,r9,_Z,tk,j2,Qk,IV,NV,S9,x9,u6,ao,Hs,sd,vF,p7,y7,w7,V7,j7,g2,Cz,Z7,Q7,uU,gq,bq,Zq,fY,pY,ts,Um,K8,SY,TY,$Y,Ln,VY,Gm,iG,EG,JG,lX,PX,MX,HX,KX,XX,uJ,kJ,EJ],BZ=[IJ,LJ,Bh,pZ,TZ,hx],og=LZ([...DZ,...BZ]);og.install;og.version;var cte=og;const FZ="brand:api-secret";function VZ(){return typeof window>"u"?"0":window.localStorage.getItem("uid")||"0"}function sg(e){return`${FZ}:${VZ()}:${e}`}function ow(e,t){const n=e.getItem(sg(t));if(!n)return null;try{const a=JSON.parse(n);if(typeof a.value!="string")return null;const o=zZ(a.retention),s=typeof a.expiresAt=="number"?a.expiresAt:null,r=typeof a.updatedAt=="number"?a.updatedAt:Date.now();return{value:a.value,retention:o,expiresAt:s,updatedAt:r}}catch{return null}}function zZ(e){switch(e){case"1d":case"7d":case"30d":case"forever":case"session":return e;default:return"session"}}function HZ(e,t){switch(e){case"1d":return t+1440*60*1e3;case"7d":return t+10080*60*1e3;case"30d":return t+720*60*60*1e3;case"forever":return null;default:return null}}function KZ(e){return e.expiresAt!=null&&e.expiresAt<=Date.now()}function Fh(e,t){e.removeItem(sg(t))}function vx(e){if(typeof window>"u")return null;const t=ow(window.sessionStorage,e);if(t)return t;const n=ow(window.localStorage,e);return n?KZ(n)?(Fh(window.localStorage,e),null):n:null}function dte(e){return vx(e)?.value||""}function WZ(e){const t=vx(e);return t?{value:t.value,retention:t.retention,expiresAt:t.expiresAt,updatedAt:t.updatedAt,exists:!0}:{value:"",retention:"session",expiresAt:null,updatedAt:null,exists:!1}}function jZ(e,t,n){if(typeof window>"u")return;const a=t.trim();if(mx(e),!a)return;const o=Date.now(),s={value:a,retention:n,expiresAt:HZ(n,o),updatedAt:o};(n==="session"?window.sessionStorage:window.localStorage).setItem(sg(e),JSON.stringify(s))}function mx(e){typeof window>"u"||(Fh(window.sessionStorage,e),Fh(window.localStorage,e))}const UZ={class:"secret-settings-entry"},qZ={class:"secret-settings-body"},YZ={class:"secret-card-head"},GZ={class:"secret-card-title"},XZ={class:"secret-card-desc"},JZ=["onClick"],ZZ=["onUpdate:modelValue","placeholder"],QZ={class:"retention-block"},eQ={class:"retention-options"},tQ=["onUpdate:modelValue","value"],nQ={class:"secret-meta"},aQ={key:0},oQ={key:1},sQ={class:"dialog-footer"},rQ=se({__name:"BrandApiSecretSettingsButton",setup(e){const t=M(!1),n=[{value:"session",label:"仅本次打开有效"},{value:"1d",label:"1天"},{value:"7d",label:"7天"},{value:"30d",label:"30天"},{value:"forever",label:"长期保留"}],a=M([]);function o(c,d,f){const v=WZ(c);return{moduleKey:c,title:d,description:f,value:v.value,retention:v.retention,expiresAt:v.expiresAt,exists:v.exists}}function s(){a.value=[o("appearance-patent","外观专利","用于外观专利检测的 Coze 接口密钥。"),o("similar-asin","货源查询","用于货源查询的 Coze 接口密钥。")]}function r(c,d){if(c==="session")return"关闭软件后自动清空";if(c==="forever")return"长期保留,直到手动清空";if(!d)return"已保存";const f=new Date(d),v=f.getFullYear(),g=String(f.getMonth()+1).padStart(2,"0"),p=String(f.getDate()).padStart(2,"0"),h=String(f.getHours()).padStart(2,"0"),m=String(f.getMinutes()).padStart(2,"0");return`有效期至 ${v}-${g}-${p} ${h}:${m}`}function l(c){mx(c),s(),Bh.success("已清空密钥")}function u(){for(const c of a.value)jZ(c.moduleKey,c.value,c.retention);s(),t.value=!1,Bh.success("密钥设置已保存")}return le(t,c=>{c&&s()}),s(),(c,d)=>{const f=$2;return x(),B("div",UZ,[z("button",{type:"button",class:"secret-settings-trigger",onClick:d[0]||(d[0]=v=>t.value=!0)},[...d[3]||(d[3]=[z("span",{class:"secret-settings-icon","aria-hidden":"true"},"◎",-1),z("span",null,"密钥设置",-1)])]),Y(f,{modelValue:t.value,"onUpdate:modelValue":d[2]||(d[2]=v=>t.value=v),width:"560px",class:"secret-settings-dialog","append-to-body":!0},{header:J(()=>[...d[4]||(d[4]=[z("div",{class:"dialog-header"},[z("div",{class:"dialog-title"},"设置"),z("div",{class:"dialog-subtitle"},"按当前登录用户保存在本机,可分别管理外观专利和货源查询密钥。")],-1)])]),footer:J(()=>[z("div",sQ,[z("button",{type:"button",class:"footer-btn footer-btn-ghost",onClick:d[1]||(d[1]=v=>t.value=!1)},"取消"),z("button",{type:"button",class:"footer-btn footer-btn-primary",onClick:u},"保存")])]),default:J(()=>[z("div",qZ,[(x(!0),B(Fe,null,gt(a.value,v=>(x(),B("section",{key:v.moduleKey,class:"secret-card"},[z("div",YZ,[z("div",null,[z("div",GZ,Se(v.title),1),z("div",XZ,Se(v.description),1)]),v.exists?(x(),B("button",{key:0,type:"button",class:"link-danger",onClick:g=>l(v.moduleKey)}," 清空 ",8,JZ)):te("",!0)]),ut(z("input",{"onUpdate:modelValue":g=>v.value=g,class:"secret-input",type:"password",placeholder:`请输入${v.title}密钥`,autocomplete:"off",spellcheck:"false"},null,8,ZZ),[[hv,v.value]]),z("div",QZ,[d[5]||(d[5]=z("div",{class:"retention-label"},"保留时长",-1)),z("div",eQ,[(x(),B(Fe,null,gt(n,g=>z("label",{key:g.value,class:"retention-option"},[ut(z("input",{"onUpdate:modelValue":p=>v.retention=p,type:"radio",value:g.value},null,8,tQ),[[vv,v.retention]]),z("span",null,Se(g.label),1)])),64))])]),z("div",nQ,[v.exists?(x(),B("span",aQ,Se(r(v.retention,v.expiresAt)),1)):(x(),B("span",oQ,"当前未保存"))])]))),128))])]),_:1},8,["modelValue"])])}}}),gx=(e,t)=>{const n=e.__vccOpts||e;for(const[a,o]of t)n[a]=o;return n},lQ=gx(rQ,[["__scopeId","data-v-6bbc0070"]]);function bx(e,t){return function(){return e.apply(t,arguments)}}const{toString:iQ}=Object.prototype,{getPrototypeOf:rg}=Object,{iterator:pf,toStringTag:yx}=Symbol,hf=(e=>t=>{const n=iQ.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),po=e=>(e=e.toLowerCase(),t=>hf(t)===e),vf=e=>t=>typeof t===e,{isArray:Bl}=Array,Tl=vf("undefined");function ku(e){return e!==null&&!Tl(e)&&e.constructor!==null&&!Tl(e.constructor)&&ba(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const wx=po("ArrayBuffer");function uQ(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&wx(e.buffer),t}const cQ=vf("string"),ba=vf("function"),Sx=vf("number"),Eu=e=>e!==null&&typeof e=="object",dQ=e=>e===!0||e===!1,_c=e=>{if(hf(e)!=="object")return!1;const t=rg(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(yx in e)&&!(pf in e)},fQ=e=>{if(!Eu(e)||ku(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},pQ=po("Date"),hQ=po("File"),vQ=e=>!!(e&&typeof e.uri<"u"),mQ=e=>e&&typeof e.getParts<"u",gQ=po("Blob"),bQ=po("FileList"),yQ=e=>Eu(e)&&ba(e.pipe);function wQ(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const sw=wQ(),rw=typeof sw.FormData<"u"?sw.FormData:void 0,SQ=e=>{let t;return e&&(rw&&e instanceof rw||ba(e.append)&&((t=hf(e))==="formdata"||t==="object"&&ba(e.toString)&&e.toString()==="[object FormData]"))},CQ=po("URLSearchParams"),[kQ,EQ,xQ,TQ]=["ReadableStream","Request","Response","Headers"].map(po),$Q=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function xu(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let a,o;if(typeof e!="object"&&(e=[e]),Bl(e))for(a=0,o=e.length;a0;)if(o=n[a],t===o.toLowerCase())return o;return null}const ur=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,kx=e=>!Tl(e)&&e!==ur;function Vh(){const{caseless:e,skipUndefined:t}=kx(this)&&this||{},n={},a=(o,s)=>{if(s==="__proto__"||s==="constructor"||s==="prototype")return;const r=e&&Cx(n,s)||s;_c(n[r])&&_c(o)?n[r]=Vh(n[r],o):_c(o)?n[r]=Vh({},o):Bl(o)?n[r]=o.slice():(!t||!Tl(o))&&(n[r]=o)};for(let o=0,s=arguments.length;o(xu(t,(o,s)=>{n&&ba(o)?Object.defineProperty(e,s,{value:bx(o,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,s,{value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:a}),e),RQ=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),NQ=(e,t,n,a)=>{e.prototype=Object.create(t.prototype,a),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},IQ=(e,t,n,a)=>{let o,s,r;const l={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)r=o[s],(!a||a(r,e,t))&&!l[r]&&(t[r]=e[r],l[r]=!0);e=n!==!1&&rg(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},PQ=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const a=e.indexOf(t,n);return a!==-1&&a===n},MQ=e=>{if(!e)return null;if(Bl(e))return e;let t=e.length;if(!Sx(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},_Q=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&rg(Uint8Array)),AQ=(e,t)=>{const a=(e&&e[pf]).call(e);let o;for(;(o=a.next())&&!o.done;){const s=o.value;t.call(e,s[0],s[1])}},LQ=(e,t)=>{let n;const a=[];for(;(n=e.exec(t))!==null;)a.push(n);return a},DQ=po("HTMLFormElement"),BQ=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,a,o){return a.toUpperCase()+o}),lw=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),FQ=po("RegExp"),Ex=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),a={};xu(n,(o,s)=>{let r;(r=t(o,s,e))!==!1&&(a[s]=r||o)}),Object.defineProperties(e,a)},VQ=e=>{Ex(e,(t,n)=>{if(ba(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const a=e[n];if(ba(a)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},zQ=(e,t)=>{const n={},a=o=>{o.forEach(s=>{n[s]=!0})};return Bl(e)?a(e):a(String(e).split(t)),n},HQ=()=>{},KQ=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function WQ(e){return!!(e&&ba(e.append)&&e[yx]==="FormData"&&e[pf])}const jQ=e=>{const t=new Array(10),n=(a,o)=>{if(Eu(a)){if(t.indexOf(a)>=0)return;if(ku(a))return a;if(!("toJSON"in a)){t[o]=a;const s=Bl(a)?[]:{};return xu(a,(r,l)=>{const u=n(r,o+1);!Tl(u)&&(s[l]=u)}),t[o]=void 0,s}}return a};return n(e,0)},UQ=po("AsyncFunction"),qQ=e=>e&&(Eu(e)||ba(e))&&ba(e.then)&&ba(e.catch),xx=((e,t)=>e?setImmediate:t?((n,a)=>(ur.addEventListener("message",({source:o,data:s})=>{o===ur&&s===n&&a.length&&a.shift()()},!1),o=>{a.push(o),ur.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",ba(ur.postMessage)),YQ=typeof queueMicrotask<"u"?queueMicrotask.bind(ur):typeof process<"u"&&process.nextTick||xx,GQ=e=>e!=null&&ba(e[pf]),xe={isArray:Bl,isArrayBuffer:wx,isBuffer:ku,isFormData:SQ,isArrayBufferView:uQ,isString:cQ,isNumber:Sx,isBoolean:dQ,isObject:Eu,isPlainObject:_c,isEmptyObject:fQ,isReadableStream:kQ,isRequest:EQ,isResponse:xQ,isHeaders:TQ,isUndefined:Tl,isDate:pQ,isFile:hQ,isReactNativeBlob:vQ,isReactNative:mQ,isBlob:gQ,isRegExp:FQ,isFunction:ba,isStream:yQ,isURLSearchParams:CQ,isTypedArray:_Q,isFileList:bQ,forEach:xu,merge:Vh,extend:OQ,trim:$Q,stripBOM:RQ,inherits:NQ,toFlatObject:IQ,kindOf:hf,kindOfTest:po,endsWith:PQ,toArray:MQ,forEachEntry:AQ,matchAll:LQ,isHTMLForm:DQ,hasOwnProperty:lw,hasOwnProp:lw,reduceDescriptors:Ex,freezeMethods:VQ,toObjectSet:zQ,toCamelCase:BQ,noop:HQ,toFiniteNumber:KQ,findKey:Cx,global:ur,isContextDefined:kx,isSpecCompliantForm:WQ,toJSONObject:jQ,isAsyncFn:UQ,isThenable:qQ,setImmediate:xx,asap:YQ,isIterable:GQ};let _t=class Tx extends Error{static from(t,n,a,o,s,r){const l=new Tx(t.message,n||t.code,a,o,s);return l.cause=t,l.name=t.name,t.status!=null&&l.status==null&&(l.status=t.status),r&&Object.assign(l,r),l}constructor(t,n,a,o,s){super(t),Object.defineProperty(this,"message",{value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),a&&(this.config=a),o&&(this.request=o),s&&(this.response=s,this.status=s.status)}toJSON(){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:xe.toJSONObject(this.config),code:this.code,status:this.status}}};_t.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";_t.ERR_BAD_OPTION="ERR_BAD_OPTION";_t.ECONNABORTED="ECONNABORTED";_t.ETIMEDOUT="ETIMEDOUT";_t.ERR_NETWORK="ERR_NETWORK";_t.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";_t.ERR_DEPRECATED="ERR_DEPRECATED";_t.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";_t.ERR_BAD_REQUEST="ERR_BAD_REQUEST";_t.ERR_CANCELED="ERR_CANCELED";_t.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";_t.ERR_INVALID_URL="ERR_INVALID_URL";const XQ=null;function zh(e){return xe.isPlainObject(e)||xe.isArray(e)}function $x(e){return xe.endsWith(e,"[]")?e.slice(0,-2):e}function hp(e,t,n){return e?e.concat(t).map(function(o,s){return o=$x(o),!n&&s?"["+o+"]":o}).join(n?".":""):t}function JQ(e){return xe.isArray(e)&&!e.some(zh)}const ZQ=xe.toFlatObject(xe,{},null,function(t){return/^is[A-Z]/.test(t)});function mf(e,t,n){if(!xe.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=xe.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,m){return!xe.isUndefined(m[h])});const a=n.metaTokens,o=n.visitor||d,s=n.dots,r=n.indexes,u=(n.Blob||typeof Blob<"u"&&Blob)&&xe.isSpecCompliantForm(t);if(!xe.isFunction(o))throw new TypeError("visitor must be a function");function c(p){if(p===null)return"";if(xe.isDate(p))return p.toISOString();if(xe.isBoolean(p))return p.toString();if(!u&&xe.isBlob(p))throw new _t("Blob is not supported. Use a Buffer instead.");return xe.isArrayBuffer(p)||xe.isTypedArray(p)?u&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function d(p,h,m){let b=p;if(xe.isReactNative(t)&&xe.isReactNativeBlob(p))return t.append(hp(m,h,s),c(p)),!1;if(p&&!m&&typeof p=="object"){if(xe.endsWith(h,"{}"))h=a?h:h.slice(0,-2),p=JSON.stringify(p);else if(xe.isArray(p)&&JQ(p)||(xe.isFileList(p)||xe.endsWith(h,"[]"))&&(b=xe.toArray(p)))return h=$x(h),b.forEach(function(y,S){!(xe.isUndefined(y)||y===null)&&t.append(r===!0?hp([h],S,s):r===null?h:h+"[]",c(y))}),!1}return zh(p)?!0:(t.append(hp(m,h,s),c(p)),!1)}const f=[],v=Object.assign(ZQ,{defaultVisitor:d,convertValue:c,isVisitable:zh});function g(p,h){if(!xe.isUndefined(p)){if(f.indexOf(p)!==-1)throw Error("Circular reference detected in "+h.join("."));f.push(p),xe.forEach(p,function(b,k){(!(xe.isUndefined(b)||b===null)&&o.call(t,b,xe.isString(k)?k.trim():k,h,v))===!0&&g(b,h?h.concat(k):[k])}),f.pop()}}if(!xe.isObject(e))throw new TypeError("data must be an object");return g(e),t}function iw(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(a){return t[a]})}function lg(e,t){this._pairs=[],e&&mf(e,this,t)}const Ox=lg.prototype;Ox.append=function(t,n){this._pairs.push([t,n])};Ox.toString=function(t){const n=t?function(a){return t.call(this,a,iw)}:iw;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function QQ(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Rx(e,t,n){if(!t)return e;const a=n&&n.encode||QQ,o=xe.isFunction(n)?{serialize:n}:n,s=o&&o.serialize;let r;if(s?r=s(t,o):r=xe.isURLSearchParams(t)?t.toString():new lg(t,o).toString(a),r){const l=e.indexOf("#");l!==-1&&(e=e.slice(0,l)),e+=(e.indexOf("?")===-1?"?":"&")+r}return e}class uw{constructor(){this.handlers=[]}use(t,n,a){return this.handlers.push({fulfilled:t,rejected:n,synchronous:a?a.synchronous:!1,runWhen:a?a.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){xe.forEach(this.handlers,function(a){a!==null&&t(a)})}}const ig={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},eee=typeof URLSearchParams<"u"?URLSearchParams:lg,tee=typeof FormData<"u"?FormData:null,nee=typeof Blob<"u"?Blob:null,aee={isBrowser:!0,classes:{URLSearchParams:eee,FormData:tee,Blob:nee},protocols:["http","https","file","blob","url","data"]},ug=typeof window<"u"&&typeof document<"u",Hh=typeof navigator=="object"&&navigator||void 0,oee=ug&&(!Hh||["ReactNative","NativeScript","NS"].indexOf(Hh.product)<0),see=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",ree=ug&&window.location.href||"http://localhost",lee=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:ug,hasStandardBrowserEnv:oee,hasStandardBrowserWebWorkerEnv:see,navigator:Hh,origin:ree},Symbol.toStringTag,{value:"Module"})),Qn={...lee,...aee};function iee(e,t){return mf(e,new Qn.classes.URLSearchParams,{visitor:function(n,a,o,s){return Qn.isNode&&xe.isBuffer(n)?(this.append(a,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...t})}function uee(e){return xe.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function cee(e){const t={},n=Object.keys(e);let a;const o=n.length;let s;for(a=0;a=n.length;return r=!r&&xe.isArray(o)?o.length:r,u?(xe.hasOwnProp(o,r)?o[r]=[o[r],a]:o[r]=a,!l):((!o[r]||!xe.isObject(o[r]))&&(o[r]=[]),t(n,a,o[r],s)&&xe.isArray(o[r])&&(o[r]=cee(o[r])),!l)}if(xe.isFormData(e)&&xe.isFunction(e.entries)){const n={};return xe.forEachEntry(e,(a,o)=>{t(uee(a),o,n,0)}),n}return null}function dee(e,t,n){if(xe.isString(e))try{return(t||JSON.parse)(e),xe.trim(e)}catch(a){if(a.name!=="SyntaxError")throw a}return(n||JSON.stringify)(e)}const Tu={transitional:ig,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const a=n.getContentType()||"",o=a.indexOf("application/json")>-1,s=xe.isObject(t);if(s&&xe.isHTMLForm(t)&&(t=new FormData(t)),xe.isFormData(t))return o?JSON.stringify(Nx(t)):t;if(xe.isArrayBuffer(t)||xe.isBuffer(t)||xe.isStream(t)||xe.isFile(t)||xe.isBlob(t)||xe.isReadableStream(t))return t;if(xe.isArrayBufferView(t))return t.buffer;if(xe.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(s){if(a.indexOf("application/x-www-form-urlencoded")>-1)return iee(t,this.formSerializer).toString();if((l=xe.isFileList(t))||a.indexOf("multipart/form-data")>-1){const u=this.env&&this.env.FormData;return mf(l?{"files[]":t}:t,u&&new u,this.formSerializer)}}return s||o?(n.setContentType("application/json",!1),dee(t)):t}],transformResponse:[function(t){const n=this.transitional||Tu.transitional,a=n&&n.forcedJSONParsing,o=this.responseType==="json";if(xe.isResponse(t)||xe.isReadableStream(t))return t;if(t&&xe.isString(t)&&(a&&!this.responseType||o)){const r=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t,this.parseReviver)}catch(l){if(r)throw l.name==="SyntaxError"?_t.from(l,_t.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:Qn.classes.FormData,Blob:Qn.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};xe.forEach(["delete","get","head","post","put","patch"],e=>{Tu.headers[e]={}});const fee=xe.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"]),pee=e=>{const t={};let n,a,o;return e&&e.split(` +`).forEach(function(r){o=r.indexOf(":"),n=r.substring(0,o).trim().toLowerCase(),a=r.substring(o+1).trim(),!(!n||t[n]&&fee[n])&&(n==="set-cookie"?t[n]?t[n].push(a):t[n]=[a]:t[n]=t[n]?t[n]+", "+a:a)}),t},cw=Symbol("internals");function Gl(e){return e&&String(e).trim().toLowerCase()}function Ac(e){return e===!1||e==null?e:xe.isArray(e)?e.map(Ac):String(e)}function hee(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let a;for(;a=n.exec(e);)t[a[1]]=a[2];return t}const vee=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function vp(e,t,n,a,o){if(xe.isFunction(a))return a.call(this,t,n);if(o&&(t=n),!!xe.isString(t)){if(xe.isString(a))return t.indexOf(a)!==-1;if(xe.isRegExp(a))return a.test(t)}}function mee(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,a)=>n.toUpperCase()+a)}function gee(e,t){const n=xe.toCamelCase(" "+t);["get","set","has"].forEach(a=>{Object.defineProperty(e,a+n,{value:function(o,s,r){return this[a].call(this,t,o,s,r)},configurable:!0})})}let ya=class{constructor(t){t&&this.set(t)}set(t,n,a){const o=this;function s(l,u,c){const d=Gl(u);if(!d)throw new Error("header name must be a non-empty string");const f=xe.findKey(o,d);(!f||o[f]===void 0||c===!0||c===void 0&&o[f]!==!1)&&(o[f||u]=Ac(l))}const r=(l,u)=>xe.forEach(l,(c,d)=>s(c,d,u));if(xe.isPlainObject(t)||t instanceof this.constructor)r(t,n);else if(xe.isString(t)&&(t=t.trim())&&!vee(t))r(pee(t),n);else if(xe.isObject(t)&&xe.isIterable(t)){let l={},u,c;for(const d of t){if(!xe.isArray(d))throw TypeError("Object iterator must return a key-value pair");l[c=d[0]]=(u=l[c])?xe.isArray(u)?[...u,d[1]]:[u,d[1]]:d[1]}r(l,n)}else t!=null&&s(n,t,a);return this}get(t,n){if(t=Gl(t),t){const a=xe.findKey(this,t);if(a){const o=this[a];if(!n)return o;if(n===!0)return hee(o);if(xe.isFunction(n))return n.call(this,o,a);if(xe.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Gl(t),t){const a=xe.findKey(this,t);return!!(a&&this[a]!==void 0&&(!n||vp(this,this[a],a,n)))}return!1}delete(t,n){const a=this;let o=!1;function s(r){if(r=Gl(r),r){const l=xe.findKey(a,r);l&&(!n||vp(a,a[l],l,n))&&(delete a[l],o=!0)}}return xe.isArray(t)?t.forEach(s):s(t),o}clear(t){const n=Object.keys(this);let a=n.length,o=!1;for(;a--;){const s=n[a];(!t||vp(this,this[s],s,t,!0))&&(delete this[s],o=!0)}return o}normalize(t){const n=this,a={};return xe.forEach(this,(o,s)=>{const r=xe.findKey(a,s);if(r){n[r]=Ac(o),delete n[s];return}const l=t?mee(s):String(s).trim();l!==s&&delete n[s],n[l]=Ac(o),a[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return xe.forEach(this,(a,o)=>{a!=null&&a!==!1&&(n[o]=t&&xe.isArray(a)?a.join(", "):a)}),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 a=new this(t);return n.forEach(o=>a.set(o)),a}static accessor(t){const a=(this[cw]=this[cw]={accessors:{}}).accessors,o=this.prototype;function s(r){const l=Gl(r);a[l]||(gee(o,r),a[l]=!0)}return xe.isArray(t)?t.forEach(s):s(t),this}};ya.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);xe.reduceDescriptors(ya.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(a){this[n]=a}}});xe.freezeMethods(ya);function mp(e,t){const n=this||Tu,a=t||n,o=ya.from(a.headers);let s=a.data;return xe.forEach(e,function(l){s=l.call(n,s,o.normalize(),t?t.status:void 0)}),o.normalize(),s}function Ix(e){return!!(e&&e.__CANCEL__)}let $u=class extends _t{constructor(t,n,a){super(t??"canceled",_t.ERR_CANCELED,n,a),this.name="CanceledError",this.__CANCEL__=!0}};function Px(e,t,n){const a=n.config.validateStatus;!n.status||!a||a(n.status)?e(n):t(new _t("Request failed with status code "+n.status,[_t.ERR_BAD_REQUEST,_t.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function bee(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function yee(e,t){e=e||10;const n=new Array(e),a=new Array(e);let o=0,s=0,r;return t=t!==void 0?t:1e3,function(u){const c=Date.now(),d=a[s];r||(r=c),n[o]=u,a[o]=c;let f=s,v=0;for(;f!==o;)v+=n[f++],f=f%e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),c-r{n=d,o=null,s&&(clearTimeout(s),s=null),e(...c)};return[(...c)=>{const d=Date.now(),f=d-n;f>=a?r(c,d):(o=c,s||(s=setTimeout(()=>{s=null,r(o)},a-f)))},()=>o&&r(o)]}const Sd=(e,t,n=3)=>{let a=0;const o=yee(50,250);return wee(s=>{const r=s.loaded,l=s.lengthComputable?s.total:void 0,u=r-a,c=o(u),d=r<=l;a=r;const f={loaded:r,total:l,progress:l?r/l:void 0,bytes:u,rate:c||void 0,estimated:c&&l&&d?(l-r)/c:void 0,event:s,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(f)},n)},dw=(e,t)=>{const n=e!=null;return[a=>t[0]({lengthComputable:n,total:e,loaded:a}),t[1]]},fw=e=>(...t)=>xe.asap(()=>e(...t)),See=Qn.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Qn.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Qn.origin),Qn.navigator&&/(msie|trident)/i.test(Qn.navigator.userAgent)):()=>!0,Cee=Qn.hasStandardBrowserEnv?{write(e,t,n,a,o,s,r){if(typeof document>"u")return;const l=[`${e}=${encodeURIComponent(t)}`];xe.isNumber(n)&&l.push(`expires=${new Date(n).toUTCString()}`),xe.isString(a)&&l.push(`path=${a}`),xe.isString(o)&&l.push(`domain=${o}`),s===!0&&l.push("secure"),xe.isString(r)&&l.push(`SameSite=${r}`),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 kee(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Eee(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Mx(e,t,n){let a=!kee(t);return e&&(a||n==!1)?Eee(e,t):t}const pw=e=>e instanceof ya?{...e}:e;function $r(e,t){t=t||{};const n={};function a(c,d,f,v){return xe.isPlainObject(c)&&xe.isPlainObject(d)?xe.merge.call({caseless:v},c,d):xe.isPlainObject(d)?xe.merge({},d):xe.isArray(d)?d.slice():d}function o(c,d,f,v){if(xe.isUndefined(d)){if(!xe.isUndefined(c))return a(void 0,c,f,v)}else return a(c,d,f,v)}function s(c,d){if(!xe.isUndefined(d))return a(void 0,d)}function r(c,d){if(xe.isUndefined(d)){if(!xe.isUndefined(c))return a(void 0,c)}else return a(void 0,d)}function l(c,d,f){if(f in t)return a(c,d);if(f in e)return a(void 0,c)}const u={url:s,method:s,data:s,baseURL:r,transformRequest:r,transformResponse:r,paramsSerializer:r,timeout:r,timeoutMessage:r,withCredentials:r,withXSRFToken:r,adapter:r,responseType:r,xsrfCookieName:r,xsrfHeaderName:r,onUploadProgress:r,onDownloadProgress:r,decompress:r,maxContentLength:r,maxBodyLength:r,beforeRedirect:r,transport:r,httpAgent:r,httpsAgent:r,cancelToken:r,socketPath:r,responseEncoding:r,validateStatus:l,headers:(c,d,f)=>o(pw(c),pw(d),f,!0)};return xe.forEach(Object.keys({...e,...t}),function(d){if(d==="__proto__"||d==="constructor"||d==="prototype")return;const f=xe.hasOwnProp(u,d)?u[d]:o,v=f(e[d],t[d],d);xe.isUndefined(v)&&f!==l||(n[d]=v)}),n}const _x=e=>{const t=$r({},e);let{data:n,withXSRFToken:a,xsrfHeaderName:o,xsrfCookieName:s,headers:r,auth:l}=t;if(t.headers=r=ya.from(r),t.url=Rx(Mx(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),l&&r.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):""))),xe.isFormData(n)){if(Qn.hasStandardBrowserEnv||Qn.hasStandardBrowserWebWorkerEnv)r.setContentType(void 0);else if(xe.isFunction(n.getHeaders)){const u=n.getHeaders(),c=["content-type","content-length"];Object.entries(u).forEach(([d,f])=>{c.includes(d.toLowerCase())&&r.set(d,f)})}}if(Qn.hasStandardBrowserEnv&&(a&&xe.isFunction(a)&&(a=a(t)),a||a!==!1&&See(t.url))){const u=o&&s&&Cee.read(s);u&&r.set(o,u)}return t},xee=typeof XMLHttpRequest<"u",Tee=xee&&function(e){return new Promise(function(n,a){const o=_x(e);let s=o.data;const r=ya.from(o.headers).normalize();let{responseType:l,onUploadProgress:u,onDownloadProgress:c}=o,d,f,v,g,p;function h(){g&&g(),p&&p(),o.cancelToken&&o.cancelToken.unsubscribe(d),o.signal&&o.signal.removeEventListener("abort",d)}let m=new XMLHttpRequest;m.open(o.method.toUpperCase(),o.url,!0),m.timeout=o.timeout;function b(){if(!m)return;const y=ya.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),C={data:!l||l==="text"||l==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:y,config:e,request:m};Px(function($){n($),h()},function($){a($),h()},C),m=null}"onloadend"in m?m.onloadend=b:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)||setTimeout(b)},m.onabort=function(){m&&(a(new _t("Request aborted",_t.ECONNABORTED,e,m)),m=null)},m.onerror=function(S){const C=S&&S.message?S.message:"Network Error",E=new _t(C,_t.ERR_NETWORK,e,m);E.event=S||null,a(E),m=null},m.ontimeout=function(){let S=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const C=o.transitional||ig;o.timeoutErrorMessage&&(S=o.timeoutErrorMessage),a(new _t(S,C.clarifyTimeoutError?_t.ETIMEDOUT:_t.ECONNABORTED,e,m)),m=null},s===void 0&&r.setContentType(null),"setRequestHeader"in m&&xe.forEach(r.toJSON(),function(S,C){m.setRequestHeader(C,S)}),xe.isUndefined(o.withCredentials)||(m.withCredentials=!!o.withCredentials),l&&l!=="json"&&(m.responseType=o.responseType),c&&([v,p]=Sd(c,!0),m.addEventListener("progress",v)),u&&m.upload&&([f,g]=Sd(u),m.upload.addEventListener("progress",f),m.upload.addEventListener("loadend",g)),(o.cancelToken||o.signal)&&(d=y=>{m&&(a(!y||y.type?new $u(null,e,m):y),m.abort(),m=null)},o.cancelToken&&o.cancelToken.subscribe(d),o.signal&&(o.signal.aborted?d():o.signal.addEventListener("abort",d)));const k=bee(o.url);if(k&&Qn.protocols.indexOf(k)===-1){a(new _t("Unsupported protocol "+k+":",_t.ERR_BAD_REQUEST,e));return}m.send(s||null)})},$ee=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let a=new AbortController,o;const s=function(c){if(!o){o=!0,l();const d=c instanceof Error?c:this.reason;a.abort(d instanceof _t?d:new $u(d instanceof Error?d.message:d))}};let r=t&&setTimeout(()=>{r=null,s(new _t(`timeout of ${t}ms exceeded`,_t.ETIMEDOUT))},t);const l=()=>{e&&(r&&clearTimeout(r),r=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(s):c.removeEventListener("abort",s)}),e=null)};e.forEach(c=>c.addEventListener("abort",s));const{signal:u}=a;return u.unsubscribe=()=>xe.asap(l),u}},Oee=function*(e,t){let n=e.byteLength;if(n{const o=Ree(e,t);let s=0,r,l=u=>{r||(r=!0,a&&a(u))};return new ReadableStream({async pull(u){try{const{done:c,value:d}=await o.next();if(c){l(),u.close();return}let f=d.byteLength;if(n){let v=s+=f;n(v)}u.enqueue(new Uint8Array(d))}catch(c){throw l(c),c}},cancel(u){return l(u),o.return()}},{highWaterMark:2})},vw=64*1024,{isFunction:nc}=xe,Iee=(({Request:e,Response:t})=>({Request:e,Response:t}))(xe.global),{ReadableStream:mw,TextEncoder:gw}=xe.global,bw=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Pee=e=>{e=xe.merge.call({skipUndefined:!0},Iee,e);const{fetch:t,Request:n,Response:a}=e,o=t?nc(t):typeof fetch=="function",s=nc(n),r=nc(a);if(!o)return!1;const l=o&&nc(mw),u=o&&(typeof gw=="function"?(p=>h=>p.encode(h))(new gw):async p=>new Uint8Array(await new n(p).arrayBuffer())),c=s&&l&&bw(()=>{let p=!1;const h=new n(Qn.origin,{body:new mw,method:"POST",get duplex(){return p=!0,"half"}}).headers.has("Content-Type");return p&&!h}),d=r&&l&&bw(()=>xe.isReadableStream(new a("").body)),f={stream:d&&(p=>p.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(p=>{!f[p]&&(f[p]=(h,m)=>{let b=h&&h[p];if(b)return b.call(h);throw new _t(`Response type '${p}' is not supported`,_t.ERR_NOT_SUPPORT,m)})});const v=async p=>{if(p==null)return 0;if(xe.isBlob(p))return p.size;if(xe.isSpecCompliantForm(p))return(await new n(Qn.origin,{method:"POST",body:p}).arrayBuffer()).byteLength;if(xe.isArrayBufferView(p)||xe.isArrayBuffer(p))return p.byteLength;if(xe.isURLSearchParams(p)&&(p=p+""),xe.isString(p))return(await u(p)).byteLength},g=async(p,h)=>{const m=xe.toFiniteNumber(p.getContentLength());return m??v(h)};return async p=>{let{url:h,method:m,data:b,signal:k,cancelToken:y,timeout:S,onDownloadProgress:C,onUploadProgress:E,responseType:$,headers:O,withCredentials:N="same-origin",fetchOptions:R}=_x(p),A=t||fetch;$=$?($+"").toLowerCase():"text";let _=$ee([k,y&&y.toAbortSignal()],S),V=null;const H=_&&_.unsubscribe&&(()=>{_.unsubscribe()});let U;try{if(E&&c&&m!=="get"&&m!=="head"&&(U=await g(O,b))!==0){let F=new n(h,{method:"POST",body:b,duplex:"half"}),q;if(xe.isFormData(b)&&(q=F.headers.get("content-type"))&&O.setContentType(q),F.body){const[j,X]=dw(U,Sd(fw(E)));b=hw(F.body,vw,j,X)}}xe.isString(N)||(N=N?"include":"omit");const W=s&&"credentials"in n.prototype,P={...R,signal:_,method:m.toUpperCase(),headers:O.normalize().toJSON(),body:b,duplex:"half",credentials:W?N:void 0};V=s&&new n(h,P);let I=await(s?A(V,R):A(h,P));const L=d&&($==="stream"||$==="response");if(d&&(C||L&&H)){const F={};["status","statusText","headers"].forEach(Q=>{F[Q]=I[Q]});const q=xe.toFiniteNumber(I.headers.get("content-length")),[j,X]=C&&dw(q,Sd(fw(C),!0))||[];I=new a(hw(I.body,vw,j,()=>{X&&X(),H&&H()}),F)}$=$||"text";let D=await f[xe.findKey(f,$)||"text"](I,p);return!L&&H&&H(),await new Promise((F,q)=>{Px(F,q,{data:D,headers:ya.from(I.headers),status:I.status,statusText:I.statusText,config:p,request:V})})}catch(W){throw H&&H(),W&&W.name==="TypeError"&&/Load failed|fetch/i.test(W.message)?Object.assign(new _t("Network Error",_t.ERR_NETWORK,p,V,W&&W.response),{cause:W.cause||W}):_t.from(W,W&&W.code,p,V,W&&W.response)}}},Mee=new Map,Ax=e=>{let t=e&&e.env||{};const{fetch:n,Request:a,Response:o}=t,s=[a,o,n];let r=s.length,l=r,u,c,d=Mee;for(;l--;)u=s[l],c=d.get(u),c===void 0&&d.set(u,c=l?new Map:Pee(t)),d=c;return c};Ax();const cg={http:XQ,xhr:Tee,fetch:{get:Ax}};xe.forEach(cg,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const yw=e=>`- ${e}`,_ee=e=>xe.isFunction(e)||e===null||e===!1;function Aee(e,t){e=xe.isArray(e)?e:[e];const{length:n}=e;let a,o;const s={};for(let r=0;r`adapter ${u} `+(c===!1?"is not supported by the environment":"is not available in the build"));let l=n?r.length>1?`since : +`+r.map(yw).join(` +`):" "+yw(r[0]):"as no adapter specified";throw new _t("There is no suitable adapter to dispatch the request "+l,"ERR_NOT_SUPPORT")}return o}const Lx={getAdapter:Aee,adapters:cg};function gp(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new $u(null,e)}function ww(e){return gp(e),e.headers=ya.from(e.headers),e.data=mp.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Lx.getAdapter(e.adapter||Tu.adapter,e)(e).then(function(a){return gp(e),a.data=mp.call(e,e.transformResponse,a),a.headers=ya.from(a.headers),a},function(a){return Ix(a)||(gp(e),a&&a.response&&(a.response.data=mp.call(e,e.transformResponse,a.response),a.response.headers=ya.from(a.response.headers))),Promise.reject(a)})}const Dx="1.13.6",gf={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{gf[e]=function(a){return typeof a===e||"a"+(t<1?"n ":" ")+e}});const Sw={};gf.transitional=function(t,n,a){function o(s,r){return"[Axios v"+Dx+"] Transitional option '"+s+"'"+r+(a?". "+a:"")}return(s,r,l)=>{if(t===!1)throw new _t(o(r," has been removed"+(n?" in "+n:"")),_t.ERR_DEPRECATED);return n&&!Sw[r]&&(Sw[r]=!0,console.warn(o(r," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(s,r,l):!0}};gf.spelling=function(t){return(n,a)=>(console.warn(`${a} is likely a misspelling of ${t}`),!0)};function Lee(e,t,n){if(typeof e!="object")throw new _t("options must be an object",_t.ERR_BAD_OPTION_VALUE);const a=Object.keys(e);let o=a.length;for(;o-- >0;){const s=a[o],r=t[s];if(r){const l=e[s],u=l===void 0||r(l,s,e);if(u!==!0)throw new _t("option "+s+" must be "+u,_t.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new _t("Unknown option "+s,_t.ERR_BAD_OPTION)}}const Lc={assertOptions:Lee,validators:gf},_a=Lc.validators;let vr=class{constructor(t){this.defaults=t||{},this.interceptors={request:new uw,response:new uw}}async request(t,n){try{return await this._request(t,n)}catch(a){if(a instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;const s=o.stack?o.stack.replace(/^.+\n/,""):"";try{a.stack?s&&!String(a.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(a.stack+=` +`+s):a.stack=s}catch{}}throw a}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=$r(this.defaults,n);const{transitional:a,paramsSerializer:o,headers:s}=n;a!==void 0&&Lc.assertOptions(a,{silentJSONParsing:_a.transitional(_a.boolean),forcedJSONParsing:_a.transitional(_a.boolean),clarifyTimeoutError:_a.transitional(_a.boolean),legacyInterceptorReqResOrdering:_a.transitional(_a.boolean)},!1),o!=null&&(xe.isFunction(o)?n.paramsSerializer={serialize:o}:Lc.assertOptions(o,{encode:_a.function,serialize:_a.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Lc.assertOptions(n,{baseUrl:_a.spelling("baseURL"),withXsrfToken:_a.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let r=s&&xe.merge(s.common,s[n.method]);s&&xe.forEach(["delete","get","head","post","put","patch","common"],p=>{delete s[p]}),n.headers=ya.concat(r,s);const l=[];let u=!0;this.interceptors.request.forEach(function(h){if(typeof h.runWhen=="function"&&h.runWhen(n)===!1)return;u=u&&h.synchronous;const m=n.transitional||ig;m&&m.legacyInterceptorReqResOrdering?l.unshift(h.fulfilled,h.rejected):l.push(h.fulfilled,h.rejected)});const c=[];this.interceptors.response.forEach(function(h){c.push(h.fulfilled,h.rejected)});let d,f=0,v;if(!u){const p=[ww.bind(this),void 0];for(p.unshift(...l),p.push(...c),v=p.length,d=Promise.resolve(n);f{if(!a._listeners)return;let s=a._listeners.length;for(;s-- >0;)a._listeners[s](o);a._listeners=null}),this.promise.then=o=>{let s;const r=new Promise(l=>{a.subscribe(l),s=l}).then(o);return r.cancel=function(){a.unsubscribe(s)},r},t(function(s,r,l){a.reason||(a.reason=new $u(s,r,l),n(a.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=a=>{t.abort(a)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Bx(function(o){t=o}),cancel:t}}};function Bee(e){return function(n){return e.apply(null,n)}}function Fee(e){return xe.isObject(e)&&e.isAxiosError===!0}const Kh={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(Kh).forEach(([e,t])=>{Kh[t]=e});function Fx(e){const t=new vr(e),n=bx(vr.prototype.request,t);return xe.extend(n,vr.prototype,t,{allOwnKeys:!0}),xe.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return Fx($r(e,o))},n}const On=Fx(Tu);On.Axios=vr;On.CanceledError=$u;On.CancelToken=Dee;On.isCancel=Ix;On.VERSION=Dx;On.toFormData=mf;On.AxiosError=_t;On.Cancel=On.CanceledError;On.all=function(t){return Promise.all(t)};On.spread=Bee;On.isAxiosError=Fee;On.mergeConfig=$r;On.AxiosHeaders=ya;On.formToJSON=e=>Nx(xe.isHTMLForm(e)?new FormData(e):e);On.getAdapter=Lx.getAdapter;On.HttpStatusCode=Kh;On.default=On;const{Axios:vte,AxiosError:Vee,CanceledError:mte,isCancel:gte,CancelToken:bte,VERSION:yte,all:wte,Cancel:Ste,isAxiosError:Cte,spread:kte,toFormData:Ete,AxiosHeaders:xte,HttpStatusCode:Tte,formToJSON:$te,getAdapter:Ote,mergeConfig:Rte}=On;function zee(e){if(e instanceof Vee){const t=e.response?.data;if(t&&typeof t=="object"){if("error"in t&&t.error)return String(t.error);if("message"in t&&t.message)return String(t.message)}return typeof t=="string"&&t.trim()?t:e.message||"请求失败"}return e instanceof Error?e.message:"请求失败"}function Hee(){const e=On.create({withCredentials:!0,timeout:3e4,headers:{"X-Requested-With":"XMLHttpRequest"}});return e.interceptors.request.use(t=>t),e.interceptors.response.use(t=>t,t=>Promise.reject(new Error(zee(t)))),e}const Kee=Hee();async function bf(e){return(await Kee.request(e)).data}function Qt(e,t){return bf({url:e,method:"GET",...t})}function Zt(e,t,n){return bf({url:e,method:"POST",data:t,...n})}function dg(e,t,n){return bf({url:e,method:"PUT",data:t,...n})}function dn(e,t){return bf({url:e,method:"DELETE",...t})}const Wee=Qt,Nte=Zt;async function Je(e){const t=await e;if(!t.success)throw new Error(t.message||"请求失败");return t.data}function jee(){const e=typeof window>"u"?"":window.localStorage.getItem("uid")||"",t=Number(e);if(!Number.isFinite(t)||t<=0)throw new Error("未获取到用户ID");return t}function Uee(e){return`app_column_permissions:${String(e)}`}async function qee(){const e=jee(),t=Uee(e);try{const a=JSON.parse(window.localStorage.getItem(t)||"null");if(Array.isArray(a))return a.map(o=>String(o.column_key||"").trim().toLowerCase()).filter(Boolean)}catch{}const n=await Wee(`/api/admin/user/${encodeURIComponent(String(e))}/column-permissions`,{params:{menu_type:"app"}});if(!n.success)throw new Error(n.error||"获取菜单权限失败");try{window.localStorage.setItem(t,JSON.stringify(n.items||[]))}catch{}return(n.items||[]).map(a=>String(a.column_key||"").trim().toLowerCase()).filter(Boolean)}const Yee={class:"top-bar"},Gee={class:"nav-sections","aria-label":"顶部功能导航"},Xee={class:"nav-section-title"},Jee={class:"nav-section-items"},Zee=["href"],Qee={class:"top-right"},ete=se({__name:"BrandTopBar",props:{active:{}},setup(e){const n=e.active,a=M(null),o=[{columnKey:"brand_front_tools",label:"前端工具",items:[{key:"collect",label:"采集数据"},{key:"variant",label:"变体分析"},{key:"brand",label:"品牌检测",href:"/brand"},{key:"appearance-patent",label:"外观专利检测",href:"/new_web_source/appearance-patent.html"},{key:"similar-asin",label:"货源查询",href:"/new_web_source/similar-asin.html"},{key:"dedupe",label:"数据去重",href:"/new_web_source/dedupe.html"},{key:"split",label:"数据拆分",href:"/new_web_source/split.html"},{key:"convert",label:"格式转换",href:"/new_web_source/convert.html"}]},{columnKey:"brand_operation_tools",label:"运营工具",items:[{key:"delete-brand",label:"删除ASIN",href:"/new_web_source/delete-brand.html"},{key:"product-risk",label:"商品风险解决",href:"/new_web_source/product-risk.html"},{key:"shop-match",label:"定时匹配",href:"/new_web_source/shop-match.html"},{key:"pricing",label:"跟价",href:"/new_web_source/price-track.html"},{key:"patrol-delete",label:"巡店删除",href:"/new_web_source/patrol-delete.html"},{key:"query-asin",label:"查询ASIN",href:"/new_web_source/query-asin.html"},{key:"withdraw",label:"取款"},{key:"shop-status",label:"店铺状态查询"}]},{columnKey:"brand_logistics_tools",label:"后勤工具",items:[{key:"purchase",label:"采购"},{key:"erp",label:"ERP"}]}],s=w(()=>{if(a.value===null)return o;const r=new Set(a.value);return o.filter(l=>r.has(l.columnKey))});return ht(async()=>{try{a.value=await qee()}catch{a.value=null}}),(r,l)=>(x(),B("header",Yee,[l[0]||(l[0]=z("div",{class:"logo-area"},[z("span",{class:"app-name"},"数富AI-亚马逊"),z("a",{href:"/home",class:"btn-home"},"返回首页")],-1)),z("nav",Gee,[(x(!0),B(Fe,null,gt(s.value,u=>(x(),B("section",{key:u.columnKey,class:"nav-section"},[z("div",Xee,Se(u.label),1),z("div",Jee,[(x(!0),B(Fe,null,gt(u.items,c=>(x(),B(Fe,{key:c.key},[c.href?(x(),B("a",{key:0,href:c.href,class:T(["nav-item",{active:i(n)===c.key}])},Se(c.label),11,Zee)):(x(),B("span",{key:1,class:T(["nav-item disabled",{active:i(n)===c.key}])},Se(c.label),3))],64))),128))])]))),128))]),z("div",Qee,[Y(lQ)])]))}}),Ite=gx(ete,[["__scopeId","data-v-0b1391c2"]]),tte=1e4,nte=6e4,ate=5e3,ote=3e4;function Pte(){return typeof document<"u"&&document.visibilityState!=="visible"?nte:tte}function ste(){return typeof document<"u"&&document.hidden?ote:ate}const qe="/newApi/api",Cw=new Map,bp=new Map;function et(){const e=typeof window>"u"?"":window.localStorage.getItem("uid")||"",t=Number(e);if(!Number.isFinite(t)||t<=0)throw new Error("未获取到用户ID");return t}function rte(e){return Array.from(new Set((e||[]).map(t=>Number(t)).filter(t=>Number.isFinite(t)&&t>0))).sort((t,n)=>t-n)}function lte(e,t){return`${e}::${t.join(",")}`}async function Ws(e,t,n={}){const a=rte(t);if(!a.length)return{items:[],missingTaskIds:[]};const o=lte(e,a),s=Date.now(),r=Cw.get(o);if(!n.force&&r&&r.expiresAt>s)return r.data;const l=bp.get(o);if(!n.force&&l)return await l;const u=Je(Zt(e,{taskIds:a})).then(c=>(Cw.set(o,{data:c,expiresAt:Date.now()+ste()}),c)).finally(()=>{bp.delete(o)});return bp.set(o,u),u}function Mte(e){return Je(Qt(`${qe}/files/excel-info`,{params:{fileKey:e}}))}function _te(e){return Je(Zt(`${qe}/dedupe/run`,{...e,user_id:et()}))}function Ate(){return Je(Qt(`${qe}/dedupe/history`,{params:{user_id:et()}}))}function Lte(e){return Je(dn(`${qe}/dedupe/history/${e}`,{params:{user_id:et()}}))}function Dte(e){return Ka(`/dedupe/results/${e}/download`)}function Bte(e){return Je(Zt(`${qe}/split/run`,{...e,user_id:et()}))}function Fte(){return Je(Qt(`${qe}/split/history`,{params:{user_id:et()}}))}function Vte(e){return Je(dn(`${qe}/split/history/${e}`,{params:{user_id:et()}}))}function zte(e){return Ka(`/split/results/${e}/download`)}function Hte(){return Je(Qt(`${qe}/convert/templates`))}function Kte(e){return Je(Zt(`${qe}/convert/run`,{...e,user_id:et()}))}function Wte(){return Je(Qt(`${qe}/convert/history`,{params:{user_id:et()}}))}function jte(e){return Je(dn(`${qe}/convert/history/${e}`,{params:{user_id:et()}}))}function Ute(e){return Ka(`/convert/results/${e}/download`)}function qte(e){return Je(Zt(`${qe}/delete-brand/run`,{...e,user_id:et()},{timeout:18e4}))}function Yte(){return Je(Qt(`${qe}/delete-brand/history`,{params:{user_id:et()}}))}function Gte(e){return Je(dn(`${qe}/delete-brand/history/${e}`,{params:{user_id:et()}}))}function Xte(e){return Ka(`/delete-brand/tasks/${e}/download`)}function Jte(e){return Ka(`/delete-brand/results/${e}/download`)}function Zte(){return Je(Qt(`${qe}/product-risk-resolve/candidates`,{params:{user_id:et()}}))}function Qte(e){return Je(Zt(`${qe}/product-risk-resolve/candidates`,{user_id:et(),shop_name:e}))}function ene(e){return Je(dn(`${qe}/product-risk-resolve/candidates/${e}`,{params:{user_id:et()}}))}function tne(){return Je(Qt(`${qe}/product-risk-resolve/country-preference`,{params:{user_id:et()}}))}function nne(e){return Je(dg(`${qe}/product-risk-resolve/country-preference`,{user_id:et(),country_codes:e}))}function ane(e){return Je(Zt(`${qe}/product-risk-resolve/match-shops`,{user_id:et(),shop_names:e}))}function one(){return Je(Qt(`${qe}/product-risk-resolve/dashboard`,{params:{user_id:et()}}))}function sne(){return Je(Qt(`${qe}/product-risk-resolve/history`,{params:{user_id:et()}}))}function rne(e){return Je(dn(`${qe}/product-risk-resolve/history/${e}`,{params:{user_id:et()}}))}function lne(e){return Je(Zt(`${qe}/product-risk-resolve/tasks`,{user_id:et(),items:e}))}function ine(e){return Je(dn(`${qe}/product-risk-resolve/tasks/${e}`,{params:{user_id:et()}}))}function une(e){return Je(dn(`${qe}/product-risk-resolve/pending-shop-result`,{params:{user_id:et(),shop_name:e}}))}function cne(e){return Ka(`/product-risk-resolve/results/${e}/download`)}function dne(){return Je(Qt(`${qe}/shop-match/candidates`,{params:{user_id:et()}}))}function fne(e){return Je(Zt(`${qe}/shop-match/candidates`,{user_id:et(),shop_name:e}))}function pne(e){return Je(dn(`${qe}/shop-match/candidates/${e}`,{params:{user_id:et()}}))}function hne(){return Je(Qt(`${qe}/shop-match/country-preference`,{params:{user_id:et()}}))}function vne(e){return Je(dg(`${qe}/shop-match/country-preference`,{user_id:et(),country_codes:e}))}function mne(e){return Je(Zt(`${qe}/shop-match/match-shops`,{user_id:et(),shop_names:e}))}function gne(){return Je(Qt(`${qe}/shop-match/dashboard`,{params:{user_id:et()}}))}function bne(){return Je(Qt(`${qe}/shop-match/history`,{params:{user_id:et()}}))}function yne(e){return Je(dn(`${qe}/shop-match/history/${e}`,{params:{user_id:et()}}))}function wne(e,t,n){return Je(Zt(`${qe}/shop-match/tasks`,{user_id:et(),items:e,country_codes:t,schedule_times:n}))}function Sne(e){return Je(dn(`${qe}/shop-match/tasks/${e}`,{params:{user_id:et()}}))}function Cne(e,t){return Je(Zt(`${qe}/shop-match/tasks/${e}/activate?user_id=${encodeURIComponent(String(et()))}&stage_index=${encodeURIComponent(String(t))}`,void 0))}function kne(e){return Ka(`/shop-match/results/${e}/download`)}function Ene(){return Je(Qt(`${qe}/patrol-delete/candidates`,{params:{user_id:et()}}))}function xne(e){return Je(Zt(`${qe}/patrol-delete/candidates`,{user_id:et(),shop_name:e}))}function Tne(e){return Je(dn(`${qe}/patrol-delete/candidates/${e}`,{params:{user_id:et()}}))}function $ne(){return Je(Qt(`${qe}/patrol-delete/conditions`,{params:{user_id:et()}}))}function One(e){return Je(Zt(`${qe}/patrol-delete/conditions`,{user_id:et(),condition_text:e}))}function Rne(e){return Je(dn(`${qe}/patrol-delete/conditions/${e}`,{params:{user_id:et()}}))}function Nne(e){return Je(Zt(`${qe}/patrol-delete/match-shops`,{user_id:et(),shop_names:e}))}function Ine(){return Je(Qt(`${qe}/patrol-delete/dashboard`,{params:{user_id:et()}}))}function Pne(){return Je(Qt(`${qe}/patrol-delete/history`,{params:{user_id:et()}}))}function Mne(e){return Ws(`${qe}/patrol-delete/tasks/progress/batch`,e)}function _ne(e){return Je(Zt(`${qe}/patrol-delete/tasks`,{user_id:et(),items:e}))}function Ane(e,t){return Je(Zt(`${qe}/patrol-delete/tasks/${e}/result`,t))}function Lne(e){return Ka(`/patrol-delete/results/${e}/download`)}function Dne(e){return Je(dn(`${qe}/patrol-delete/tasks/${e}`,{params:{user_id:et()}}))}function Bne(e){return Je(dn(`${qe}/patrol-delete/history/${e}`,{params:{user_id:et()}}))}function Fne(){return Je(Qt(`${qe}/query-asin/candidates`,{params:{user_id:et()}}))}function Vne(e){return Je(Zt(`${qe}/query-asin/candidates`,{user_id:et(),shop_name:e}))}function zne(e){return Je(dn(`${qe}/query-asin/candidates/${e}`,{params:{user_id:et()}}))}function Hne(e){return Je(Zt(`${qe}/query-asin/match-shops`,{user_id:et(),shop_names:e}))}function Kne(){return Je(Qt(`${qe}/query-asin/dashboard`,{params:{user_id:et()}}))}function Wne(){return Je(Qt(`${qe}/query-asin/history`,{params:{user_id:et()}}))}function jne(e){return Ws(`${qe}/query-asin/tasks/progress/batch`,e)}function Une(e){return Je(Zt(`${qe}/query-asin/tasks`,{user_id:et(),items:e}))}function qne(e,t){return Je(Zt(`${qe}/query-asin/tasks/${e}/result`,t))}function Yne(e){return Ka(`/query-asin/results/${e}/download`)}function Gne(e){return Je(dn(`${qe}/query-asin/tasks/${e}`,{params:{user_id:et()}}))}function Xne(e){return Je(dn(`${qe}/query-asin/history/${e}`,{params:{user_id:et()}}))}function Jne(e,t,n){return Je(Zt(`${qe}/appearance-patent/parse`,{user_id:et(),files:e,ai_prompt:t,api_key:n}))}function Zne(e){return Je(Qt(`${qe}/appearance-patent/tasks/${e}/parsed-payload`,{params:{user_id:et()}}))}function Qne(){return Je(Qt(`${qe}/appearance-patent/dashboard`,{params:{user_id:et()}}))}function eae(){return Je(Qt(`${qe}/appearance-patent/history`,{params:{user_id:et(),limit:50}}))}function tae(e,t={}){return Ws(`${qe}/appearance-patent/tasks/progress/batch`,e,t)}function nae(e){return Je(Zt(`${qe}/appearance-patent/tasks/${e}/activate?user_id=${encodeURIComponent(String(et()))}`,void 0))}function aae(e){return Je(dn(`${qe}/appearance-patent/tasks/${e}`,{params:{user_id:et()}}))}function oae(e){return Je(dn(`${qe}/appearance-patent/history/${e}`,{params:{user_id:et()}}))}function sae(e){return Ka(`/appearance-patent/results/${e}/download`)}function rae(e,t,n){return Je(Zt(`${qe}/similar-asin/parse`,{user_id:et(),files:e,ai_prompt:t,api_key:n}))}function lae(){return Je(Qt(`${qe}/similar-asin/filter-conditions`,{params:{user_id:et()}}))}function iae(e){return Je(Zt(`${qe}/similar-asin/filter-conditions`,{user_id:et(),condition_text:e}))}function uae(e){return Je(dn(`${qe}/similar-asin/filter-conditions/${e}`,{params:{user_id:et()}}))}function cae(){return Je(Qt(`${qe}/similar-asin/dashboard`,{params:{user_id:et()}}))}function dae(){return Je(Qt(`${qe}/similar-asin/history`,{params:{user_id:et(),limit:50}}))}function fae(e,t={}){return Ws(`${qe}/similar-asin/tasks/progress/batch`,e,t)}function pae(e){return Je(Zt(`${qe}/similar-asin/tasks/${e}/activate?user_id=${encodeURIComponent(String(et()))}`,void 0))}function hae(e){return Je(dn(`${qe}/similar-asin/tasks/${e}`,{params:{user_id:et()}}))}function vae(e){return Je(dn(`${qe}/similar-asin/history/${e}`,{params:{user_id:et()}}))}function mae(e){return Ka(`/similar-asin/results/${e}/download`)}function gae(){return Je(Qt(`${qe}/price-track/candidates?user_id=${encodeURIComponent(String(et()))}`))}function bae(e){return Je(Zt(`${qe}/price-track/candidates`,{userId:et(),shopName:e}))}function yae(e){return Je(dn(`${qe}/price-track/candidates/${e}?user_id=${encodeURIComponent(String(et()))}`))}function wae(){return Je(Qt(`${qe}/price-track/country-preference?user_id=${encodeURIComponent(String(et()))}`))}function Sae(e){return Je(dg(`${qe}/price-track/country-preference`,{userId:et(),countryCodes:e}))}function Cae(e,t){return Je(Zt(`${qe}/price-track/match-shops`,{userId:et(),shopNames:e,asinFiles:t?.asinFiles||[],countryCodes:t?.countryCodes||[]}))}function kae(e){return Ws(`${qe}/shop-match/tasks/progress/batch`,e)}function Eae(e){return Ws(`${qe}/product-risk-resolve/tasks/progress/batch`,e)}function xae(e){return Ws(`${qe}/delete-brand/tasks/progress/batch`,e)}function Tae(){return Je(Qt(`${qe}/price-track/dashboard?user_id=${encodeURIComponent(String(et()))}`))}function $ae(){return Je(Qt(`${qe}/price-track/history?user_id=${encodeURIComponent(String(et()))}`))}function Oae(e){return Je(dn(`${qe}/price-track/history/${e}?user_id=${encodeURIComponent(String(et()))}`))}function Rae(e){return Je(Zt(`${qe}/price-track/tasks`,{...e,userId:et()}))}function Nae(e){return Je(dn(`${qe}/price-track/tasks/${e}?user_id=${encodeURIComponent(String(et()))}`))}function Iae(e){return Je(Zt(`${qe}/price-track/loop-runs`,{...e,userId:et()}))}function Pae(e){return Je(Qt(`${qe}/price-track/loop-runs/${e}?user_id=${encodeURIComponent(String(et()))}`))}function Mae(e){return Je(Zt(`${qe}/price-track/loop-runs/${e}/dispatch-next?user_id=${encodeURIComponent(String(et()))}`,void 0))}function _ae(e,t){return Je(Zt(`${qe}/price-track/loop-runs/${e}/child-finished?user_id=${encodeURIComponent(String(et()))}`,{childTaskId:t}))}function Aae(e){return Je(Zt(`${qe}/price-track/loop-runs/${e}/stop?user_id=${encodeURIComponent(String(et()))}`,void 0))}function Lae(e){return Ws(`${qe}/price-track/tasks/progress/batch`,e)}function Dae(e){return Ka(`/price-track/results/${e}/download`)}function Bae(e){return Je(dn(`${qe}/price-track/pending-shop-result?user_id=${encodeURIComponent(String(et()))}&shop_name=${encodeURIComponent(e)}`))}function Ka(e){let t=e.startsWith("http://")||e.startsWith("https://")?e:`${qe}${e}`;!t.startsWith("http://")&&!t.startsWith("https://")&&typeof window<"u"&&(t=`${window.location.origin}${t}`);const n=t.includes("?")?"&":"?";return`${t}${n}user_id=${encodeURIComponent(String(et()))}`}let Wh,kw=!1;function Vx(){return Wh=window.pywebview?.api,Wh}function ite(){kw||typeof window>"u"||!window.addEventListener||(kw=!0,window.addEventListener("pywebviewready",()=>{Vx()}))}ite();function Fae(){return Vx()||Wh}export{sae as $,Wte as A,Ite as B,jte as C,Ute as D,Bh as E,Fe as F,hv as G,Bte as H,Fte as I,Vte as J,zte as K,$l as L,ute as M,Ke as N,xae as O,qte as P,Jte as Q,Xte as R,Yte as S,Gte as T,Pte as U,Jne as V,Zne as W,nae as X,Qne as Y,eae as Z,gx as _,x as a,Cae as a$,aae as a0,oae as a1,dte as a2,tae as a3,oe as a4,J as a5,bq as a6,gq as a7,lae as a8,iae as a9,ane as aA,cne as aB,lne as aC,p5 as aD,dne as aE,gne as aF,bne as aG,hne as aH,fne as aI,pne as aJ,mne as aK,kne as aL,Sne as aM,yne as aN,wne as aO,vne as aP,kae as aQ,Cne as aR,st as aS,F2 as aT,Sae as aU,wae as aV,gae as aW,Tae as aX,$ae as aY,bae as aZ,yae as a_,uae as aa,rae as ab,pae as ac,cae as ad,dae as ae,mae as af,hae as ag,vae as ah,fae as ai,on as aj,ea as ak,Xe as al,i as am,sd as an,Hs as ao,nne as ap,tne as aq,une as ar,rne as as,ine as at,one as au,Zte as av,sne as aw,Eae as ax,Qte as ay,ene as az,Y as b,Bae as b0,Rae as b1,Pae as b2,Aae as b3,_ae as b4,Mae as b5,Iae as b6,Dae as b7,Oae as b8,Nae as b9,Gne as bA,Xne as bB,jne as bC,d8 as bD,Lae as ba,Nte as bb,Ene as bc,$ne as bd,Ine as be,Pne as bf,xne as bg,One as bh,Rne as bi,Tne as bj,Nne as bk,_ne as bl,Ane as bm,Lne as bn,Dne as bo,Bne as bp,Mne as bq,Fne as br,Kne as bs,Wne as bt,Vne as bu,zne as bv,Hne as bw,Une as bx,qne as by,Yne as bz,B as c,se as d,z as e,te as f,M as g,w as h,Fae as i,_te as j,Ate as k,Lte as l,Dte as m,T as n,ht as o,Mte as p,iO as q,gt as r,cte as s,Se as t,vv as u,q1 as v,ut as w,wt as x,Hte as y,Kte as z}; diff --git a/new_web_source/assets/pywebview-DNJAt1gR.css b/new_web_source/assets/pywebview-DNJAt1gR.css new file mode 100644 index 0000000..db98ed3 --- /dev/null +++ b/new_web_source/assets/pywebview-DNJAt1gR.css @@ -0,0 +1 @@ +.el-affix--fixed{position:fixed}.el-alert{--el-alert-padding:8px 16px;--el-alert-border-radius-base:var(--el-border-radius-base);--el-alert-title-font-size:14px;--el-alert-title-with-description-font-size:16px;--el-alert-description-font-size:14px;--el-alert-close-font-size:16px;--el-alert-close-customed-font-size:14px;--el-alert-icon-size:16px;--el-alert-icon-large-size:28px;width:100%;padding:var(--el-alert-padding);box-sizing:border-box;border-radius:var(--el-alert-border-radius-base);background-color:var(--el-color-white);opacity:1;transition:opacity var(--el-transition-duration-fast);align-items:center;margin:0;display:flex;position:relative;overflow:hidden}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--primary{--el-alert-bg-color:var(--el-color-primary-light-9)}.el-alert--primary.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-primary)}.el-alert--primary.is-light .el-alert__description{color:var(--el-color-primary)}.el-alert--primary.is-dark{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-alert--success{--el-alert-bg-color:var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-success)}.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color:var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-info)}.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color:var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-warning)}.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color:var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color);color:var(--el-color-error)}.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{flex-direction:column;gap:4px;display:flex}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);width:var(--el-alert-icon-size);margin-right:8px}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);width:var(--el-alert-icon-large-size);margin-right:12px}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:24px}.el-alert__title.with-description{font-size:var(--el-alert-title-with-description-font-size)}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:0}.el-alert .el-alert__close-btn{font-size:var(--el-alert-close-font-size);opacity:1;cursor:pointer;position:absolute;top:12px;right:16px}.el-alert .el-alert__close-btn.is-customed{font-style:normal;font-size:var(--el-alert-close-customed-font-size);line-height:24px;top:8px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0}.el-aside{box-sizing:border-box;width:var(--el-aside-width,300px);flex-shrink:0;overflow:auto}.el-autocomplete{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;width:var(--el-input-width);display:inline-block;position:relative}.el-autocomplete__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-autocomplete__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-autocomplete__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-autocomplete__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-autocomplete-suggestion{border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-autocomplete-suggestion__header{border-bottom:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__footer{border-top:1px solid var(--el-border-color-lighter);padding:10px}.el-autocomplete-suggestion__wrap{box-sizing:border-box;max-height:280px;padding:10px 0}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{cursor:pointer;color:var(--el-text-color-regular);line-height:34px;font-size:var(--el-font-size-base);text-align:left;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0 20px;list-style:none;overflow:hidden}.el-autocomplete-suggestion li:hover,.el-autocomplete-suggestion li.highlighted{background-color:var(--el-fill-color-light)}.el-autocomplete-suggestion li.divider{border-top:1px solid var(--el-color-black);margin-top:6px}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{cursor:default;height:100px;color:var(--el-text-color-secondary);justify-content:center;align-items:center;font-size:20px;display:flex}.el-autocomplete-suggestion.is-loading li:hover{background-color:var(--el-bg-color-overlay)}.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size:40px;--el-avatar-size-small:24px;box-sizing:border-box;text-align:center;color:var(--el-avatar-text-color);background:var(--el-avatar-bg-color);width:var(--el-avatar-size);height:var(--el-avatar-size);font-size:var(--el-avatar-text-size);outline:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.el-avatar>img{width:100%;height:100%;display:block}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.el-avatar-group{--el-avatar-group-item-gap:-8px;--el-avatar-group-collapse-item-gap:4px;display:inline-flex}.el-avatar-group .el-avatar{border:1px solid var(--el-border-color-extra-light)}.el-avatar-group .el-avatar:not(:first-child){margin-left:var(--el-avatar-group-item-gap)}.el-avatar-group__collapse-avatars{--el-avatar-group-item-gap:-8px;--el-avatar-group-collapse-item-gap:4px}.el-avatar-group__collapse-avatars .el-avatar:not(:first-child){margin-left:var(--el-avatar-group-collapse-item-gap)}.el-backtop{--el-backtop-bg-color:var(--el-bg-color-overlay);--el-backtop-text-color:var(--el-color-primary);--el-backtop-hover-bg-color:var(--el-border-color-extra-light);background-color:var(--el-backtop-bg-color);width:40px;height:40px;color:var(--el-backtop-text-color);box-shadow:var(--el-box-shadow-lighter);cursor:pointer;z-index:5;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex;position:fixed}.el-backtop:hover{background-color:var(--el-backtop-hover-bg-color)}.el-backtop__icon{font-size:20px}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;vertical-align:middle;width:-moz-fit-content;width:fit-content;display:inline-block;position:relative}.el-badge__content{background-color:var(--el-badge-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);font-size:var(--el-badge-font-size);height:var(--el-badge-size);padding:0 var(--el-badge-padding);white-space:nowrap;border:1px solid var(--el-bg-color);justify-content:center;align-items:center;display:inline-flex}.el-badge__content.is-fixed{top:0;right:calc(1px + var(--el-badge-size) / 2);z-index:var(--el-index-normal);position:absolute;transform:translateY(-50%)translate(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;width:8px;height:8px;padding:0;right:0}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);margin:0 9px;font-weight:700}.el-breadcrumb__separator.el-icon{margin:0 6px;font-weight:400}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{float:left;align-items:center;display:inline-flex}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner.is-link,.el-breadcrumb__inner a{transition:var(--el-transition-color);color:var(--el-text-color-primary);font-weight:700;text-decoration:none}.el-breadcrumb__inner.is-link:hover,.el-breadcrumb__inner a:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover{color:var(--el-text-color-regular);cursor:text;font-weight:400}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:before,.el-breadcrumb:after{content:"";display:table}.el-breadcrumb:after{clear:both}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child:last-child{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:hover,.el-button-group>.el-button:focus,.el-button-group>.el-button:active,.el-button-group>.el-button.is-active{z-index:1}.el-button-group--horizontal{vertical-align:middle;display:inline-block}.el-button-group--horizontal:before,.el-button-group--horizontal:after{content:"";display:table}.el-button-group--horizontal:after{clear:both}.el-button-group--horizontal>.el-button{float:left;position:relative}.el-button-group--horizontal>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group--horizontal>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--horizontal>.el-button:not(:last-child){margin-right:-1px}.el-button-group--horizontal .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group--horizontal .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group--horizontal>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group--vertical{flex-direction:column;align-items:stretch;display:inline-flex}.el-button-group--vertical>.el-button{margin-top:-1px}.el-button-group--vertical>.el-button:first-child{border-bottom-right-radius:0;border-bottom-left-radius:0}.el-button-group--vertical>.el-button:last-child{border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical>.el-dropdown{margin-top:-1px}.el-button-group--vertical>.el-dropdown>.el-button{border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0;border-top-right-radius:0}.el-button-group--vertical .el-button--primary:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--primary:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--success:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--warning:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--danger:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:first-child{border-bottom-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:last-child{border-top-color:var(--el-button-divide-border-color)}.el-button-group--vertical .el-button--info:not(:first-child):not(:last-child){border-top-color:var(--el-button-divide-border-color);border-bottom-color:var(--el-button-divide-border-color)}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:#ffffff80;--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-text-color-secondary);--el-button-active-color:var(--el-text-color-primary);white-space:nowrap;cursor:pointer;height:32px;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;line-height:1;font-weight:var(--el-button-font-weight);-webkit-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);outline:none;justify-content:center;align-items:center;transition:all .1s;display:inline-flex}.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:none}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:8px 15px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";border-radius:inherit;background-color:var(--el-mask-color-extra-light);position:absolute;inset:-1px}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-dashed{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary);border-style:dashed}.el-button.is-circle{border-radius:50%;width:32px;padding:8px}.el-button.is-text{color:var(--el-button-text-color);background-color:#0000;border:0 solid #0000}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{color:var(--el-button-text-color);background:0 0;border-color:#0000;height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button.is-link:not(.is-disabled):hover{background-color:#0000;border-color:#0000}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);background-color:#0000;border-color:#0000}.el-button--text{color:var(--el-color-primary);background:0 0;border-color:#0000;padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);background-color:#0000;border-color:#0000}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);background-color:#0000;border-color:#0000}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-plain,.el-button--primary.is-text,.el-button--primary.is-link{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:hover,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--primary.is-dashed{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-text-color:var(--el-color-primary-dark-2);--el-button-active-bg-color:var(--el-color-primary-light-9);--el-button-active-border-color:var(--el-color-primary-dark-2)}.el-button--primary.is-dashed.is-disabled,.el-button--primary.is-dashed.is-disabled:hover,.el-button--primary.is-dashed.is-disabled:focus,.el-button--primary.is-dashed.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-plain,.el-button--success.is-text,.el-button--success.is-link{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:hover,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:active,.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--success.is-dashed{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-success);--el-button-hover-bg-color:var(--el-color-success-light-9);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-text-color:var(--el-color-success-dark-2);--el-button-active-bg-color:var(--el-color-success-light-9);--el-button-active-border-color:var(--el-color-success-dark-2)}.el-button--success.is-dashed.is-disabled,.el-button--success.is-dashed.is-disabled:hover,.el-button--success.is-dashed.is-disabled:focus,.el-button--success.is-dashed.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-plain,.el-button--warning.is-text,.el-button--warning.is-link{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:hover,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--warning.is-dashed{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-warning);--el-button-hover-bg-color:var(--el-color-warning-light-9);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-text-color:var(--el-color-warning-dark-2);--el-button-active-bg-color:var(--el-color-warning-light-9);--el-button-active-border-color:var(--el-color-warning-dark-2)}.el-button--warning.is-dashed.is-disabled,.el-button--warning.is-dashed.is-disabled:hover,.el-button--warning.is-dashed.is-disabled:focus,.el-button--warning.is-dashed.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-plain,.el-button--danger.is-text,.el-button--danger.is-link{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:hover,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--danger.is-dashed{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-danger);--el-button-hover-bg-color:var(--el-color-danger-light-9);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-text-color:var(--el-color-danger-dark-2);--el-button-active-bg-color:var(--el-color-danger-light-9);--el-button-active-border-color:var(--el-color-danger-dark-2)}.el-button--danger.is-dashed.is-disabled,.el-button--danger.is-dashed.is-disabled:hover,.el-button--danger.is-dashed.is-disabled:focus,.el-button--danger.is-dashed.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-plain,.el-button--info.is-text,.el-button--info.is-link{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:hover,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:active,.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--info.is-dashed{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-info);--el-button-hover-bg-color:var(--el-color-info-light-9);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-text-color:var(--el-color-info-dark-2);--el-button-active-bg-color:var(--el-color-info-light-9);--el-button-active-border-color:var(--el-color-info-dark-2)}.el-button--info.is-dashed.is-disabled,.el-button--info.is-dashed.is-disabled:hover,.el-button--info.is-dashed.is-disabled:focus,.el-button--info.is-dashed.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size:40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:12px 19px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size:24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:5px 11px;font-size:12px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}.el-calendar{--el-calendar-border:var(--el-table-border,1px solid var(--el-border-color-lighter));--el-calendar-header-border-bottom:var(--el-calendar-border);--el-calendar-selected-bg-color:var(--el-color-primary-light-9);--el-calendar-cell-width:85px;background-color:var(--el-fill-color-blank)}.el-calendar__header{border-bottom:var(--el-calendar-header-border-bottom);justify-content:space-between;padding:12px 20px;display:flex}.el-calendar__title{color:var(--el-text-color);align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar__select-controller .el-select{margin-right:8px}.el-calendar__select-controller .el-calendar-select__year{width:120px}.el-calendar__select-controller .el-calendar-select__month{width:60px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{color:var(--el-text-color-regular);padding:12px 0;font-weight:400}.el-calendar-table:not(.is-range) td.prev,.el-calendar-table:not(.is-range) td.next{color:var(--el-text-color-placeholder)}.el-calendar-table td{border-bottom:var(--el-calendar-border);border-right:var(--el-calendar-border);vertical-align:top;transition:background-color var(--el-transition-duration-fast) ease}.el-calendar-table td.is-selected{background-color:var(--el-calendar-selected-bg-color)}.el-calendar-table td.is-today{color:var(--el-color-primary)}.el-calendar-table tr:first-child td{border-top:var(--el-calendar-border)}.el-calendar-table tr td:first-child{border-left:var(--el-calendar-border)}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{box-sizing:border-box;height:var(--el-calendar-cell-width);padding:8px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:var(--el-calendar-selected-bg-color)}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);border-radius:var(--el-card-border-radius);border:1px solid var(--el-card-border-color);background-color:var(--el-card-bg-color);color:var(--el-text-color-primary);transition:var(--el-transition-duration);flex-direction:column;display:flex;overflow:hidden}.el-card.is-always-shadow,.el-card.is-hover-shadow:hover,.el-card.is-hover-shadow:focus{box-shadow:var(--el-box-shadow-light)}.el-card__header{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box}.el-card__body{padding:var(--el-card-padding);flex-grow:1;overflow:auto}.el-card__footer{padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding);border-top:1px solid var(--el-card-border-color);box-sizing:border-box}.el-carousel__item{width:100%;height:100%;z-index:calc(var(--el-index-normal) - 1);display:inline-block;position:absolute;top:0;left:0;overflow:hidden}.el-carousel__item.is-active{z-index:calc(var(--el-index-normal) - 1)}.el-carousel__item.is-animating{transition:transform .4s ease-in-out}.el-carousel__item--card{width:50%;transition:transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:var(--el-index-normal)}.el-carousel__item--card.is-in-stage:hover .el-carousel__mask,.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:calc(var(--el-index-normal) + 1)}.el-carousel__item--card-vertical{width:100%;height:50%}.el-carousel__mask{background-color:var(--el-color-white);opacity:.24;width:100%;height:100%;transition:var(--el-transition-duration-fast);position:absolute;top:0;left:0}.el-carousel{--el-carousel-arrow-font-size:12px;--el-carousel-arrow-size:36px;--el-carousel-arrow-background:#1f2d3d1c;--el-carousel-arrow-hover-background:#1f2d3d3b;--el-carousel-indicator-width:30px;--el-carousel-indicator-height:2px;--el-carousel-indicator-padding-horizontal:4px;--el-carousel-indicator-padding-vertical:12px;--el-carousel-indicator-out-color:var(--el-border-color-hover);position:relative}.el-carousel--horizontal,.el-carousel--vertical{overflow:hidden}.el-carousel.is-vertical-outside{flex-direction:row;align-items:center;display:flex}.el-carousel.is-vertical-outside .el-carousel__container{flex:1}.el-carousel__container{height:300px;position:relative}.el-carousel__arrow{height:var(--el-carousel-arrow-size);width:var(--el-carousel-arrow-size);cursor:pointer;transition:var(--el-transition-duration);background-color:var(--el-carousel-arrow-background);color:#fff;z-index:10;text-align:center;font-size:var(--el-carousel-arrow-font-size);border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:var(--el-carousel-arrow-hover-background)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{z-index:calc(var(--el-index-normal) + 1);margin:0;padding:0;list-style:none;position:absolute}.el-carousel__indicators--horizontal{bottom:0;left:50%;transform:translate(-50%)}.el-carousel__indicators--vertical{top:50%;right:0;transform:translateY(-50%)}.el-carousel__indicators--outside{text-align:center;position:static;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:var(--el-carousel-indicator-out-color);opacity:.24}.el-carousel__indicators--right{right:0}.el-carousel__indicators--labels .el-carousel__button{color:#000;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{cursor:pointer;background-color:#0000}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{padding:var(--el-carousel-indicator-padding-vertical) var(--el-carousel-indicator-padding-horizontal);display:inline-block}.el-carousel__indicator--vertical{padding:var(--el-carousel-indicator-padding-horizontal) var(--el-carousel-indicator-padding-vertical)}.el-carousel__indicator--vertical .el-carousel__button{width:var(--el-carousel-indicator-height);height:calc(var(--el-carousel-indicator-width) / 2)}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{opacity:.48;width:var(--el-carousel-indicator-width);height:var(--el-carousel-indicator-height);cursor:pointer;transition:var(--el-transition-duration);background-color:#fff;border:none;outline:none;margin:0;padding:0;display:block}.el-carousel__indicators--labels .el-carousel__button{width:auto;height:auto}.carousel-arrow-left-enter-from,.carousel-arrow-left-leave-active{opacity:0;transform:translateY(-50%)translate(-10px)}.carousel-arrow-right-enter-from,.carousel-arrow-right-leave-active{opacity:0;transform:translateY(-50%)translate(10px)}.el-transitioning{filter:url(#elCarouselHorizontal)}.el-transitioning-vertical{filter:url(#elCarouselVertical)}.el-cascader-panel{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);width:-moz-fit-content;width:fit-content;font-size:var(--el-cascader-menu-font-size);display:flex}.el-cascader-panel.is-bordered{border:var(--el-cascader-menu-border);border-radius:var(--el-cascader-menu-radius)}.el-cascader-menu{box-sizing:border-box;min-width:180px;color:var(--el-cascader-menu-text-color);border-right:var(--el-cascader-menu-border)}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap.el-scrollbar__wrap{height:204px}.el-cascader-menu__list{box-sizing:border-box;min-height:100%;margin:0;padding:6px 0;list-style:none;position:relative}.el-cascader-menu__hover-zone{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.el-cascader-menu__empty-text{color:var(--el-cascader-color-empty);align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-cascader-menu__empty-text .is-loading{margin-right:2px}.el-cascader-node{outline:none;align-items:center;height:34px;padding:0 30px 0 20px;line-height:34px;display:flex;position:relative}.el-cascader-node.is-selectable.in-active-path{color:var(--el-cascader-menu-text-color)}.el-cascader-node.in-active-path,.el-cascader-node.is-selectable.in-checked-path,.el-cascader-node.is-active{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):hover,.el-cascader-node:not(.is-disabled):focus{background:var(--el-cascader-node-background-hover)}.el-cascader-node.is-disabled{color:var(--el-cascader-node-color-disabled);cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;padding:0 8px;overflow:hidden}.el-cascader-node>.el-checkbox,.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-cascader{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);vertical-align:middle;font-size:var(--el-font-size-base);outline:none;line-height:32px;display:inline-block;position:relative}.el-cascader:not(.is-disabled):hover .el-input__wrapper{cursor:pointer;box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-cascader .el-input{cursor:pointer;display:flex}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-input__inner:read-only{cursor:pointer}.el-cascader .el-input .el-input__inner:disabled{cursor:not-allowed}.el-cascader .el-input .el-input__suffix-inner .el-icon svg{vertical-align:middle}.el-cascader .el-input .icon-arrow-down{transition:transform var(--el-transition-duration);font-size:14px}.el-cascader .el-input .icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .icon-circle-close:hover{color:var(--el-input-clear-hover-color,var(--el-text-color-secondary))}.el-cascader .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-cascader--large{font-size:14px;line-height:40px}.el-cascader--large .el-cascader__tags{gap:6px;padding:8px}.el-cascader--large .el-cascader__search-input{height:24px;margin-left:7px}.el-cascader--small{font-size:12px;line-height:24px}.el-cascader--small .el-cascader__tags{gap:4px;padding:2px}.el-cascader--small .el-cascader__search-input{height:20px;margin-left:5px}.el-cascader.is-disabled .el-cascader__label{z-index:calc(var(--el-index-normal) + 1);color:var(--el-disabled-text-color)}.el-cascader__dropdown{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);font-size:var(--el-cascader-menu-font-size);border-radius:var(--el-cascader-menu-radius)}.el-cascader__dropdown.el-popper{background:var(--el-cascader-menu-fill);border:var(--el-cascader-menu-border);box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__dropdown.el-popper .el-popper__arrow:before{border:var(--el-cascader-menu-border)}.el-cascader__dropdown.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-cascader__dropdown.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-cascader__dropdown.el-popper{box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-cascader__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-cascader__tags{text-align:left;box-sizing:border-box;flex-wrap:wrap;gap:6px;padding:4px;line-height:normal;display:flex;position:absolute;top:50%;left:0;right:30px;transform:translateY(-50%)}.el-cascader__tags .el-tag{text-overflow:ellipsis;background:var(--el-cascader-tag-background);align-items:center;max-width:100%;display:inline-flex}.el-cascader__tags .el-tag.el-tag--dark,.el-cascader__tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__tags .el-tag:not(.is-hit){border-color:#0000}.el-cascader__tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__tags .el-tag>span{text-overflow:ellipsis;flex:1;line-height:normal;overflow:hidden}.el-cascader__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__tags .el-tag+input{margin-left:0}.el-cascader__tags.is-validate{right:55px}.el-cascader__collapse-tags{white-space:normal;z-index:var(--el-index-normal)}.el-cascader__collapse-tags .el-tag{text-overflow:ellipsis;background:var(--el-fill-color);align-items:center;max-width:100%;display:inline-flex}.el-cascader__collapse-tags .el-tag.el-tag--dark,.el-cascader__collapse-tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__collapse-tags .el-tag:not(.is-hit){border-color:#0000}.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__collapse-tags .el-tag>span{text-overflow:ellipsis;flex:1;line-height:normal;overflow:hidden}.el-cascader__collapse-tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__collapse-tags .el-tag+input{margin-left:0}.el-cascader__collapse-tags .el-tag{margin:2px 0}.el-cascader__suggestion-panel{border-radius:var(--el-cascader-menu-radius)}.el-cascader__suggestion-list{max-height:204px;font-size:var(--el-font-size-base);color:var(--el-cascader-menu-text-color);text-align:center;margin:0;padding:6px 0}.el-cascader__suggestion-item{text-align:left;cursor:pointer;outline:none;justify-content:space-between;align-items:center;height:34px;padding:0 15px;display:flex}.el-cascader__suggestion-item:hover,.el-cascader__suggestion-item:focus{background:var(--el-cascader-node-background-hover)}.el-cascader__suggestion-item.is-checked{color:var(--el-cascader-menu-selected-text-color);font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{color:var(--el-cascader-color-empty);margin:10px 0}.el-cascader__search-input{min-width:60px;height:24px;color:var(--el-cascader-menu-text-color);box-sizing:border-box;background:0 0;border:none;outline:none;flex:1;margin-left:7px;padding:0}.el-cascader__search-input::placeholder{color:#0000}.el-check-tag{background-color:var(--el-color-info-light-9);border-radius:var(--el-border-radius-base);color:var(--el-color-info);cursor:pointer;font-size:var(--el-font-size-base);line-height:var(--el-font-size-base);transition:var(--el-transition-all);padding:7px 15px;font-weight:700;display:inline-block}.el-check-tag:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--primary.is-checked{background-color:var(--el-color-primary-light-8);color:var(--el-color-primary)}.el-check-tag.el-check-tag--primary.is-checked:hover{background-color:var(--el-color-primary-light-7)}.el-check-tag.el-check-tag--primary.is-checked.is-disabled{background-color:var(--el-color-primary-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-checked.is-disabled:hover{background-color:var(--el-color-primary-light-8)}.el-check-tag.el-check-tag--primary.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-check-tag.el-check-tag--success.is-checked{background-color:var(--el-color-success-light-8);color:var(--el-color-success)}.el-check-tag.el-check-tag--success.is-checked:hover{background-color:var(--el-color-success-light-7)}.el-check-tag.el-check-tag--success.is-checked.is-disabled{background-color:var(--el-color-success-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-checked.is-disabled:hover{background-color:var(--el-color-success-light-8)}.el-check-tag.el-check-tag--success.is-disabled{background-color:var(--el-color-success-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-disabled:hover{background-color:var(--el-color-success-light-9)}.el-check-tag.el-check-tag--warning.is-checked{background-color:var(--el-color-warning-light-8);color:var(--el-color-warning)}.el-check-tag.el-check-tag--warning.is-checked:hover{background-color:var(--el-color-warning-light-7)}.el-check-tag.el-check-tag--warning.is-checked.is-disabled{background-color:var(--el-color-warning-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-checked.is-disabled:hover{background-color:var(--el-color-warning-light-8)}.el-check-tag.el-check-tag--warning.is-disabled{background-color:var(--el-color-warning-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-disabled:hover{background-color:var(--el-color-warning-light-9)}.el-check-tag.el-check-tag--danger.is-checked{background-color:var(--el-color-danger-light-8);color:var(--el-color-danger)}.el-check-tag.el-check-tag--danger.is-checked:hover{background-color:var(--el-color-danger-light-7)}.el-check-tag.el-check-tag--danger.is-checked.is-disabled{background-color:var(--el-color-danger-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-checked.is-disabled:hover{background-color:var(--el-color-danger-light-8)}.el-check-tag.el-check-tag--danger.is-disabled{background-color:var(--el-color-danger-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-disabled:hover{background-color:var(--el-color-danger-light-9)}.el-check-tag.el-check-tag--error.is-checked{background-color:var(--el-color-error-light-8);color:var(--el-color-error)}.el-check-tag.el-check-tag--error.is-checked:hover{background-color:var(--el-color-error-light-7)}.el-check-tag.el-check-tag--error.is-checked.is-disabled{background-color:var(--el-color-error-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-checked.is-disabled:hover{background-color:var(--el-color-error-light-8)}.el-check-tag.el-check-tag--error.is-disabled{background-color:var(--el-color-error-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-disabled:hover{background-color:var(--el-color-error-light-9)}.el-check-tag.el-check-tag--info.is-checked{background-color:var(--el-color-info-light-8);color:var(--el-color-info)}.el-check-tag.el-check-tag--info.is-checked:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--info.is-checked.is-disabled{background-color:var(--el-color-info-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-checked.is-disabled:hover{background-color:var(--el-color-info-light-8)}.el-check-tag.el-check-tag--info.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-checkbox-button{--el-checkbox-button-checked-bg-color:var(--el-color-primary);--el-checkbox-button-checked-text-color:var(--el-color-white);--el-checkbox-button-checked-border-color:var(--el-color-primary);--el-checkbox-button-disabled-checked-fill:var(--el-border-color-extra-light);display:inline-block;position:relative}.el-checkbox-button__inner{line-height:1;font-weight:var(--el-checkbox-font-weight);white-space:nowrap;vertical-align:middle;cursor:pointer;background:var(--el-button-bg-color,var(--el-fill-color-blank));outline:var(--el-border);color:var(--el-button-text-color,var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;transition:var(--el-transition-all);-webkit-user-select:none;user-select:none;font-size:var(--el-font-size-base);border-radius:0;margin:0;padding:8px 15px;display:inline-block;position:relative}.el-checkbox-button__inner.is-round{padding:8px 15px}.el-checkbox-button__inner:hover{color:var(--el-color-primary)}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;z-index:-1;outline:none;margin:0;position:absolute}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:var(--el-checkbox-button-checked-text-color);background-color:var(--el-checkbox-button-checked-bg-color);border-color:var(--el-checkbox-button-checked-border-color);box-shadow:-1px 0 0 0 var(--el-color-primary-light-7)}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:var(--el-button-disabled-border-color,var(--el-border-color-light))}.el-checkbox-button.is-disabled.is-checked .el-checkbox-button__inner{background-color:var(--el-checkbox-button-disabled-checked-fill)}.el-checkbox-button:first-child .el-checkbox-button__inner{border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base);box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button:last-child .el-checkbox-button__inner{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base)}.el-checkbox-button--large .el-checkbox-button__inner{font-size:var(--el-font-size-base);border-radius:0;padding:12px 19px}.el-checkbox-button--large .el-checkbox-button__inner.is-round{padding:12px 19px}.el-checkbox-button--small .el-checkbox-button__inner{border-radius:0;padding:5px 11px;font-size:12px}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:5px 11px}.el-checkbox-group{font-size:0;line-height:0}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary);color:var(--el-checkbox-text-color);font-weight:var(--el-checkbox-font-weight);font-size:var(--el-font-size-base);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;height:var(--el-checkbox-height,32px);align-items:center;margin-right:30px;display:inline-flex;position:relative}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box;padding:0 15px 0 9px}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.is-bordered.el-checkbox--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:0 11px 0 7px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox input:focus-visible+.el-checkbox__inner{outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--el-checkbox-border-radius)}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:none;display:inline-flex;position:relative}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:var(--el-checkbox-disabled-icon-color);will-change:transform}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-checked-icon-color);transform:translate(-45%,-60%)rotate(45deg)scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";background-color:var(--el-checkbox-checked-icon-color);height:2px;display:block;position:absolute;top:5px;left:0;right:0;transform:scale(.5)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;width:var(--el-checkbox-input-width);height:var(--el-checkbox-input-height);background-color:var(--el-checkbox-bg-color);z-index:var(--el-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46);display:inline-block;position:relative}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{box-sizing:content-box;content:"";transform-origin:50%;border:1px solid #0000;border-top:0;border-left:0;width:3px;height:7px;transition:transform .15s ease-in 50ms;position:absolute;top:50%;left:50%;transform:translate(-45%,-60%)rotate(45deg)scaleY(0)}.el-checkbox__original{opacity:0;z-index:-1;outline:none;width:0;height:0;margin:0;position:absolute}.el-checkbox__label{line-height:1;font-size:var(--el-checkbox-font-size);padding-left:8px;display:inline-block}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox:last-of-type{margin-right:0}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{min-height:1px;display:block}.el-col-0{flex:0 0;max-width:0%;display:none}.el-col-0.is-guttered{display:none}.el-col-offset-0{margin-left:0%}.el-col-pull-0{position:relative;right:0%}.el-col-push-0{position:relative;left:0%}.el-col-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-1.is-guttered{display:block}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{position:relative;right:4.16667%}.el-col-push-1{position:relative;left:4.16667%}.el-col-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-2.is-guttered{display:block}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{position:relative;right:8.33333%}.el-col-push-2{position:relative;left:8.33333%}.el-col-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-3.is-guttered{display:block}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{position:relative;left:12.5%}.el-col-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-4.is-guttered{display:block}.el-col-offset-4{margin-left:16.6667%}.el-col-pull-4{position:relative;right:16.6667%}.el-col-push-4{position:relative;left:16.6667%}.el-col-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-5.is-guttered{display:block}.el-col-offset-5{margin-left:20.8333%}.el-col-pull-5{position:relative;right:20.8333%}.el-col-push-5{position:relative;left:20.8333%}.el-col-6{flex:0 0 25%;max-width:25%;display:block}.el-col-6.is-guttered{display:block}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{position:relative;left:25%}.el-col-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-7.is-guttered{display:block}.el-col-offset-7{margin-left:29.1667%}.el-col-pull-7{position:relative;right:29.1667%}.el-col-push-7{position:relative;left:29.1667%}.el-col-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-8.is-guttered{display:block}.el-col-offset-8{margin-left:33.3333%}.el-col-pull-8{position:relative;right:33.3333%}.el-col-push-8{position:relative;left:33.3333%}.el-col-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-9.is-guttered{display:block}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{position:relative;left:37.5%}.el-col-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-10.is-guttered{display:block}.el-col-offset-10{margin-left:41.6667%}.el-col-pull-10{position:relative;right:41.6667%}.el-col-push-10{position:relative;left:41.6667%}.el-col-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-11.is-guttered{display:block}.el-col-offset-11{margin-left:45.8333%}.el-col-pull-11{position:relative;right:45.8333%}.el-col-push-11{position:relative;left:45.8333%}.el-col-12{flex:0 0 50%;max-width:50%;display:block}.el-col-12.is-guttered{display:block}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{position:relative;left:50%}.el-col-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-13.is-guttered{display:block}.el-col-offset-13{margin-left:54.1667%}.el-col-pull-13{position:relative;right:54.1667%}.el-col-push-13{position:relative;left:54.1667%}.el-col-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-14.is-guttered{display:block}.el-col-offset-14{margin-left:58.3333%}.el-col-pull-14{position:relative;right:58.3333%}.el-col-push-14{position:relative;left:58.3333%}.el-col-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-15.is-guttered{display:block}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{position:relative;left:62.5%}.el-col-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-16.is-guttered{display:block}.el-col-offset-16{margin-left:66.6667%}.el-col-pull-16{position:relative;right:66.6667%}.el-col-push-16{position:relative;left:66.6667%}.el-col-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-17.is-guttered{display:block}.el-col-offset-17{margin-left:70.8333%}.el-col-pull-17{position:relative;right:70.8333%}.el-col-push-17{position:relative;left:70.8333%}.el-col-18{flex:0 0 75%;max-width:75%;display:block}.el-col-18.is-guttered{display:block}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{position:relative;left:75%}.el-col-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-19.is-guttered{display:block}.el-col-offset-19{margin-left:79.1667%}.el-col-pull-19{position:relative;right:79.1667%}.el-col-push-19{position:relative;left:79.1667%}.el-col-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-20.is-guttered{display:block}.el-col-offset-20{margin-left:83.3333%}.el-col-pull-20{position:relative;right:83.3333%}.el-col-push-20{position:relative;left:83.3333%}.el-col-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-21.is-guttered{display:block}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{position:relative;left:87.5%}.el-col-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-22.is-guttered{display:block}.el-col-offset-22{margin-left:91.6667%}.el-col-pull-22{position:relative;right:91.6667%}.el-col-push-22{position:relative;left:91.6667%}.el-col-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-23.is-guttered{display:block}.el-col-offset-23{margin-left:95.8333%}.el-col-pull-23{position:relative;right:95.8333%}.el-col-push-23{position:relative;left:95.8333%}.el-col-24{flex:0 0 100%;max-width:100%;display:block}.el-col-24.is-guttered{display:block}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{position:relative;left:100%}@media only screen and (max-width:767px){.el-col-xs-0{flex:0 0;max-width:0%;display:none}.el-col-xs-0.is-guttered{display:none}.el-col-xs-offset-0{margin-left:0%}.el-col-xs-pull-0{position:relative;right:0%}.el-col-xs-push-0{position:relative;left:0%}.el-col-xs-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-xs-1.is-guttered{display:block}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-xs-2.is-guttered{display:block}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-xs-3.is-guttered{display:block}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-xs-4.is-guttered{display:block}.el-col-xs-offset-4{margin-left:16.6667%}.el-col-xs-pull-4{position:relative;right:16.6667%}.el-col-xs-push-4{position:relative;left:16.6667%}.el-col-xs-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-xs-5.is-guttered{display:block}.el-col-xs-offset-5{margin-left:20.8333%}.el-col-xs-pull-5{position:relative;right:20.8333%}.el-col-xs-push-5{position:relative;left:20.8333%}.el-col-xs-6{flex:0 0 25%;max-width:25%;display:block}.el-col-xs-6.is-guttered{display:block}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-xs-7.is-guttered{display:block}.el-col-xs-offset-7{margin-left:29.1667%}.el-col-xs-pull-7{position:relative;right:29.1667%}.el-col-xs-push-7{position:relative;left:29.1667%}.el-col-xs-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-xs-8.is-guttered{display:block}.el-col-xs-offset-8{margin-left:33.3333%}.el-col-xs-pull-8{position:relative;right:33.3333%}.el-col-xs-push-8{position:relative;left:33.3333%}.el-col-xs-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-xs-9.is-guttered{display:block}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-xs-10.is-guttered{display:block}.el-col-xs-offset-10{margin-left:41.6667%}.el-col-xs-pull-10{position:relative;right:41.6667%}.el-col-xs-push-10{position:relative;left:41.6667%}.el-col-xs-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-xs-11.is-guttered{display:block}.el-col-xs-offset-11{margin-left:45.8333%}.el-col-xs-pull-11{position:relative;right:45.8333%}.el-col-xs-push-11{position:relative;left:45.8333%}.el-col-xs-12{flex:0 0 50%;max-width:50%;display:block}.el-col-xs-12.is-guttered{display:block}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-xs-13.is-guttered{display:block}.el-col-xs-offset-13{margin-left:54.1667%}.el-col-xs-pull-13{position:relative;right:54.1667%}.el-col-xs-push-13{position:relative;left:54.1667%}.el-col-xs-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-xs-14.is-guttered{display:block}.el-col-xs-offset-14{margin-left:58.3333%}.el-col-xs-pull-14{position:relative;right:58.3333%}.el-col-xs-push-14{position:relative;left:58.3333%}.el-col-xs-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-xs-15.is-guttered{display:block}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-xs-16.is-guttered{display:block}.el-col-xs-offset-16{margin-left:66.6667%}.el-col-xs-pull-16{position:relative;right:66.6667%}.el-col-xs-push-16{position:relative;left:66.6667%}.el-col-xs-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-xs-17.is-guttered{display:block}.el-col-xs-offset-17{margin-left:70.8333%}.el-col-xs-pull-17{position:relative;right:70.8333%}.el-col-xs-push-17{position:relative;left:70.8333%}.el-col-xs-18{flex:0 0 75%;max-width:75%;display:block}.el-col-xs-18.is-guttered{display:block}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-xs-19.is-guttered{display:block}.el-col-xs-offset-19{margin-left:79.1667%}.el-col-xs-pull-19{position:relative;right:79.1667%}.el-col-xs-push-19{position:relative;left:79.1667%}.el-col-xs-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-xs-20.is-guttered{display:block}.el-col-xs-offset-20{margin-left:83.3333%}.el-col-xs-pull-20{position:relative;right:83.3333%}.el-col-xs-push-20{position:relative;left:83.3333%}.el-col-xs-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-xs-21.is-guttered{display:block}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-xs-22.is-guttered{display:block}.el-col-xs-offset-22{margin-left:91.6667%}.el-col-xs-pull-22{position:relative;right:91.6667%}.el-col-xs-push-22{position:relative;left:91.6667%}.el-col-xs-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-xs-23.is-guttered{display:block}.el-col-xs-offset-23{margin-left:95.8333%}.el-col-xs-pull-23{position:relative;right:95.8333%}.el-col-xs-push-23{position:relative;left:95.8333%}.el-col-xs-24{flex:0 0 100%;max-width:100%;display:block}.el-col-xs-24.is-guttered{display:block}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{flex:0 0;max-width:0%;display:none}.el-col-sm-0.is-guttered{display:none}.el-col-sm-offset-0{margin-left:0%}.el-col-sm-pull-0{position:relative;right:0%}.el-col-sm-push-0{position:relative;left:0%}.el-col-sm-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-sm-1.is-guttered{display:block}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-sm-2.is-guttered{display:block}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-sm-3.is-guttered{display:block}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-sm-4.is-guttered{display:block}.el-col-sm-offset-4{margin-left:16.6667%}.el-col-sm-pull-4{position:relative;right:16.6667%}.el-col-sm-push-4{position:relative;left:16.6667%}.el-col-sm-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-sm-5.is-guttered{display:block}.el-col-sm-offset-5{margin-left:20.8333%}.el-col-sm-pull-5{position:relative;right:20.8333%}.el-col-sm-push-5{position:relative;left:20.8333%}.el-col-sm-6{flex:0 0 25%;max-width:25%;display:block}.el-col-sm-6.is-guttered{display:block}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-sm-7.is-guttered{display:block}.el-col-sm-offset-7{margin-left:29.1667%}.el-col-sm-pull-7{position:relative;right:29.1667%}.el-col-sm-push-7{position:relative;left:29.1667%}.el-col-sm-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-sm-8.is-guttered{display:block}.el-col-sm-offset-8{margin-left:33.3333%}.el-col-sm-pull-8{position:relative;right:33.3333%}.el-col-sm-push-8{position:relative;left:33.3333%}.el-col-sm-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-sm-9.is-guttered{display:block}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-sm-10.is-guttered{display:block}.el-col-sm-offset-10{margin-left:41.6667%}.el-col-sm-pull-10{position:relative;right:41.6667%}.el-col-sm-push-10{position:relative;left:41.6667%}.el-col-sm-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-sm-11.is-guttered{display:block}.el-col-sm-offset-11{margin-left:45.8333%}.el-col-sm-pull-11{position:relative;right:45.8333%}.el-col-sm-push-11{position:relative;left:45.8333%}.el-col-sm-12{flex:0 0 50%;max-width:50%;display:block}.el-col-sm-12.is-guttered{display:block}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-sm-13.is-guttered{display:block}.el-col-sm-offset-13{margin-left:54.1667%}.el-col-sm-pull-13{position:relative;right:54.1667%}.el-col-sm-push-13{position:relative;left:54.1667%}.el-col-sm-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-sm-14.is-guttered{display:block}.el-col-sm-offset-14{margin-left:58.3333%}.el-col-sm-pull-14{position:relative;right:58.3333%}.el-col-sm-push-14{position:relative;left:58.3333%}.el-col-sm-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-sm-15.is-guttered{display:block}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-sm-16.is-guttered{display:block}.el-col-sm-offset-16{margin-left:66.6667%}.el-col-sm-pull-16{position:relative;right:66.6667%}.el-col-sm-push-16{position:relative;left:66.6667%}.el-col-sm-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-sm-17.is-guttered{display:block}.el-col-sm-offset-17{margin-left:70.8333%}.el-col-sm-pull-17{position:relative;right:70.8333%}.el-col-sm-push-17{position:relative;left:70.8333%}.el-col-sm-18{flex:0 0 75%;max-width:75%;display:block}.el-col-sm-18.is-guttered{display:block}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-sm-19.is-guttered{display:block}.el-col-sm-offset-19{margin-left:79.1667%}.el-col-sm-pull-19{position:relative;right:79.1667%}.el-col-sm-push-19{position:relative;left:79.1667%}.el-col-sm-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-sm-20.is-guttered{display:block}.el-col-sm-offset-20{margin-left:83.3333%}.el-col-sm-pull-20{position:relative;right:83.3333%}.el-col-sm-push-20{position:relative;left:83.3333%}.el-col-sm-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-sm-21.is-guttered{display:block}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-sm-22.is-guttered{display:block}.el-col-sm-offset-22{margin-left:91.6667%}.el-col-sm-pull-22{position:relative;right:91.6667%}.el-col-sm-push-22{position:relative;left:91.6667%}.el-col-sm-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-sm-23.is-guttered{display:block}.el-col-sm-offset-23{margin-left:95.8333%}.el-col-sm-pull-23{position:relative;right:95.8333%}.el-col-sm-push-23{position:relative;left:95.8333%}.el-col-sm-24{flex:0 0 100%;max-width:100%;display:block}.el-col-sm-24.is-guttered{display:block}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{flex:0 0;max-width:0%;display:none}.el-col-md-0.is-guttered{display:none}.el-col-md-offset-0{margin-left:0%}.el-col-md-pull-0{position:relative;right:0%}.el-col-md-push-0{position:relative;left:0%}.el-col-md-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-md-1.is-guttered{display:block}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-md-2.is-guttered{display:block}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-md-3.is-guttered{display:block}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-md-4.is-guttered{display:block}.el-col-md-offset-4{margin-left:16.6667%}.el-col-md-pull-4{position:relative;right:16.6667%}.el-col-md-push-4{position:relative;left:16.6667%}.el-col-md-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-md-5.is-guttered{display:block}.el-col-md-offset-5{margin-left:20.8333%}.el-col-md-pull-5{position:relative;right:20.8333%}.el-col-md-push-5{position:relative;left:20.8333%}.el-col-md-6{flex:0 0 25%;max-width:25%;display:block}.el-col-md-6.is-guttered{display:block}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-md-7.is-guttered{display:block}.el-col-md-offset-7{margin-left:29.1667%}.el-col-md-pull-7{position:relative;right:29.1667%}.el-col-md-push-7{position:relative;left:29.1667%}.el-col-md-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-md-8.is-guttered{display:block}.el-col-md-offset-8{margin-left:33.3333%}.el-col-md-pull-8{position:relative;right:33.3333%}.el-col-md-push-8{position:relative;left:33.3333%}.el-col-md-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-md-9.is-guttered{display:block}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-md-10.is-guttered{display:block}.el-col-md-offset-10{margin-left:41.6667%}.el-col-md-pull-10{position:relative;right:41.6667%}.el-col-md-push-10{position:relative;left:41.6667%}.el-col-md-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-md-11.is-guttered{display:block}.el-col-md-offset-11{margin-left:45.8333%}.el-col-md-pull-11{position:relative;right:45.8333%}.el-col-md-push-11{position:relative;left:45.8333%}.el-col-md-12{flex:0 0 50%;max-width:50%;display:block}.el-col-md-12.is-guttered{display:block}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-md-13.is-guttered{display:block}.el-col-md-offset-13{margin-left:54.1667%}.el-col-md-pull-13{position:relative;right:54.1667%}.el-col-md-push-13{position:relative;left:54.1667%}.el-col-md-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-md-14.is-guttered{display:block}.el-col-md-offset-14{margin-left:58.3333%}.el-col-md-pull-14{position:relative;right:58.3333%}.el-col-md-push-14{position:relative;left:58.3333%}.el-col-md-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-md-15.is-guttered{display:block}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-md-16.is-guttered{display:block}.el-col-md-offset-16{margin-left:66.6667%}.el-col-md-pull-16{position:relative;right:66.6667%}.el-col-md-push-16{position:relative;left:66.6667%}.el-col-md-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-md-17.is-guttered{display:block}.el-col-md-offset-17{margin-left:70.8333%}.el-col-md-pull-17{position:relative;right:70.8333%}.el-col-md-push-17{position:relative;left:70.8333%}.el-col-md-18{flex:0 0 75%;max-width:75%;display:block}.el-col-md-18.is-guttered{display:block}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-md-19.is-guttered{display:block}.el-col-md-offset-19{margin-left:79.1667%}.el-col-md-pull-19{position:relative;right:79.1667%}.el-col-md-push-19{position:relative;left:79.1667%}.el-col-md-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-md-20.is-guttered{display:block}.el-col-md-offset-20{margin-left:83.3333%}.el-col-md-pull-20{position:relative;right:83.3333%}.el-col-md-push-20{position:relative;left:83.3333%}.el-col-md-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-md-21.is-guttered{display:block}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-md-22.is-guttered{display:block}.el-col-md-offset-22{margin-left:91.6667%}.el-col-md-pull-22{position:relative;right:91.6667%}.el-col-md-push-22{position:relative;left:91.6667%}.el-col-md-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-md-23.is-guttered{display:block}.el-col-md-offset-23{margin-left:95.8333%}.el-col-md-pull-23{position:relative;right:95.8333%}.el-col-md-push-23{position:relative;left:95.8333%}.el-col-md-24{flex:0 0 100%;max-width:100%;display:block}.el-col-md-24.is-guttered{display:block}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{flex:0 0;max-width:0%;display:none}.el-col-lg-0.is-guttered{display:none}.el-col-lg-offset-0{margin-left:0%}.el-col-lg-pull-0{position:relative;right:0%}.el-col-lg-push-0{position:relative;left:0%}.el-col-lg-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-lg-1.is-guttered{display:block}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-lg-2.is-guttered{display:block}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-lg-3.is-guttered{display:block}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-lg-4.is-guttered{display:block}.el-col-lg-offset-4{margin-left:16.6667%}.el-col-lg-pull-4{position:relative;right:16.6667%}.el-col-lg-push-4{position:relative;left:16.6667%}.el-col-lg-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-lg-5.is-guttered{display:block}.el-col-lg-offset-5{margin-left:20.8333%}.el-col-lg-pull-5{position:relative;right:20.8333%}.el-col-lg-push-5{position:relative;left:20.8333%}.el-col-lg-6{flex:0 0 25%;max-width:25%;display:block}.el-col-lg-6.is-guttered{display:block}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-lg-7.is-guttered{display:block}.el-col-lg-offset-7{margin-left:29.1667%}.el-col-lg-pull-7{position:relative;right:29.1667%}.el-col-lg-push-7{position:relative;left:29.1667%}.el-col-lg-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-lg-8.is-guttered{display:block}.el-col-lg-offset-8{margin-left:33.3333%}.el-col-lg-pull-8{position:relative;right:33.3333%}.el-col-lg-push-8{position:relative;left:33.3333%}.el-col-lg-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-lg-9.is-guttered{display:block}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-lg-10.is-guttered{display:block}.el-col-lg-offset-10{margin-left:41.6667%}.el-col-lg-pull-10{position:relative;right:41.6667%}.el-col-lg-push-10{position:relative;left:41.6667%}.el-col-lg-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-lg-11.is-guttered{display:block}.el-col-lg-offset-11{margin-left:45.8333%}.el-col-lg-pull-11{position:relative;right:45.8333%}.el-col-lg-push-11{position:relative;left:45.8333%}.el-col-lg-12{flex:0 0 50%;max-width:50%;display:block}.el-col-lg-12.is-guttered{display:block}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-lg-13.is-guttered{display:block}.el-col-lg-offset-13{margin-left:54.1667%}.el-col-lg-pull-13{position:relative;right:54.1667%}.el-col-lg-push-13{position:relative;left:54.1667%}.el-col-lg-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-lg-14.is-guttered{display:block}.el-col-lg-offset-14{margin-left:58.3333%}.el-col-lg-pull-14{position:relative;right:58.3333%}.el-col-lg-push-14{position:relative;left:58.3333%}.el-col-lg-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-lg-15.is-guttered{display:block}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-lg-16.is-guttered{display:block}.el-col-lg-offset-16{margin-left:66.6667%}.el-col-lg-pull-16{position:relative;right:66.6667%}.el-col-lg-push-16{position:relative;left:66.6667%}.el-col-lg-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-lg-17.is-guttered{display:block}.el-col-lg-offset-17{margin-left:70.8333%}.el-col-lg-pull-17{position:relative;right:70.8333%}.el-col-lg-push-17{position:relative;left:70.8333%}.el-col-lg-18{flex:0 0 75%;max-width:75%;display:block}.el-col-lg-18.is-guttered{display:block}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-lg-19.is-guttered{display:block}.el-col-lg-offset-19{margin-left:79.1667%}.el-col-lg-pull-19{position:relative;right:79.1667%}.el-col-lg-push-19{position:relative;left:79.1667%}.el-col-lg-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-lg-20.is-guttered{display:block}.el-col-lg-offset-20{margin-left:83.3333%}.el-col-lg-pull-20{position:relative;right:83.3333%}.el-col-lg-push-20{position:relative;left:83.3333%}.el-col-lg-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-lg-21.is-guttered{display:block}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-lg-22.is-guttered{display:block}.el-col-lg-offset-22{margin-left:91.6667%}.el-col-lg-pull-22{position:relative;right:91.6667%}.el-col-lg-push-22{position:relative;left:91.6667%}.el-col-lg-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-lg-23.is-guttered{display:block}.el-col-lg-offset-23{margin-left:95.8333%}.el-col-lg-pull-23{position:relative;right:95.8333%}.el-col-lg-push-23{position:relative;left:95.8333%}.el-col-lg-24{flex:0 0 100%;max-width:100%;display:block}.el-col-lg-24.is-guttered{display:block}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{flex:0 0;max-width:0%;display:none}.el-col-xl-0.is-guttered{display:none}.el-col-xl-offset-0{margin-left:0%}.el-col-xl-pull-0{position:relative;right:0%}.el-col-xl-push-0{position:relative;left:0%}.el-col-xl-1{flex:0 0 4.16667%;max-width:4.16667%;display:block}.el-col-xl-1.is-guttered{display:block}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{flex:0 0 8.33333%;max-width:8.33333%;display:block}.el-col-xl-2.is-guttered{display:block}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{flex:0 0 12.5%;max-width:12.5%;display:block}.el-col-xl-3.is-guttered{display:block}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{flex:0 0 16.6667%;max-width:16.6667%;display:block}.el-col-xl-4.is-guttered{display:block}.el-col-xl-offset-4{margin-left:16.6667%}.el-col-xl-pull-4{position:relative;right:16.6667%}.el-col-xl-push-4{position:relative;left:16.6667%}.el-col-xl-5{flex:0 0 20.8333%;max-width:20.8333%;display:block}.el-col-xl-5.is-guttered{display:block}.el-col-xl-offset-5{margin-left:20.8333%}.el-col-xl-pull-5{position:relative;right:20.8333%}.el-col-xl-push-5{position:relative;left:20.8333%}.el-col-xl-6{flex:0 0 25%;max-width:25%;display:block}.el-col-xl-6.is-guttered{display:block}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{flex:0 0 29.1667%;max-width:29.1667%;display:block}.el-col-xl-7.is-guttered{display:block}.el-col-xl-offset-7{margin-left:29.1667%}.el-col-xl-pull-7{position:relative;right:29.1667%}.el-col-xl-push-7{position:relative;left:29.1667%}.el-col-xl-8{flex:0 0 33.3333%;max-width:33.3333%;display:block}.el-col-xl-8.is-guttered{display:block}.el-col-xl-offset-8{margin-left:33.3333%}.el-col-xl-pull-8{position:relative;right:33.3333%}.el-col-xl-push-8{position:relative;left:33.3333%}.el-col-xl-9{flex:0 0 37.5%;max-width:37.5%;display:block}.el-col-xl-9.is-guttered{display:block}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{flex:0 0 41.6667%;max-width:41.6667%;display:block}.el-col-xl-10.is-guttered{display:block}.el-col-xl-offset-10{margin-left:41.6667%}.el-col-xl-pull-10{position:relative;right:41.6667%}.el-col-xl-push-10{position:relative;left:41.6667%}.el-col-xl-11{flex:0 0 45.8333%;max-width:45.8333%;display:block}.el-col-xl-11.is-guttered{display:block}.el-col-xl-offset-11{margin-left:45.8333%}.el-col-xl-pull-11{position:relative;right:45.8333%}.el-col-xl-push-11{position:relative;left:45.8333%}.el-col-xl-12{flex:0 0 50%;max-width:50%;display:block}.el-col-xl-12.is-guttered{display:block}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{flex:0 0 54.1667%;max-width:54.1667%;display:block}.el-col-xl-13.is-guttered{display:block}.el-col-xl-offset-13{margin-left:54.1667%}.el-col-xl-pull-13{position:relative;right:54.1667%}.el-col-xl-push-13{position:relative;left:54.1667%}.el-col-xl-14{flex:0 0 58.3333%;max-width:58.3333%;display:block}.el-col-xl-14.is-guttered{display:block}.el-col-xl-offset-14{margin-left:58.3333%}.el-col-xl-pull-14{position:relative;right:58.3333%}.el-col-xl-push-14{position:relative;left:58.3333%}.el-col-xl-15{flex:0 0 62.5%;max-width:62.5%;display:block}.el-col-xl-15.is-guttered{display:block}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{flex:0 0 66.6667%;max-width:66.6667%;display:block}.el-col-xl-16.is-guttered{display:block}.el-col-xl-offset-16{margin-left:66.6667%}.el-col-xl-pull-16{position:relative;right:66.6667%}.el-col-xl-push-16{position:relative;left:66.6667%}.el-col-xl-17{flex:0 0 70.8333%;max-width:70.8333%;display:block}.el-col-xl-17.is-guttered{display:block}.el-col-xl-offset-17{margin-left:70.8333%}.el-col-xl-pull-17{position:relative;right:70.8333%}.el-col-xl-push-17{position:relative;left:70.8333%}.el-col-xl-18{flex:0 0 75%;max-width:75%;display:block}.el-col-xl-18.is-guttered{display:block}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{flex:0 0 79.1667%;max-width:79.1667%;display:block}.el-col-xl-19.is-guttered{display:block}.el-col-xl-offset-19{margin-left:79.1667%}.el-col-xl-pull-19{position:relative;right:79.1667%}.el-col-xl-push-19{position:relative;left:79.1667%}.el-col-xl-20{flex:0 0 83.3333%;max-width:83.3333%;display:block}.el-col-xl-20.is-guttered{display:block}.el-col-xl-offset-20{margin-left:83.3333%}.el-col-xl-pull-20{position:relative;right:83.3333%}.el-col-xl-push-20{position:relative;left:83.3333%}.el-col-xl-21{flex:0 0 87.5%;max-width:87.5%;display:block}.el-col-xl-21.is-guttered{display:block}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{flex:0 0 91.6667%;max-width:91.6667%;display:block}.el-col-xl-22.is-guttered{display:block}.el-col-xl-offset-22{margin-left:91.6667%}.el-col-xl-pull-22{position:relative;right:91.6667%}.el-col-xl-push-22{position:relative;left:91.6667%}.el-col-xl-23{flex:0 0 95.8333%;max-width:95.8333%;display:block}.el-col-xl-23.is-guttered{display:block}.el-col-xl-offset-23{margin-left:95.8333%}.el-col-xl-pull-23{position:relative;right:95.8333%}.el-col-xl-push-23{position:relative;left:95.8333%}.el-col-xl-24{flex:0 0 100%;max-width:100%;display:block}.el-col-xl-24.is-guttered{display:block}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{width:100%;min-height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);background-color:var(--el-collapse-header-bg-color);color:var(--el-collapse-header-text-color);cursor:pointer;border:none;border-bottom:1px solid var(--el-collapse-border-color);font-size:var(--el-collapse-header-font-size);transition:border-bottom-color var(--el-transition-duration);box-sizing:border-box;outline:none;align-items:center;padding:0;font-weight:500;display:flex}.el-collapse-item__arrow{transition:transform var(--el-transition-duration);font-weight:300}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__title{text-align:left;flex:auto}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:#0000}.el-collapse-item__wrap{will-change:height;background-color:var(--el-collapse-content-bg-color);box-sizing:border-box;border-bottom:1px solid var(--el-collapse-border-color);overflow:hidden}.el-collapse-item__content{font-size:var(--el-collapse-content-font-size);color:var(--el-collapse-content-text-color);padding-bottom:25px;line-height:1.76923}.el-collapse-item:last-child{margin-bottom:-1px}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-top:1px solid var(--el-collapse-border-color);border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-icon-position-left .el-collapse-item__header{gap:8px}.el-collapse-icon-position-left .el-collapse-item__title{order:1}.el-collapse-icon-position-right .el-collapse-item__header{padding-right:8px}.el-color-picker-panel{--el-colorpicker-bg-color:var(--el-bg-color-overlay);--el-fill-color-blank:var(--el-colorpicker-bg-color);box-sizing:content-box;background:var(--el-colorpicker-bg-color);width:300px;padding:12px}.el-color-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter);border-radius:4px}.el-color-picker-panel__wrapper{margin-bottom:6px}.el-color-picker-panel__footer{text-align:right;justify-content:space-between;margin-top:12px;display:flex}.el-color-picker-panel__footer .el-input{color:#000;width:160px;font-size:12px;line-height:26px}.el-color-picker-panel.is-disabled .el-color-svpanel,.el-color-picker-panel.is-disabled .el-color-hue-slider{cursor:not-allowed;opacity:.3}.el-color-picker-panel.is-disabled .el-color-hue-slider__thumb{cursor:not-allowed}.el-color-picker-panel.is-disabled .el-color-alpha-slider,.el-color-picker-panel.is-disabled .el-color-predefine .el-color-predefine__color-selector{cursor:not-allowed;opacity:.3}.el-color-predefine{width:280px;margin-top:8px;font-size:12px;display:flex}.el-color-predefine__colors{flex-wrap:wrap;flex:1;gap:8px;display:flex}.el-color-predefine__color-selector{border-radius:var(--el-border-radius-base);cursor:pointer;border:none;outline:none;width:20px;height:20px;padding:0;overflow:hidden}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px var(--el-color-primary)}.el-color-predefine__color-selector:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-color-predefine__color-selector>div{height:100%;display:flex}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{box-sizing:border-box;float:right;background-color:red;width:280px;height:12px;padding:0 2px;position:relative}.el-color-hue-slider__bar{background:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red);height:100%;position:relative}.el-color-hue-slider__thumb{cursor:pointer;box-sizing:border-box;border:1px solid var(--el-border-color-lighter);z-index:1;background:#fff;border-radius:1px;width:4px;height:100%;position:absolute;top:0;left:0;box-shadow:0 0 2px #0009}.el-color-hue-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{width:100%;height:4px;top:0;left:0}.el-color-svpanel{background-image:linear-gradient(#0000,#000),linear-gradient(90deg,#fff,#fff0);width:280px;height:180px;position:relative}.el-color-svpanel__cursor{cursor:pointer;border-radius:50%;width:4px;height:4px;position:absolute;transform:translate(-2px,-2px);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px #0000004d,0 0 1px 2px #0006}.el-color-svpanel__cursor:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-color-alpha-slider{box-sizing:border-box;background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px;width:280px;height:12px;position:relative}.el-color-alpha-slider.is-disabled .el-color-alpha-slider__thumb{cursor:not-allowed}.el-color-alpha-slider__bar{background:linear-gradient(to right,#fff0 0%,var(--el-bg-color) 100%);height:100%;position:relative}.el-color-alpha-slider__thumb{cursor:pointer;box-sizing:border-box;border:1px solid var(--el-border-color-lighter);z-index:1;background:#fff;border-radius:1px;width:4px;height:100%;position:absolute;top:0;left:0;box-shadow:0 0 2px #0009}.el-color-alpha-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(#fff0,#fff)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{width:100%;height:4px;top:0;left:0}.el-color-picker-panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker-panel{--el-color-picker-alpha-bg-a:#333}.el-color-picker{outline:none;width:32px;height:32px;line-height:normal;display:inline-block;position:relative}.el-color-picker:hover:not(:-webkit-any(.is-disabled,.is-focused)) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:hover:not(:is(.is-disabled,.is-focused)) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:focus-visible:not(.is-disabled) .el-color-picker__trigger{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-picker.is-focused .el-color-picker__trigger{border-color:var(--el-color-primary)}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed;background-color:var(--el-fill-color-light)}.el-color-picker.is-disabled .el-color-picker__color{opacity:.3}.el-color-picker--large{width:40px;height:40px}.el-color-picker--small{width:24px;height:24px}.el-color-picker--small .el-color-picker__icon,.el-color-picker--small .el-color-picker__empty{transform:scale(.8)}.el-color-picker__trigger{box-sizing:border-box;border:1px solid var(--el-border-color);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;padding:4px;font-size:0;display:inline-flex;position:relative}.el-color-picker__color{box-sizing:border-box;border:1px solid var(--el-text-color-secondary);border-radius:var(--el-border-radius-small);text-align:center;width:100%;height:100%;display:block;position:relative}.el-color-picker__color.is-alpha{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px}.el-color-picker__color-inner{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.el-color-picker .el-color-picker__empty{color:var(--el-text-color-secondary);font-size:12px}.el-color-picker .el-color-picker__icon{color:#fff;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.el-color-picker__panel{border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light);background-color:#fff}.el-color-picker__panel.el-popper{border:1px solid var(--el-border-color-lighter)}.el-color-picker,.el-color-picker__panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker,.dark .el-color-picker__panel{--el-color-picker-alpha-bg-a:#333}.el-container{box-sizing:border-box;flex-direction:row;flex:auto;min-width:0;display:flex}.el-container.is-vertical{flex-direction:column}.el-date-table{-webkit-user-select:none;user-select:none;font-size:12px}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;text-align:center;cursor:pointer;width:32px;height:30px;padding:4px 0;position:relative}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;width:24px;height:24px;margin:0 auto;line-height:24px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-date-table td.today.start-date .el-date-table-cell__text,.el-date-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.start-date .el-date-table-cell,.el-date-table td.end-date .el-date-table-cell{color:#fff}.el-date-table td.start-date .el-date-table-cell__text,.el-date-table td.end-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);opacity:1;cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-date-table td.selected .el-date-table-cell{border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff;border-radius:15px}.el-date-table td.week{color:var(--el-datepicker-off-text-color);cursor:default;font-size:80%}.el-date-table td:focus{outline:none}.el-date-table th{color:var(--el-datepicker-header-text-color);border-bottom:solid 1px var(--el-border-color-lighter);padding:5px;font-weight:400}.el-date-table th.el-date-table__week-header{width:24px;padding:0}.el-month-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-month-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-month-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-month-table td.today.start-date .el-date-table-cell__text,.el-month-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-month-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-month-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-month-table td .el-date-table-cell__text{width:54px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-month-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.start-date .el-date-table-cell,.el-month-table td.end-date .el-date-table-cell{color:#fff}.el-month-table td.start-date .el-date-table-cell__text,.el-month-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px;margin-left:3px}.el-month-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-year-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-year-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-year-table td.today.start-date .el-date-table-cell__text,.el-year-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-year-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-year-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-year-table td .el-date-table-cell__text{width:60px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-year-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-year-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-year-table td.start-date .el-date-table-cell,.el-year-table td.end-date .el-date-table-cell{color:#fff}.el-year-table td.start-date .el-date-table-cell__text,.el-year-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-year-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-year-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{vertical-align:top;width:50%;max-height:192px;display:inline-block;position:relative;overflow:auto}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);width:100%;z-index:var(--el-index-normal);text-align:center;cursor:pointer;height:30px;font-size:12px;line-height:30px;position:absolute;left:0}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner{text-align:center;padding:0}.el-time-spinner__list{text-align:center;margin:0;padding:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";width:100%;height:80px;display:block}.el-time-spinner__item{height:32px;color:var(--el-text-color-regular);font-size:12px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;text-align:left;vertical-align:middle;position:relative}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{width:var(--el-date-editor-width);height:var(--el-input-height,var(--el-component-size))}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .close-icon,.el-date-editor .clear-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__icon{height:inherit;color:var(--el-text-color-placeholder);float:left;font-size:14px}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;width:39%;height:30px;line-height:30px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);background-color:#0000;border:none;outline:none;margin:0;padding:0;display:inline-block}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{overflow-wrap:break-word;height:100%;color:var(--el-text-color-primary);flex:1;justify-content:center;align-items:center;margin:0;padding:0 5px;font-size:14px;display:inline-flex}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);height:inherit;width:unset;cursor:pointer;font-size:14px}.el-date-editor .el-range__close-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{vertical-align:middle;align-items:center;padding:0 10px;display:inline-flex}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{height:38px;font-size:14px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{height:22px;font-size:12px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled:hover,.el-range-editor.is-disabled:focus{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{color:var(--el-text-color-regular);background:var(--el-datepicker-bg-color);border-radius:var(--el-popper-border-radius,var(--el-border-radius-base));line-height:30px}.el-picker-panel .el-time-panel{border:solid 1px var(--el-datepicker-border-color);background-color:var(--el-datepicker-bg-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body:after,.el-picker-panel__body-wrapper:after{content:"";clear:both;display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{border-top:1px solid var(--el-datepicker-inner-border-color);text-align:right;background-color:var(--el-datepicker-bg-color);padding:4px 12px;font-size:0;position:relative}.el-picker-panel__shortcut{width:100%;color:var(--el-datepicker-text-color);text-align:left;cursor:pointer;background-color:#0000;border:0;outline:none;padding-left:12px;font-size:14px;line-height:28px;display:block}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{color:var(--el-datepicker-active-color);background-color:#e6f1fe}.el-picker-panel__btn{border:1px solid var(--el-fill-color-darker);color:var(--el-text-color-primary);cursor:pointer;background-color:#0000;border-radius:2px;outline:none;padding:0 20px;font-size:12px;line-height:24px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{color:var(--el-datepicker-icon-color);cursor:pointer;background:0 0;border:0;outline:none;margin-top:8px;padding:1px 6px;font-size:12px;line-height:1}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn.is-disabled .el-icon{cursor:inherit}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel.is-disabled .el-picker-panel__prev-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__prev-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__prev-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__next-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__next-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__next-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__icon-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__icon-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__icon-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__shortcut{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__shortcut:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__shortcut .el-icon{cursor:inherit}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;padding-top:6px;position:absolute;top:0;bottom:0;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);--el-fill-color-blank:var(--el-datepicker-bg-color);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-picker__header{text-align:center;padding:12px 12px 0}.el-date-picker__header--bordered{border-bottom:solid 1px var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{text-align:center;padding:10px}.el-date-picker__time-label{float:left;cursor:pointer;margin-left:10px;line-height:30px}.el-date-picker .el-time-panel{position:absolute}.el-date-picker.is-disabled .el-date-picker__header-label{color:var(--el-text-color-disabled)}.el-date-picker.is-disabled .el-date-picker__header-label:hover{cursor:not-allowed}.el-date-picker.is-disabled .el-date-picker__header-label .el-icon{cursor:inherit}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{text-align:center;height:28px;position:relative}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{margin-right:50px;font-size:16px;font-weight:500}.el-date-range-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-range-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-range-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-range-picker__content{box-sizing:border-box;width:50%;margin:0;padding:16px;display:table-cell}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-range-picker__time-header>.el-icon-arrow-right{vertical-align:middle;color:var(--el-datepicker-icon-color);font-size:20px;display:table-cell}.el-date-range-picker__time-picker-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{z-index:1;background:#fff;position:absolute;top:13px;right:0}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-date-range-picker.is-disabled .el-date-range-picker__header-label{color:var(--el-text-color-disabled)}.el-date-range-picker.is-disabled .el-date-range-picker__header-label:hover{cursor:not-allowed}.el-date-range-picker.is-disabled .el-date-range-picker__header-label .el-icon{cursor:inherit}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{text-align:center;z-index:1;padding:10px;position:relative}.el-time-range-picker__cell{box-sizing:border-box;width:50%;margin:0;padding:4px 7px 7px;display:inline-block}.el-time-range-picker__header{text-align:center;margin-bottom:5px;font-size:14px}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{width:180px;z-index:var(--el-index-top);-webkit-user-select:none;user-select:none;box-sizing:content-box;border-radius:2px;position:relative;left:0}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";z-index:-1;box-sizing:border-box;text-align:left;height:32px;margin-top:-16px;padding-top:6px;position:absolute;top:50%;left:0;right:0}.el-time-panel__content:after{margin-left:12%;margin-right:12%;left:50%}.el-time-panel__content:before{border-top:1px solid var(--el-border-color-light);border-bottom:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));text-align:right;box-sizing:border-box;height:36px;padding:4px;line-height:25px}.el-time-panel__btn{cursor:pointer;color:var(--el-text-color-primary);background-color:#0000;border:none;outline:none;margin:0 5px;padding:0 5px;font-size:12px;line-height:28px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter)}.el-picker-panel.is-border .el-picker-panel__body-wrapper{position:relative}.el-picker-panel.is-border.el-picker-panel [slot=sidebar],.el-picker-panel.is-border.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;height:100%;padding-top:6px;position:absolute;top:0;overflow:auto}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary)}.el-descriptions__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;text-align:left;font-size:14px;line-height:23px}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{color:var(--el-text-color-regular);background:var(--el-descriptions-item-bordered-label-background);font-weight:700}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}.el-divider{position:relative}.el-divider--horizontal{border-top:1px var(--el-border-color) var(--el-border-style);width:100%;height:1px;margin:24px 0;display:block}.el-divider--vertical{vertical-align:middle;border-left:1px var(--el-border-color) var(--el-border-style);width:1px;height:1em;margin:0 8px;display:inline-block;position:relative}.el-divider__text{background-color:var(--el-bg-color);color:var(--el-text-color-primary);padding:0 20px;font-size:14px;font-weight:500;position:absolute}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translate(-50%)translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-overlay.is-drawer{overflow:hidden}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);--el-drawer-dragger-size:8px;box-sizing:border-box;background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);transition:all var(--el-transition-duration);flex-direction:column;display:flex;position:absolute}.el-drawer .rtl,.el-drawer .ltr,.el-drawer .ttb,.el-drawer .btt{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{color:var(--el-text-color-primary);padding:var(--el-drawer-padding-primary);align-items:center;margin-bottom:32px;padding-bottom:0;display:flex;overflow:hidden}.el-drawer__header>:first-child{flex:1}.el-drawer__title{line-height:inherit;flex:1;margin:0;font-size:16px}.el-drawer__footer{padding:var(--el-drawer-padding-primary);text-align:right;padding-top:10px;overflow:hidden}.el-drawer__close-btn{cursor:pointer;font-size:var(--el-font-size-extra-large);color:inherit;background-color:#0000;border:none;outline:none;display:inline-flex}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{padding:var(--el-drawer-padding-primary);flex:1;overflow:auto}.el-drawer__body>*{box-sizing:border-box}.el-drawer.is-dragging{transition:none}.el-drawer__dragger{-webkit-user-select:none;user-select:none;background-color:#0000;transition:all .2s;position:absolute}.el-drawer__dragger:before{content:"";background-color:#0000;transition:all .2s;position:absolute}.el-drawer__dragger:hover:before{background-color:var(--el-color-primary)}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.ltr>.el-drawer__dragger,.el-drawer.rtl>.el-drawer__dragger{height:100%;width:var(--el-drawer-dragger-size);cursor:ew-resize;top:0;bottom:0}.el-drawer.ltr>.el-drawer__dragger:before,.el-drawer.rtl>.el-drawer__dragger:before{width:3px;top:0;bottom:0}.el-drawer.ttb,.el-drawer.btt{width:100%;left:0;right:0}.el-drawer.ttb>.el-drawer__dragger,.el-drawer.btt>.el-drawer__dragger{width:100%;height:var(--el-drawer-dragger-size);cursor:ns-resize;left:0;right:0}.el-drawer.ttb>.el-drawer__dragger:before,.el-drawer.btt>.el-drawer__dragger:before{height:3px;left:0;right:0}.el-drawer.ltr{left:0}.el-drawer.ltr>.el-drawer__dragger{right:0}.el-drawer.ltr>.el-drawer__dragger:before{right:-2px}.el-drawer.rtl{right:0}.el-drawer.rtl>.el-drawer__dragger{left:0}.el-drawer.rtl>.el-drawer__dragger:before{left:-2px}.el-drawer.ttb{top:0}.el-drawer.ttb>.el-drawer__dragger{bottom:0}.el-drawer.ttb>.el-drawer__dragger:before{bottom:-2px}.el-drawer.btt{bottom:0}.el-drawer.btt>.el-drawer__dragger{top:0}.el-drawer.btt>.el-drawer__dragger:before{top:-2px}.el-modal-drawer.is-penetrable{pointer-events:none}.el-modal-drawer.is-penetrable .el-drawer{pointer-events:auto}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-from,.el-drawer-fade-enter-active,.el-drawer-fade-enter-to,.el-drawer-fade-leave-from,.el-drawer-fade-leave-active,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:#0000!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translate(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translate(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;color:var(--el-text-color-regular);font-size:var(--el-font-size-base);vertical-align:top;line-height:1;display:inline-flex;position:relative}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:none}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{box-sizing:border-box;margin:0;padding:0;list-style:none}.el-dropdown .el-dropdown__caret-button{border-left:none;justify-content:center;align-items:center;width:32px;padding-left:0;padding-right:0;display:inline-flex}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{content:"";background:var(--el-overlay-color-lighter);width:1px;display:block;position:absolute;top:-1px;bottom:-1px;left:0}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:none}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{z-index:var(--el-dropdown-menu-index);background-color:var(--el-bg-color-overlay);border-radius:var(--el-border-radius-base);box-shadow:none;border:none;margin:0;padding:5px 0;list-style:none;position:relative;top:0;left:0}.el-dropdown-menu__item{white-space:nowrap;line-height:22px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);cursor:pointer;outline:none;align-items:center;margin:0;padding:5px 16px;list-style:none;display:flex}.el-dropdown-menu__item:not(.is-disabled):hover,.el-dropdown-menu__item:not(.is-disabled):focus{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{border-top:1px solid var(--el-border-color-lighter);margin:6px 0}.el-dropdown-menu__item.is-disabled{cursor:not-allowed;color:var(--el-text-color-disabled)}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{padding:7px 20px;font-size:14px;line-height:22px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{padding:2px 12px;font-size:12px;line-height:20px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0}.el-empty{--el-empty-padding:40px 0;--el-empty-image-width:160px;--el-empty-description-margin-top:20px;--el-empty-bottom-margin-top:20px;--el-empty-fill-color-0:var(--el-color-white);--el-empty-fill-color-1:#fcfcfd;--el-empty-fill-color-2:#f8f9fb;--el-empty-fill-color-3:#f7f8fc;--el-empty-fill-color-4:#eeeff3;--el-empty-fill-color-5:#edeef2;--el-empty-fill-color-6:#e9ebef;--el-empty-fill-color-7:#e5e7e9;--el-empty-fill-color-8:#e0e3e9;--el-empty-fill-color-9:#d5d7de;text-align:center;box-sizing:border-box;padding:var(--el-empty-padding);flex-direction:column;justify-content:center;align-items:center;display:flex}.el-empty__image{width:var(--el-empty-image-width)}.el-empty__image img{-webkit-user-select:none;user-select:none;vertical-align:top;object-fit:contain;width:100%;height:100%}.el-empty__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;vertical-align:top;width:100%;height:100%}.el-empty__description{margin-top:var(--el-empty-description-margin-top)}.el-empty__description p{font-size:var(--el-font-size-base);color:var(--el-text-color-secondary);margin:0}.el-empty__bottom{margin-top:var(--el-empty-bottom-margin-top)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;padding:var(--el-footer-padding);box-sizing:border-box;height:var(--el-footer-height);flex-shrink:0}.el-form-item{--font-size:14px;margin-bottom:18px;display:flex}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{text-align:left;justify-content:flex-start}.el-form-item--label-right .el-form-item__label{text-align:right;justify-content:flex-end}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{text-align:left;width:-moz-fit-content;width:fit-content;height:auto;margin-bottom:8px;padding-right:0;line-height:22px;display:block}.el-form-item__label-wrap{display:flex}.el-form-item__label{font-size:var(--el-form-label-font-size);color:var(--el-text-color-regular);box-sizing:border-box;flex:none;align-items:flex-start;height:32px;padding:0 12px 0 0;line-height:32px;display:inline-flex}.el-form-item__content{line-height:32px;font-size:var(--font-size);flex-wrap:wrap;flex:1;align-items:center;min-width:0;display:flex;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);padding-top:2px;font-size:12px;line-height:1;position:absolute;top:100%;left:0}.el-form-item__error--inline{margin-left:10px;display:inline-block;position:relative;top:auto;left:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before{content:"*";color:var(--el-color-danger);margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after{content:"*";color:var(--el-color-danger);margin-left:4px}.el-form-item.is-error .el-form-item__content .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner,.el-form-item.is-error .el-form-item__content .el-textarea__inner:hover,.el-form-item.is-error .el-form-item__content .el-textarea__inner:focus,.el-form-item.is-error .el-form-item__content .el-textarea__inner.is-focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper,.el-form-item.is-error .el-form-item__content .el-select__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-select__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-select__wrapper.is-focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:hover,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper:focus,.el-form-item.is-error .el-form-item__content .el-input-tag__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px #0000}.el-form-item.is-error .el-form-item__content .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-form-item__content .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-form-item__content .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--inline .el-form-item{vertical-align:middle;margin-right:32px;display:inline-flex}.el-form--inline.el-form--label-top{flex-wrap:wrap;display:flex}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-header{--el-header-padding:0 20px;--el-header-height:60px;padding:var(--el-header-padding);box-sizing:border-box;height:var(--el-header-height);flex-shrink:0}.el-image-viewer__wrapper{position:fixed;inset:0}.el-image-viewer__wrapper:focus{outline:none!important}.el-image-viewer__btn{z-index:1;opacity:.8;cursor:pointer;box-sizing:border-box;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.el-image-viewer__btn .el-icon{cursor:pointer}.el-image-viewer__close{width:40px;height:40px;font-size:40px;top:40px;right:40px}.el-image-viewer__canvas{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:static}.el-image-viewer__actions{background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px;height:44px;padding:0 23px;bottom:30px;left:50%;transform:translate(-50%)}.el-image-viewer__actions__inner{cursor:default;color:#fff;justify-content:space-around;align-items:center;gap:22px;width:100%;height:100%;padding:0 6px;font-size:23px;display:flex}.el-image-viewer__actions__divider{margin:0 -6px}.el-image-viewer__progress{cursor:default;color:#fff;bottom:90px;left:50%;transform:translate(-50%)}.el-image-viewer__prev{color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px;top:50%;left:40px;transform:translateY(-50%)}.el-image-viewer__next{text-indent:2px;color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px;top:50%;right:40px;transform:translateY(-50%)}.el-image-viewer__close{color:#fff;background-color:var(--el-text-color-regular);border-color:#fff;width:44px;height:44px;font-size:24px}.el-image-viewer__mask{opacity:.5;background:#000;width:100%;height:100%;position:absolute;top:0;left:0}.el-image-viewer-parent--hidden{overflow:hidden}.viewer-fade-enter-active{animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{animation:viewer-fade-out var(--el-transition-duration)}@keyframes viewer-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}@keyframes viewer-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-20px)}}.el-image__error,.el-image__placeholder,.el-image__wrapper,.el-image__inner{width:100%;height:100%}.el-image{display:inline-block;position:relative;overflow:hidden}.el-image__inner{vertical-align:top;opacity:1}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{position:absolute;top:0;left:0}.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{background:var(--el-fill-color-light);color:var(--el-text-color-placeholder);vertical-align:middle;justify-content:center;align-items:center;font-size:14px;display:flex}.el-image__preview{cursor:pointer}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;vertical-align:bottom;width:100%;font-size:var(--el-font-size-base);display:inline-block;position:relative}.el-textarea__inner{resize:vertical;box-sizing:border-box;width:100%;line-height:1.5;font-size:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);background-image:none;border:none;padding:5px 11px;font-family:inherit;display:block;position:relative}.el-textarea__inner.is-clearable{padding:5px 26px 5px 11px}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea__clear{color:var(--el-input-icon-color);cursor:pointer;font-size:14px;position:absolute;top:15px;right:11px;transform:translateY(-50%)}.el-textarea__clear:hover{color:var(--el-input-clear-hover-color)}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);font-size:12px;line-height:14px;position:absolute;bottom:5px;right:10px}.el-textarea .el-input__count.is-outside{top:100%;right:0;bottom:unset;background:0 0;padding-top:2px;line-height:1;position:absolute}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);font-size:var(--el-font-size-base);width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle;display:inline-flex;position:relative}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;color:var(--el-color-info);align-items:center;font-size:12px;display:inline-flex}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;padding-left:8px;display:inline-block}.el-input .el-input__count.is-outside{height:unset;padding-top:2px;position:absolute;top:100%;right:0}.el-input .el-input__count.is-outside .el-input__count-inner{background:0 0;padding-left:0;line-height:1}.el-input__wrapper{background-color:var(--el-input-bg-color,var(--el-fill-color-blank));border-radius:var(--el-input-border-radius,var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;background-image:none;flex-grow:1;justify-content:center;align-items:center;padding:1px 11px;display:inline-flex;transform:translate(0)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height,32px) - 2px)}.el-input__inner{-webkit-appearance:none;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);box-sizing:border-box;background:0 0;border:none;outline:none;flex-grow:1;padding:0}.el-input__inner:focus{outline:none}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__prefix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{white-space:nowrap;height:100%;line-height:var(--el-input-inner-height);text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none;flex-wrap:nowrap;flex-shrink:0;display:inline-flex}.el-input__suffix-inner{pointer-events:all;justify-content:center;align-items:center;display:inline-flex}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;transition:all var(--el-transition-duration);justify-content:center;align-items:center;margin-left:8px;display:flex}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);cursor:not-allowed;box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-disabled .el-input__prefix-inner,.el-input.is-disabled .el-input__suffix-inner{pointer-events:none}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height,40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height,24px) - 2px)}.el-input-group{align-items:stretch;width:100%;display:inline-flex}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);border-radius:var(--el-input-border-radius);white-space:nowrap;justify-content:center;align-items:center;min-height:100%;padding:0 20px;display:inline-flex;position:relative}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-select,.el-input-group__append .el-button,.el-input-group__prepend .el-select,.el-input-group__prepend .el-button{flex:1;margin:0 -20px;display:inline-block}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{color:inherit;background-color:#0000;border-color:#0000}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append{box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset;border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset;border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-hidden{display:none!important}.el-input-number{vertical-align:middle;width:150px;line-height:30px;display:inline-flex;position:relative}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number.is-left .el-input__inner{text-align:left}.el-input-number.is-right .el-input__inner{text-align:right}.el-input-number.is-center .el-input__inner{text-align:center}.el-input-number__increase,.el-input-number__decrease{z-index:1;background:var(--el-fill-color-light);width:32px;height:auto;color:var(--el-text-color-regular);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:1px;bottom:1px}.el-input-number__increase:hover,.el-input-number__decrease:hover{color:var(--el-color-primary)}.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__increase.is-disabled,.el-input-number__decrease.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border);right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__increase,.el-input-number.is-disabled .el-input-number__decrease{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__increase:hover,.el-input-number.is-disabled .el-input-number__decrease:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__increase,.el-input-number--large .el-input-number__decrease{width:40px;font-size:14px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__increase,.el-input-number--small .el-input-number__decrease{width:24px;font-size:12px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__increase [class*=el-icon],.el-input-number--small .el-input-number__decrease [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__increase,.el-input-number.is-controls-right .el-input-number__decrease{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon],.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border);bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;top:auto;left:auto;right:1px}.el-input-number.is-controls-right[class*=large] [class*=increase],.el-input-number.is-controls-right[class*=large] [class*=decrease]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=increase],.el-input-number.is-controls-right[class*=small] [class*=decrease]{--el-input-number-controls-height:11px}.el-input-tag{--el-input-tag-border-color-hover:var(--el-border-color-hover);--el-input-tag-placeholder-color:var(--el-text-color-placeholder);--el-input-tag-disabled-color:var(--el-disabled-text-color);--el-input-tag-disabled-border:var(--el-disabled-border-color);--el-input-tag-font-size:var(--el-font-size-base);--el-input-tag-close-hover-color:var(--el-text-color-secondary);--el-input-tag-text-color:var(--el-text-color-regular);--el-input-tag-input-focus-border-color:var(--el-color-primary);--el-input-tag-width:100%;--el-input-tag-mini-height:var(--el-component-size);--el-input-tag-gap:6px;--el-input-tag-padding:4px;--el-input-tag-inner-padding:8px;--el-input-tag-line-height:24px;box-sizing:border-box;cursor:pointer;font-size:var(--el-input-tag-font-size);padding:var(--el-input-tag-padding);width:var(--el-input-tag-width);min-height:var(--el-input-tag-mini-height);line-height:var(--el-input-tag-line-height);border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);transition:var(--el-transition-duration);box-shadow:0 0 0 1px var(--el-border-color) inset;align-items:center;display:flex;transform:translate(0)}.el-input-tag.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-tag.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-input-tag.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled:hover{box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input-tag.is-disabled .el-input-tag__inner .el-input-tag__input,.el-input-tag.is-disabled .el-input-tag__inner .el-tag{cursor:not-allowed}.el-input-tag__prefix{padding:0 var(--el-input-tag-inner-padding);color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;display:flex}.el-input-tag__suffix{padding:0 var(--el-input-tag-inner-padding);color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;gap:8px;display:flex}.el-input-tag__collapse-tag{line-height:1}.el-input-tag__input-tag-list{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.el-input-tag__input-tag-list.is-near{margin-left:-8px}.el-input-tag__input-tag-list .el-tag{cursor:pointer;border-color:#0000}.el-input-tag__input-tag-list .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__input-tag-list .el-tag .el-tag__content{min-width:0}.el-input-tag__inner{align-items:center;gap:var(--el-input-tag-gap);flex-wrap:wrap;flex:1;min-width:0;max-width:100%;display:flex;position:relative}.el-input-tag__inner.is-left-space{margin-left:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-right-space{margin-right:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-draggable .el-tag{cursor:move;-webkit-user-select:none;user-select:none}.el-input-tag__drop-indicator{width:1px;height:var(--el-input-tag-line-height);background-color:var(--el-color-primary);position:absolute;top:0}.el-input-tag__inner .el-tag{cursor:pointer;border-color:#0000;max-width:100%}.el-input-tag__inner .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__inner .el-tag .el-tag__content{text-overflow:ellipsis;white-space:nowrap;min-width:0;line-height:normal;overflow:hidden}.el-input-tag__input-wrapper{flex:1}.el-input-tag__input{color:var(--el-input-tag-text-color);font-size:inherit;font-family:inherit;line-height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;outline:none;width:100%;padding:0}.el-input-tag__input::placeholder{color:var(--el-input-tag-placeholder-color)}.el-input-tag__input-calculator{visibility:hidden;white-space:pre;max-width:100%;position:absolute;top:0;left:0;overflow:hidden}.el-input-tag--large{--el-input-tag-gap:6px;--el-input-tag-padding:8px;--el-input-tag-padding-left:8px;--el-input-tag-font-size:14px}.el-input-tag--small{--el-input-tag-gap:4px;--el-input-tag-padding:2px;--el-input-tag-padding-left:6px;--el-input-tag-font-size:12px;--el-input-tag-line-height:20px;--el-input-tag-mini-height:var(--el-component-size-small)}.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder);vertical-align:middle;cursor:pointer;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);color:var(--el-link-text-color);outline:none;flex-direction:row;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex;position:relative}.el-link.is-hover-underline:hover:after{content:"";border-bottom:1px solid var(--el-link-hover-text-color);height:0;position:absolute;bottom:0;left:0;right:0}.el-link.is-underline:after{content:"";border-bottom:1px solid var(--el-link-text-color);height:0;position:absolute;bottom:0;left:0;right:0}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link:hover:after{border-color:var(--el-link-hover-text-color)}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link__inner{justify-content:center;align-items:center;display:inline-flex}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link.is-disabled:after{border-color:var(--el-link-disabled-text-color)}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{z-index:2000;background-color:var(--el-mask-color);transition:opacity var(--el-transition-duration);margin:0;position:absolute;inset:0}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size)) / 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size)) / 2);text-align:center;width:100%;position:absolute;top:50%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);animation:2s linear infinite loading-rotate;display:inline}.el-loading-spinner .path{stroke-dasharray:90 150;stroke-dashoffset:0;stroke-width:2px;stroke:var(--el-color-primary);stroke-linecap:round;animation:1.5s ease-in-out infinite loading-dash}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-40px}to{stroke-dasharray:90 150;stroke-dashoffset:-120px}}.el-main{--el-main-padding:20px;box-sizing:border-box;padding:var(--el-main-padding);flex:auto;display:block;overflow:auto}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{border-right:solid 1px var(--el-menu-border-color);background-color:var(--el-menu-bg-color);box-sizing:border-box;margin:0;padding-left:0;list-style:none;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title{white-space:nowrap;padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding))}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{height:var(--el-menu-horizontal-height);border-right:none;flex-wrap:nowrap;display:flex}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:solid 1px var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000;justify-content:center;align-items:center;margin:0;display:inline-flex}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{background-color:var(--el-menu-bg-color);height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);color:var(--el-menu-text-color);align-items:center;padding:0 10px;display:flex}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-menu-item.is-active:hover,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title:hover{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):hover,.el-menu--horizontal .el-menu-item:not(.is-disabled):focus{color:var(--el-menu-active-color,var(--el-menu-hover-text-color));background-color:var(--el-menu-hover-bg-color);outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin:0}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span{visibility:hidden;width:0;height:0;display:inline-block;overflow:hidden}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{z-index:100;border-radius:var(--el-border-radius-small);min-width:200px;box-shadow:var(--el-box-shadow-light);border:none;padding:5px 0}.el-menu .el-icon{flex-shrink:0}.el-menu-item{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:hover,.el-menu-item:focus{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon]{width:var(--el-menu-icon-width);text-align:center;vertical-align:middle;margin-right:5px;font-size:18px}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{box-sizing:border-box;width:100%;height:100%;padding:0 var(--el-menu-base-level-padding);align-items:center;display:inline-flex;position:absolute;top:0;left:0}.el-sub-menu{margin:0;padding-left:0;list-style:none}.el-sub-menu__title{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:hover,.el-sub-menu__title:focus{outline:none}.el-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu.el-sub-menu__hide-arrow .el-sub-menu__title{padding-right:var(--el-menu-base-level-padding)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-sub-menu__title,.el-sub-menu.is-disabled .el-menu-item{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu .el-icon{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin-right:5px;font-size:18px}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{top:50%;right:var(--el-menu-base-level-padding);transition:transform var(--el-transition-duration);width:inherit;margin-top:-6px;margin-right:0;font-size:12px;position:absolute}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px var(--el-menu-base-level-padding);color:var(--el-text-color-secondary);font-size:12px;line-height:normal}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{transition:var(--el-transition-duration-fast);opacity:0}.el-popper,.el-menu--popup-container,.el-menu{outline:none}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-box-shadow:var(--el-box-shadow);--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:12px;--el-messagebox-font-line-height:var(--el-font-line-height-primary);max-width:var(--el-messagebox-width);width:100%;padding:var(--el-messagebox-padding-primary);vertical-align:middle;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);font-size:var(--el-messagebox-font-size);box-shadow:var(--el-messagebox-box-shadow);text-align:left;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;overflow-wrap:break-word;display:inline-block;position:relative;overflow:hidden}.el-message-box:focus{outline:none!important}.is-message-box .el-overlay-message-box{text-align:center;padding:16px;position:fixed;inset:0;overflow:auto}.is-message-box .el-overlay-message-box:after{content:"";vertical-align:middle;width:0;height:100%;display:inline-block}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size,16px))}.el-message-box__title{font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height);color:var(--el-messagebox-title-color)}.el-message-box__headerbtn{width:40px;height:40px;font-size:var(--el-message-close-size,16px);cursor:pointer;background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{align-items:center;gap:12px;display:flex}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input,.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--primary{--el-messagebox-color:var(--el-color-primary);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{min-width:0;margin:0}.el-message-box__message p{line-height:var(--el-messagebox-font-line-height);margin:0}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{padding-top:var(--el-messagebox-padding-primary);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.el-message-box--center .el-message-box__title{justify-content:center;align-items:center;gap:6px;display:flex}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.el-message-box-parent--hidden{overflow:hidden}.fade-in-linear-enter-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@keyframes msgbox-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);background-color:var(--el-message-bg-color);width:max-content;max-width:calc(100% - 32px);transition:opacity var(--el-transition-duration),transform .4s,top .4s,bottom .4s;padding:var(--el-message-padding);align-items:center;gap:8px;display:flex;position:fixed}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:50%;transform:translate(-50%)}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0}.el-message-fade-enter-from.is-left,.el-message-fade-enter-from.is-right,.el-message-fade-leave-to.is-left,.el-message-fade-leave-to.is-right{transform:translateY(-100%)}.el-message-fade-enter-from.is-left.is-bottom,.el-message-fade-enter-from.is-right.is-bottom,.el-message-fade-leave-to.is-left.is-bottom,.el-message-fade-leave-to.is-right.is-bottom{transform:translateY(100%)}.el-message-fade-enter-from.is-center,.el-message-fade-leave-to.is-center{transform:translate(-50%,-100%)}.el-message-fade-enter-from.is-center.is-bottom,.el-message-fade-leave-to.is-center.is-bottom{transform:translate(-50%,100%)}.el-notification{--el-notification-width:330px;--el-notification-padding:14px 26px 14px 13px;--el-notification-radius:8px;--el-notification-shadow:var(--el-box-shadow-light);--el-notification-border-color:var(--el-border-color-lighter);--el-notification-icon-size:24px;--el-notification-close-font-size:var(--el-message-close-size,16px);--el-notification-group-margin-left:13px;--el-notification-group-margin-right:8px;--el-notification-content-font-size:var(--el-font-size-base);--el-notification-content-color:var(--el-text-color-regular);--el-notification-title-font-size:16px;--el-notification-title-color:var(--el-text-color-primary);--el-notification-close-color:var(--el-text-color-secondary);--el-notification-close-hover-color:var(--el-text-color-regular);width:var(--el-notification-width);padding:var(--el-notification-padding);border-radius:var(--el-notification-radius);box-sizing:border-box;border:1px solid var(--el-notification-border-color);background-color:var(--el-bg-color-overlay);box-shadow:var(--el-notification-shadow);transition:opacity var(--el-transition-duration),transform var(--el-transition-duration),left var(--el-transition-duration),right var(--el-transition-duration),top .4s,bottom var(--el-transition-duration);overflow-wrap:break-word;z-index:9999;display:flex;position:fixed;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{min-width:0;margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right);flex:1}.el-notification__title{font-weight:700;font-size:var(--el-notification-title-font-size);line-height:var(--el-notification-icon-size);color:var(--el-notification-title-color);margin:0}.el-notification__content{font-size:var(--el-notification-content-font-size);color:var(--el-notification-content-color);margin:6px 0 0;line-height:24px}.el-notification__content p{margin:0}.el-notification .el-notification__icon{height:var(--el-notification-icon-size);width:var(--el-notification-icon-size);font-size:var(--el-notification-icon-size);flex-shrink:0}.el-notification .el-notification__closeBtn{cursor:pointer;color:var(--el-notification-close-color);font-size:var(--el-notification-close-font-size);position:absolute;top:18px;right:15px}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--primary{--el-notification-icon-color:var(--el-color-primary);color:var(--el-notification-icon-color)}.el-notification .el-notification--success{--el-notification-icon-color:var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color:var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color:var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color:var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification-fade-enter-from.right{right:0;transform:translate(100%)}.el-notification-fade-enter-from.left{left:0;transform:translate(-100%)}.el-notification-fade-leave-to{opacity:0}.el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{justify-content:space-between;align-items:center;line-height:24px;display:flex}.el-page-header__left{align-items:center;margin-right:40px;display:flex;position:relative}.el-page-header__back{cursor:pointer;align-items:center;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;margin-right:10px;font-size:16px;display:flex}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:2px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-font-size-small:12px;--el-pagination-button-width-small:24px;--el-pagination-button-height-small:24px;--el-pagination-button-width-large:40px;--el-pagination-button-height-large:40px;--el-pagination-item-gap:16px;white-space:nowrap;color:var(--el-pagination-text-color);font-size:var(--el-pagination-font-size);align-items:center;font-weight:400;display:flex}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield}.el-pagination .el-select{width:128px}.el-pagination .btn-prev,.el-pagination .btn-next{font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box;border:none;justify-content:center;align-items:center;padding:0 4px;display:flex}.el-pagination .btn-prev *,.el-pagination .btn-next *{pointer-events:none}.el-pagination .btn-prev:focus,.el-pagination .btn-next:focus{outline:none}.el-pagination .btn-prev:hover,.el-pagination .btn-next:hover{color:var(--el-pagination-hover-color)}.el-pagination .btn-prev.is-active,.el-pagination .btn-next.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pagination .btn-prev.is-active.is-disabled,.el-pagination .btn-next.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pagination .btn-prev:disabled,.el-pagination .btn-prev.is-disabled,.el-pagination .btn-next:disabled,.el-pagination .btn-next.is-disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pagination .btn-prev:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-next:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-prev .el-icon,.el-pagination .btn-next .el-icon{width:inherit;font-size:12px;font-weight:700;display:block}.el-pagination>.is-first{margin-left:0!important}.el-pagination>.is-last{margin-right:0!important}.el-pagination .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination__sizes,.el-pagination__total{margin-left:var(--el-pagination-item-gap);color:var(--el-text-color-regular);font-weight:400}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{margin-left:var(--el-pagination-item-gap);color:var(--el-text-color-regular);align-items:center;font-weight:400;display:flex}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__goto{margin-right:8px}.el-pagination__editor{text-align:center;box-sizing:border-box}.el-pagination__editor.el-input{width:56px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination__classifier{margin-left:8px}.el-pagination__rightwrapper{flex:1;justify-content:flex-end;align-items:center;display:flex}.el-pagination.is-background .btn-prev,.el-pagination.is-background .btn-next,.el-pagination.is-background .el-pager li{background-color:var(--el-pagination-button-bg-color);margin:0 4px}.el-pagination.is-background .btn-prev.is-active,.el-pagination.is-background .btn-next.is-active,.el-pagination.is-background .el-pager li.is-active{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .el-pager li:disabled,.el-pagination.is-background .el-pager li.is-disabled{color:var(--el-text-color-placeholder);background-color:var(--el-disabled-bg-color)}.el-pagination.is-background .btn-prev:disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .btn-next:disabled.is-active,.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .el-pager li:disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active{color:var(--el-text-color-secondary);background-color:var(--el-fill-color-dark)}.el-pagination.is-background .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination--small .btn-prev,.el-pagination--small .btn-next,.el-pagination--small .el-pager li{height:var(--el-pagination-button-height-small);line-height:var(--el-pagination-button-height-small);font-size:var(--el-pagination-font-size-small);min-width:var(--el-pagination-button-width-small)}.el-pagination--small span:not([class*=suffix]),.el-pagination--small button{font-size:var(--el-pagination-font-size-small)}.el-pagination--small .el-select{width:100px}.el-pagination--large .btn-prev,.el-pagination--large .btn-next,.el-pagination--large .el-pager li{height:var(--el-pagination-button-height-large);line-height:var(--el-pagination-button-height-large);min-width:var(--el-pagination-button-width-large)}.el-pagination--large .el-select .el-input{width:160px}.el-pager{-webkit-user-select:none;user-select:none;align-items:center;margin:0;padding:0;font-size:0;list-style:none;display:flex}.el-pager li{font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box;border:none;justify-content:center;align-items:center;padding:0 4px;display:flex}.el-pager li *{pointer-events:none}.el-pager li:focus{outline:none}.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pager li.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:700}.el-pager li:disabled,.el-pager li.is-disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-popconfirm{outline:none}.el-popconfirm__main{align-items:center;display:flex}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin-top:8px}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);min-width:150px;padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);overflow-wrap:break-word;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);margin-bottom:12px;line-height:1}.el-popover__reference:focus:not(.focusing),.el-popover__reference:focus:hover{outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus:active,.el-popover.el-popper:focus{outline-width:0}.el-progress{align-items:center;line-height:1;display:flex;position:relative}.el-progress__text{color:var(--el-text-color-regular);min-width:50px;margin-left:5px;font-size:14px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{text-align:center;width:100%;margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{margin-right:0;padding-right:0;display:block}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);vertical-align:middle;border-radius:100px;height:6px;position:relative;overflow:hidden}.el-progress-bar__inner{background-color:var(--el-color-primary);text-align:right;white-space:nowrap;border-radius:100px;height:100%;line-height:1;transition:width .6s;position:absolute;top:0;left:0}.el-progress-bar__inner:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-progress-bar__inner--indeterminate{animation:3s infinite indeterminate;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,#0000001a 25%,#0000 25% 50%,#0000001a 50% 75%,#0000 75%,#0000);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:3s linear infinite striped-flow}.el-progress-bar__innerText{vertical-align:middle;color:#fff;margin:0 5px;font-size:12px;display:inline-block}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-radio-button{--el-radio-button-checked-bg-color:var(--el-color-primary);--el-radio-button-checked-text-color:var(--el-color-white);--el-radio-button-checked-border-color:var(--el-color-primary);--el-radio-button-disabled-checked-fill:var(--el-border-color-extra-light);outline:none;display:inline-block;position:relative}.el-radio-button__inner{white-space:nowrap;vertical-align:middle;background:var(--el-button-bg-color,var(--el-fill-color-blank));outline:var(--el-border);line-height:1;font-weight:var(--el-button-font-weight,var(--el-font-weight-primary));color:var(--el-button-text-color,var(--el-text-color-regular));-webkit-appearance:none;text-align:center;box-sizing:border-box;cursor:pointer;transition:var(--el-transition-all);-webkit-user-select:none;user-select:none;font-size:var(--el-font-size-base);border-radius:0;margin:0;padding:8px 15px;display:inline-block;position:relative}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button.is-active .el-radio-button__original-radio:not(:disabled)+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:var(--el-radio-button-checked-bg-color,var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color,var(--el-color-primary))}.el-radio-button__original-radio{opacity:0;z-index:-1;outline:none;position:absolute}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2;border-radius:var(--el-border-radius-base);box-shadow:none}.el-radio-button__original-radio:disabled+.el-radio-button__inner{color:var(--el-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{font-size:var(--el-font-size-base);border-radius:0;padding:12px 19px}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{border-radius:0;padding:5px 11px;font-size:12px}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px}.el-radio-group{flex-wrap:wrap;align-items:center;font-size:0;display:inline-flex}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);color:var(--el-radio-text-color);font-weight:var(--el-radio-font-weight);cursor:pointer;white-space:nowrap;font-size:var(--el-font-size-base);-webkit-user-select:none;user-select:none;outline:none;align-items:center;height:32px;margin-right:30px;display:inline-flex;position:relative}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:var(--el-border-color-lighter)}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{width:12px;height:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;vertical-align:middle;outline:none;display:inline-flex;position:relative}.el-radio__input.is-disabled .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:var(--el-color-primary);background:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{background-color:var(--el-color-white);transform:translate(-50%,-50%)scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);width:var(--el-radio-input-width);height:var(--el-radio-input-height);background-color:var(--el-radio-input-bg-color);cursor:pointer;box-sizing:border-box;transition:all .3s;display:inline-block;position:relative}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{border-radius:var(--el-radio-input-border-radius);content:"";width:4px;height:4px;transition:transform .15s ease-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.el-radio__original{opacity:0;z-index:-1;outline:none;margin:0;position:absolute;inset:0}.el-radio__original:focus-visible+.el-radio__inner{outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px;border-radius:var(--el-radio-input-border-radius)}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{width:12px;height:12px}.el-rate{--el-rate-height:20px;--el-rate-font-size:var(--el-font-size-base);--el-rate-icon-size:18px;--el-rate-icon-margin:6px;--el-rate-void-color:var(--el-border-color-darker);--el-rate-fill-color:#f7ba2a;--el-rate-disabled-void-color:var(--el-fill-color);--el-rate-text-color:var(--el-text-color-primary);--el-rate-outline-color:var(--el-color-primary-light-5);align-items:center;height:32px;display:inline-flex}.el-rate:focus,.el-rate:active{outline:none}.el-rate:focus-visible .el-rate__item .el-rate__icon.is-focus-visible{outline:2px solid var(--el-rate-outline-color);transition:outline-offset,outline}.el-rate__item{cursor:pointer;vertical-align:middle;color:var(--el-rate-void-color);font-size:0;line-height:normal;display:inline-block;position:relative}.el-rate .el-rate__icon{font-size:var(--el-rate-icon-size);margin-right:var(--el-rate-icon-margin);transition:var(--el-transition-duration);display:inline-block;position:relative}.el-rate .el-rate__icon.hover{transform:scale(1.15)}.el-rate .el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate .el-rate__icon.is-active{color:var(--el-rate-fill-color)}.el-rate__decimal{color:var(--el-rate-fill-color);display:inline-block;position:absolute;top:0;left:0;overflow:hidden}.el-rate__decimal--box{position:absolute;top:0;left:0}.el-rate__text{font-size:var(--el-rate-font-size);vertical-align:middle;color:var(--el-rate-text-color)}.el-rate--large{height:40px}.el-rate--small{height:24px}.el-rate--small .el-rate__icon{font-size:14px}.el-rate.is-disabled .el-rate__item{cursor:not-allowed;color:var(--el-rate-disabled-void-color)}.el-result{--el-result-padding:40px 30px;--el-result-icon-font-size:64px;--el-result-title-font-size:20px;--el-result-title-margin-top:20px;--el-result-subtitle-margin-top:10px;--el-result-extra-margin-top:30px;text-align:center;box-sizing:border-box;padding:var(--el-result-padding);flex-direction:column;justify-content:center;align-items:center;display:flex}.el-result__icon svg{width:var(--el-result-icon-font-size);height:var(--el-result-icon-font-size)}.el-result__title{margin-top:var(--el-result-title-margin-top)}.el-result__title p{font-size:var(--el-result-title-font-size);color:var(--el-text-color-primary);margin:0;line-height:1.3}.el-result__subtitle{margin-top:var(--el-result-subtitle-margin-top)}.el-result__subtitle p{font-size:var(--el-font-size-base);color:var(--el-text-color-regular);margin:0;line-height:1.3}.el-result__extra{margin-top:var(--el-result-extra-margin-top)}.el-result .icon-primary{--el-result-color:var(--el-color-primary);color:var(--el-result-color)}.el-result .icon-success{--el-result-color:var(--el-color-success);color:var(--el-result-color)}.el-result .icon-warning{--el-result-color:var(--el-color-warning);color:var(--el-result-color)}.el-result .icon-danger{--el-result-color:var(--el-color-danger);color:var(--el-result-color)}.el-result .icon-error{--el-result-color:var(--el-color-error);color:var(--el-result-color)}.el-result .icon-info{--el-result-color:var(--el-color-info);color:var(--el-result-color)}.el-row{box-sizing:border-box;flex-wrap:wrap;display:flex;position:relative}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;position:relative;overflow:hidden}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{cursor:pointer;border-radius:inherit;background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));width:0;height:0;transition:var(--el-transition-duration) background-color;opacity:var(--el-scrollbar-opacity,.3);display:block;position:relative}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{z-index:1;border-radius:4px;position:absolute;bottom:2px;right:2px}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-select-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__loading,.el-select-dropdown__empty{text-align:center;color:var(--el-text-color-secondary);font-size:var(--el-select-font-size);margin:0;padding:10px 0}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{box-sizing:border-box;margin:0;padding:6px 0;list-style:none}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__item{font-size:var(--el-font-size-base);white-space:nowrap;text-overflow:ellipsis;color:var(--el-text-color-regular);box-sizing:border-box;cursor:pointer;height:34px;padding:0 32px 0 20px;line-height:34px;position:relative;overflow:hidden}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:700}.el-select-dropdown__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed;background-color:unset}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{content:"";background-position:50%;background-repeat:no-repeat;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat;border-top:none;border-right:none;width:12px;height:12px;position:absolute;top:50%;right:20px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") 0 0/100% 100% no-repeat}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{margin:0;padding:0;list-style:none;position:relative}.el-select-group__title{box-sizing:border-box;color:var(--el-color-info);text-overflow:ellipsis;white-space:nowrap;padding:0 20px;font-size:12px;line-height:34px;overflow:hidden}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-color:var(--el-disabled-text-color);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px;--el-select-width:100%;vertical-align:middle;width:var(--el-select-width);display:inline-block;position:relative}.el-select__wrapper{box-sizing:border-box;cursor:pointer;text-align:left;border-radius:var(--el-border-radius-base);background-color:var(--el-fill-color-blank);min-height:32px;transition:var(--el-transition-duration);box-shadow:0 0 0 1px var(--el-border-color) inset;align-items:center;gap:6px;padding:4px 12px;font-size:14px;line-height:24px;display:flex;position:relative;transform:translate(0)}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{cursor:not-allowed;background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag,.el-select__wrapper.is-disabled input{cursor:not-allowed}.el-select__wrapper.is-disabled .el-select__prefix,.el-select__wrapper.is-disabled .el-select__suffix{pointer-events:none}.el-select__prefix,.el-select__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));flex-shrink:0;align-items:center;gap:6px;display:flex}.el-select__caret{color:var(--el-select-input-color);font-size:var(--el-select-input-font-size);transition:var(--el-transition-duration);cursor:pointer;transform:rotate(0)}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__clear{cursor:pointer}.el-select__clear:hover{color:var(--el-select-close-hover-color)}.el-select__selection{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{cursor:pointer;border-color:#0000}.el-select__selection .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{-webkit-user-select:none;user-select:none;flex-wrap:wrap;display:flex}.el-select__tags-text{text-overflow:ellipsis;white-space:nowrap;line-height:normal;display:block;overflow:hidden}.el-select__placeholder{z-index:-1;text-overflow:ellipsis;white-space:nowrap;width:100%;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.el-select__placeholder.is-transparent{-webkit-user-select:none;user-select:none;color:var(--el-text-color-placeholder)}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-select__input-wrapper{flex:1}.el-select__input-wrapper.is-hidden{opacity:0;z-index:-1;position:absolute}.el-select__input{color:var(--el-select-multiple-input-color);font-size:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#0000;border:none;outline:none;width:100%;height:24px;padding:0;font-family:inherit}.el-select__input-calculator{visibility:hidden;white-space:pre;max-width:100%;position:absolute;top:0;left:0;overflow:hidden}.el-select--large .el-select__wrapper{gap:6px;min-height:40px;padding:8px 16px;font-size:14px;line-height:24px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{gap:4px;min-height:24px;padding:2px 8px;font-size:12px;line-height:20px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px}.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);border-radius:var(--el-border-radius-base);width:100%;height:16px;display:inline-block}.el-skeleton__circle{width:var(--el-skeleton-circle-size);height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size);border-radius:50%}.el-skeleton__button{border-radius:4px;width:64px;height:40px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:var(--el-font-size-small)}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{width:unset;border-radius:0;justify-content:center;align-items:center;display:flex}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;width:22%;height:22%}.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@keyframes el-skeleton-loading{0%{background-position:100%}to{background-position:0}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{background:var(--el-skeleton-color);height:16px;margin-top:16px}.el-skeleton.is-animated .el-skeleton__item{background:linear-gradient(90deg,var(--el-skeleton-color) 25%,var(--el-skeleton-to-color) 37%,var(--el-skeleton-color) 63%);background-size:400% 100%;animation:1.4s infinite el-skeleton-loading}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;width:100%;height:32px;display:flex}.el-slider__runway{height:var(--el-slider-height);background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;position:relative}.el-slider__runway.show-input{width:auto;margin-right:30px}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper:hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button:hover,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button.dragging{cursor:not-allowed;transform:scale(1)}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{height:var(--el-slider-height);background-color:var(--el-slider-main-bg-color);border-top-left-radius:var(--el-slider-border-radius);border-bottom-left-radius:var(--el-slider-border-radius);position:absolute}.el-slider__button-wrapper{height:var(--el-slider-button-wrapper-size);width:var(--el-slider-button-wrapper-size);z-index:1;top:var(--el-slider-button-wrapper-offset);text-align:center;-webkit-user-select:none;user-select:none;background-color:#0000;outline:none;line-height:normal;position:absolute;transform:translate(-50%)}.el-slider__button-wrapper:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-slider__button-wrapper:hover,.el-slider__button-wrapper.hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{width:var(--el-slider-button-size);height:var(--el-slider-button-size);vertical-align:middle;border:solid 2px var(--el-slider-main-bg-color);background-color:var(--el-color-white);box-sizing:border-box;transition:var(--el-transition-duration-fast);-webkit-user-select:none;user-select:none;border-radius:50%;display:inline-block}.el-slider__button:hover,.el-slider__button.hover,.el-slider__button.dragging{transform:scale(1.2)}.el-slider__button:hover,.el-slider__button.hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{height:var(--el-slider-height);width:var(--el-slider-height);border-radius:var(--el-border-radius-circle);background-color:var(--el-slider-stop-bg-color);position:absolute;transform:translate(-50%)}.el-slider__marks{width:18px;height:100%;top:0;left:12px}.el-slider__marks-text{color:var(--el-color-info);white-space:pre;margin-top:15px;font-size:14px;position:absolute;transform:translate(-50%)}.el-slider.is-vertical{flex:0;width:auto;height:100%;display:inline-flex;position:relative}.el-slider.is-vertical .el-slider__runway{width:var(--el-slider-height);height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:var(--el-slider-height);border-radius:0 0 3px 3px;height:auto}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:var(--el-slider-button-wrapper-offset);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.el-space{vertical-align:top;display:inline-flex}.el-space__item{flex-wrap:wrap;display:flex}.el-space__item>*{flex:1}.el-space--vertical{flex-direction:column}.el-time-spinner{white-space:nowrap;width:100%}.el-spinner{vertical-align:middle;display:inline-block}.el-spinner-inner{width:50px;height:50px;animation:2s linear infinite rotate}.el-spinner-inner .path{stroke:var(--el-border-color-lighter);stroke-linecap:round;animation:1.5s ease-in-out infinite dash}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-35px}to{stroke-dasharray:90 150;stroke-dashoffset:-124px}}.el-step{flex-shrink:1;position:relative}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{flex-grow:0;flex-shrink:0;flex-basis:auto!important}.el-step:last-of-type .el-step__main,.el-step:last-of-type .el-step__description{padding-right:0}.el-step__head{width:100%;position:relative}.el-step__head.is-process{color:var(--el-text-color-primary);border-color:var(--el-text-color-primary)}.el-step__head.is-wait{color:var(--el-text-color-placeholder);border-color:var(--el-text-color-placeholder)}.el-step__head.is-success{color:var(--el-color-success);border-color:var(--el-color-success)}.el-step__head.is-error{color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-step__head.is-finish{color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-step__icon{z-index:1;box-sizing:border-box;background:var(--el-bg-color);justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;transition:all .15s ease-out;display:inline-flex;position:relative}.el-step__icon.is-text{border:2px solid;border-radius:50%}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{-webkit-user-select:none;user-select:none;text-align:center;color:inherit;font-weight:700;line-height:1;display:inline-block}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{background-color:var(--el-text-color-placeholder);border-color:currentColor;position:absolute}.el-step__line-inner{box-sizing:border-box;border:1px solid;width:0;height:0;transition:all .15s ease-out;display:block}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{color:var(--el-text-color-primary);font-weight:700}.el-step__title.is-wait{color:var(--el-text-color-placeholder)}.el-step__title.is-success{color:var(--el-color-success)}.el-step__title.is-error{color:var(--el-color-danger)}.el-step__title.is-finish{color:var(--el-color-primary)}.el-step__description{margin-top:-5px;padding-right:10%;font-size:12px;font-weight:400;line-height:20px}.el-step__description.is-process{color:var(--el-text-color-primary)}.el-step__description.is-wait{color:var(--el-text-color-placeholder)}.el-step__description.is-success{color:var(--el-color-success)}.el-step__description.is-error{color:var(--el-color-danger)}.el-step__description.is-finish{color:var(--el-color-primary)}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{flex-grow:1;padding-left:10px}.el-step.is-vertical .el-step__title{padding-bottom:8px;line-height:24px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-vertical .el-step__description{padding-right:0}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{align-items:center;display:flex}.el-step.is-simple .el-step__head{width:auto;padding-right:10px;font-size:0}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8)translateY(1px)}.el-step.is-simple .el-step__main{flex-grow:1;align-items:stretch;display:flex;position:relative}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{overflow-wrap:break-word;max-width:50%}.el-step.is-simple .el-step__arrow{flex-grow:1;justify-content:center;align-items:center;display:flex}.el-step.is-simple .el-step__arrow:before,.el-step.is-simple .el-step__arrow:after{content:"";background:var(--el-text-color-placeholder);width:1px;height:15px;display:inline-block;position:absolute}.el-step.is-simple .el-step__arrow:before{transform-origin:0 0;transform:rotate(-45deg)translateY(-4px)}.el-step.is-simple .el-step__arrow:after{transform-origin:100% 100%;transform:rotate(45deg)translateY(4px)}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-steps{line-height:normal;display:flex}.el-steps--simple{background:var(--el-fill-color-light);border-radius:4px;padding:13px 8%}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{flex-flow:column;height:100%}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color);vertical-align:middle;align-items:center;height:32px;font-size:14px;line-height:20px;display:inline-flex;position:relative}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{transition:var(--el-transition-duration-fast);cursor:pointer;vertical-align:middle;height:20px;color:var(--el-text-color-primary);font-size:14px;font-weight:500;display:inline-block}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{font-size:14px;line-height:1;display:inline-block}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{opacity:0;width:0;height:0;margin:0;position:absolute}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));box-sizing:border-box;background:var(--el-switch-off-color);cursor:pointer;min-width:40px;height:20px;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration);border-radius:10px;outline:none;align-items:center;display:inline-flex;position:relative}.el-switch__core .el-switch__inner{width:100%;transition:all var(--el-transition-duration);justify-content:center;align-items:center;height:16px;padding:0 4px 0 18px;display:flex;overflow:hidden}.el-switch__core .el-switch__inner-wrapper{color:var(--el-color-white);-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;align-items:center;font-size:12px;display:flex;overflow:hidden}.el-switch__core .el-switch__action{border-radius:var(--el-border-radius-circle);transition:all var(--el-transition-duration);background-color:var(--el-color-white);width:16px;height:16px;color:var(--el-switch-off-color);justify-content:center;align-items:center;display:flex;position:absolute;left:1px}.el-switch.is-checked .el-switch__core{border-color:var(--el-switch-border-color,var(--el-switch-on-color));background-color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__action{color:var(--el-switch-on-color);left:calc(100% - 17px)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{height:40px;font-size:14px;line-height:24px}.el-switch--large .el-switch__label{height:24px;font-size:14px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{border-radius:12px;min-width:50px;height:24px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{width:20px;height:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{height:24px;font-size:12px;line-height:16px}.el-switch--small .el-switch__label{height:16px;font-size:12px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{border-radius:8px;min-width:30px;height:16px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{width:12px;height:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:solid 1px var(--el-border-color-lighter);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;background-color:#fff;border-radius:2px}.el-table-filter__list{outline:none;min-width:100px;margin:0;padding:5px 0;list-style:none}.el-table-filter__list-item{cursor:pointer;line-height:36px;font-size:var(--el-font-size-base);outline:none;padding:0 10px}.el-table-filter__list-item:hover,.el-table-filter__list-item:focus{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__multiple{outline:none}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-filter__bottom button:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-filter__bottom button{color:var(--el-text-color-regular);font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{height:unset;align-items:center;margin-bottom:12px;margin-left:5px;margin-right:5px;display:flex}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-fill-color-blank);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px #00000026;--el-table-fixed-right-column:inset -10px 0 10px -10px #00000026;--el-table-index:var(--el-index-normal);box-sizing:border-box;background-color:var(--el-table-bg-color);width:100%;max-width:100%;height:-moz-fit-content;height:fit-content;font-size:var(--el-font-size-base);color:var(--el-table-text-color);position:relative;overflow:hidden}.el-table__inner-wrapper{flex-direction:column;height:100%;display:flex;position:relative}.el-table__inner-wrapper:before{height:1px;bottom:0;left:0}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell,.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell{border-bottom-color:#0000}.el-table__empty-block{text-align:center;justify-content:center;align-items:center;width:100%;min-height:60px;display:flex;position:sticky;left:0}.el-table__empty-text{width:50%;color:var(--el-text-color-secondary);line-height:60px}.el-table__expand-column .cell{text-align:center;-webkit-user-select:none;user-select:none;padding:0}.el-table__expand-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__expand-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:-2px}.el-table__expand-icon{color:var(--el-text-color-regular);width:min(23px,100%);height:23px;font-size:12px;line-height:12px}.el-table__expand-icon.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:#0000!important}.el-table__placeholder{width:20px;display:inline-block}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-bottom:0;border-right:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--fit .el-table__inner-wrapper:before{width:100%}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;text-align:left;min-width:0;z-index:var(--el-table-index);padding:8px 0;position:relative}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{border-bottom-width:0;border-right-width:0;width:15px;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;text-overflow:ellipsis;white-space:normal;overflow-wrap:break-word;padding:0 12px;line-height:23px;overflow:hidden}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:var(--el-font-size-base)}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:var(--el-font-size-extra-small)}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table th.el-table__cell.is-leaf,.el-table td.el-table__cell{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{content:"";vertical-align:middle;background:#ff4d51;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border:after,.el-table--border:before,.el-table--border .el-table__inner-wrapper:after,.el-table__inner-wrapper:before{content:"";background-color:var(--el-table-border-color);z-index:calc(var(--el-table-index) + 2);position:absolute}.el-table--border .el-table__inner-wrapper:after{width:100%;height:1px;z-index:calc(var(--el-table-index) + 2);top:0;left:0}.el-table--border:before{width:1px;height:100%;top:-1px;left:0}.el-table--border:after{width:1px;height:100%;top:-1px;right:0}.el-table--border .el-table__inner-wrapper{border-bottom:none;border-right:none}.el-table--border .el-table__footer-wrapper{flex-shrink:0;position:relative}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__header-wrapper,.el-table__body-wrapper,.el-table__footer-wrapper{width:100%}.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right,.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right{background:inherit;z-index:calc(var(--el-table-index) + 1);position:sticky!important}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{content:"";width:10px;box-shadow:none;touch-action:none;pointer-events:none;position:absolute;top:0;bottom:0;overflow:hidden}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px}.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch,.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch{z-index:calc(var(--el-table-index) + 1);background:#fff;right:0;position:sticky!important}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__header,.el-table__body,.el-table__footer{table-layout:fixed;border-collapse:separate}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{flex-shrink:0;overflow:hidden}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__header-wrapper .el-table-column--selection>.cell,.el-table__body-wrapper .el-table-column--selection>.cell{align-items:center;height:23px;display:inline-flex}.el-table__header-wrapper .el-table-column--selection .el-checkbox,.el-table__body-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{flex:1;position:relative;overflow:hidden}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table .caret-wrapper:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table .caret-wrapper{vertical-align:middle;width:24px;height:14px;overflow:initial;flex-direction:column;align-items:center;display:inline-flex;position:relative}.el-table .sort-caret{border:5px solid #0000;width:0;height:0;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{visibility:hidden;z-index:-1;position:absolute}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row>td.el-table__cell,.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{z-index:calc(var(--el-table-index) + 2);position:sticky;top:0}.el-table.el-table--scrollable-y .el-table__body-footer{z-index:calc(var(--el-table-index) + 2);position:sticky;bottom:0}.el-table__column-resize-proxy{border-left:var(--el-table-border);width:0;z-index:calc(var(--el-table-index) + 9);position:absolute;top:0;bottom:0;left:200px}.el-table__column-filter-trigger{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table__column-filter-trigger:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table__column-filter-trigger{display:inline-block}.el-table__column-filter-trigger i{color:var(--el-color-info);vertical-align:middle;font-size:14px}.el-table__border-left-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0;left:0}.el-table__border-bottom-patch{height:1px;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;left:0}.el-table__border-right-patch{width:1px;height:100%;z-index:calc(var(--el-table-index) + 2);background-color:var(--el-table-border-color);position:absolute;top:0}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{text-align:center;width:20px;display:inline-block}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-v2{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-fill-color-blank);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px #00000026;--el-table-fixed-right-column:inset -10px 0 10px -10px #00000026;--el-table-index:var(--el-index-normal);font-size:var(--el-font-size-base)}.el-table-v2 *{box-sizing:border-box}.el-table-v2__root{position:relative}.el-table-v2__root:hover .el-table-v2__main .el-virtual-scrollbar{opacity:1}.el-table-v2__main{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;left:0;overflow:hidden}.el-table-v2__main .el-vl__horizontal,.el-table-v2__main .el-vl__vertical{z-index:2}.el-table-v2__left{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;left:0;overflow:hidden;box-shadow:2px 0 4px #0000000f}.el-table-v2__left .el-virtual-scrollbar{opacity:0}.el-table-v2__left .el-vl__vertical,.el-table-v2__left .el-vl__horizontal{z-index:-1}.el-table-v2__right{background-color:var(--el-bg-color);flex-direction:column-reverse;display:flex;position:absolute;top:0;right:0;overflow:hidden;box-shadow:-2px 0 4px #0000000f}.el-table-v2__right .el-virtual-scrollbar{opacity:0}.el-table-v2__right .el-vl__vertical,.el-table-v2__right .el-vl__horizontal{z-index:-1}.el-table-v2__header-row,.el-table-v2__row{padding-inline-end:var(--el-table-scrollbar-size)}.el-table-v2__header-wrapper{overflow:hidden}.el-table-v2__header{position:relative;overflow:hidden}.el-table-v2__header .el-checkbox{z-index:0}.el-table-v2__footer{position:absolute;bottom:0;left:0;right:0;overflow:hidden}.el-table-v2__empty{position:absolute;left:0}.el-table-v2__overlay{z-index:9999;position:absolute;inset:0}.el-table-v2__header-row{border-bottom:var(--el-table-border);display:flex}.el-table-v2__header-cell{-webkit-user-select:none;user-select:none;background-color:var(--el-table-header-bg-color);height:100%;color:var(--el-table-header-text-color);align-items:center;padding:0 8px;font-weight:700;display:flex;overflow:hidden}.el-table-v2__header-cell.is-align-center{text-align:center;justify-content:center}.el-table-v2__header-cell.is-align-right{text-align:right;justify-content:flex-end}.el-table-v2__header-cell.is-sortable{cursor:pointer}.el-table-v2__header-cell:hover .el-icon{display:block}.el-table-v2__sort-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-v2__sort-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-v2__sort-icon{transition:opacity,display var(--el-transition-duration);opacity:.6;display:none}.el-table-v2__sort-icon.is-sorting{opacity:1;display:flex}.el-table-v2__row{border-bottom:var(--el-table-border);transition:background-color var(--el-transition-duration);align-items:center;display:flex}.el-table-v2__row.is-hovered,.el-table-v2__row:hover{background-color:var(--el-table-row-hover-bg-color)}.el-table-v2__row-cell{align-items:center;height:100%;padding:0 8px;display:flex;overflow:hidden}.el-table-v2__row-cell.is-align-center{text-align:center;justify-content:center}.el-table-v2__row-cell.is-align-right{text-align:right;justify-content:flex-end}.el-table-v2__expand-icon{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--el-border-radius-base);transition:transform var(--el-transition-duration-fast) ease-in-out;background-color:#0000;border:none;outline:none;margin:0;padding:0}.el-table-v2__expand-icon:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-table-v2__expand-icon{-webkit-user-select:none;user-select:none;margin:0 4px}.el-table-v2__expand-icon svg{transition:transform var(--el-transition-duration)}.el-table-v2__expand-icon.is-expanded svg{transform:rotate(90deg)}.el-table-v2:not(.is-dynamic) .el-table-v2__cell-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row{align-items:stretch;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row .el-table-v2__row-cell{overflow-wrap:break-word}.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{justify-content:space-between;align-items:center;margin:0 0 15px;padding:0;display:flex;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);z-index:1;height:2px;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);list-style:none;position:absolute;bottom:0;left:0}.el-tabs__active-bar.is-bottom{bottom:auto}.el-tabs__new-tab{border:1px solid var(--el-border-color);text-align:center;width:20px;height:20px;color:var(--el-text-color-primary);cursor:pointer;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin:10px 0 10px 10px;font-size:12px;line-height:20px;transition:all .15s;display:flex}.el-tabs__new-tab .is-icon-plus{height:inherit;width:inherit;transform:scale(.8)}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:auto;margin-bottom:-1px;position:relative;overflow:hidden}.el-tabs__nav-wrap:after{content:"";background-color:var(--el-border-color-light);width:100%;height:2px;z-index:var(--el-index-normal);position:absolute;bottom:0;left:0}.el-tabs__nav-wrap.is-bottom:after{top:0;bottom:auto}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{cursor:pointer;color:var(--el-text-color-secondary);text-align:center;width:20px;font-size:12px;line-height:44px;position:absolute}.el-tabs__nav-next.is-disabled,.el-tabs__nav-prev.is-disabled{color:var(--el-text-color-disabled);cursor:not-allowed}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;transition:transform var(--el-transition-duration);float:left;z-index:calc(var(--el-index-normal) + 1);display:flex;position:relative}.el-tabs__nav.is-stretch{min-width:100%;display:flex}.el-tabs__nav.is-stretch>*{text-align:center;flex:1}.el-tabs__item{height:var(--el-tabs-header-height);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary);justify-content:center;align-items:center;padding:0 20px;font-weight:500;list-style:none;display:flex;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{box-shadow:0 0 2px 2px var(--el-color-primary) inset;border-radius:3px}.el-tabs__item .is-icon-close{text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);border-radius:50%;margin-left:5px}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active{color:var(--el-color-primary)}.el-tabs__item:hover{color:var(--el-color-primary);cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;position:relative;overflow:hidden}.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--top>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height);box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);box-sizing:border-box;border-bottom:none;border-radius:4px 4px 0 0}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{transform-origin:100%;width:0;height:14px;font-size:12px;position:relative;right:-2px;overflow:hidden}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid #0000;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);margin-top:-1px}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);color:var(--el-text-color-secondary);border:1px solid #0000;margin-top:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child,.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay);border-right-color:var(--el-border-color);border-left-color:var(--el-border-color)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-top:10px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid #0000}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-scroll{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{width:2px;height:auto;top:0;bottom:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{text-align:center;cursor:pointer;width:100%;height:30px;line-height:30px}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev.is-disabled,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev.is-disabled,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next.is-disabled{cursor:not-allowed}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{top:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{width:2px;height:100%;top:0;bottom:auto}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__active-bar.is-left{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid var(--el-border-color-light);border-bottom:none;border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right-color:#fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-right:none;border-radius:4px 0 0 4px}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid #0000;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 #0000}.el-tabs--left>.el-tabs__content+.el-tabs__header{order:-1}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left-color:#fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid #0000;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 #0000}.el-tabs--top{flex-direction:column}.el-tabs--top>.el-tabs__content+.el-tabs__header{order:-1}.slideInRight-transition,.slideInLeft-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);position:absolute;left:0;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);position:absolute;left:0;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translate(100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInRight-leave{0%{transform-origin:0 0;opacity:1;transform:translate(0)}to{transform-origin:0 0;opacity:0;transform:translate(100%)}}@keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translate(-100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInLeft-leave{0%{transform-origin:0 0;opacity:1;transform:translate(0)}to{transform-origin:0 0;opacity:0;transform:translate(-100%)}}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);color:var(--el-tag-text-color);vertical-align:middle;height:24px;font-size:var(--el-tag-font-size);border-radius:var(--el-tag-border-radius);box-sizing:border-box;white-space:nowrap;--el-icon-size:14px;--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary);border-style:solid;border-width:1px;justify-content:center;align-items:center;padding:0 9px;line-height:1;display:inline-flex}.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color);flex-shrink:0}.el-tag .el-tag__close:hover{color:var(--el-color-white);background-color:var(--el-tag-hover-color)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag .el-icon{cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size);border-radius:50%;display:flex}.el-tag .el-tag__close{background-color:#0000;border:none;border-radius:50%;outline:none;margin-left:6px;padding:0;overflow:hidden}.el-tag .el-tag__close:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:2px}.el-tag--dark{--el-tag-text-color:var(--el-color-white);--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning,.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info{--el-tag-text-color:var(--el-color-white)}.el-tag--plain,.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{--el-icon-size:16px;height:32px;padding:0 11px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{--el-icon-size:12px;height:20px;padding:0 7px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-text{--el-text-font-size:var(--el-font-size-base);--el-text-color:var(--el-text-color-regular);font-size:var(--el-text-font-size);color:var(--el-text-color);overflow-wrap:break-word;align-self:center;margin:0;padding:0}.el-text.is-truncated{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:inline-block;overflow:hidden}.el-text.is-line-clamp{-webkit-box-orient:vertical;display:-webkit-inline-box;overflow:hidden}.el-text--large{--el-text-font-size:var(--el-font-size-medium)}.el-text--default{--el-text-font-size:var(--el-font-size-base)}.el-text--small{--el-text-font-size:var(--el-font-size-extra-small)}.el-text.el-text--primary{--el-text-color:var(--el-color-primary)}.el-text.el-text--success{--el-text-color:var(--el-color-success)}.el-text.el-text--warning{--el-text-color:var(--el-color-warning)}.el-text.el-text--danger{--el-text-color:var(--el-color-danger)}.el-text.el-text--error{--el-text-color:var(--el-color-error)}.el-text.el-text--info{--el-text-color:var(--el-color-info)}.el-text>.el-icon{vertical-align:-2px}.time-select{min-width:0;margin:5px 0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.disabled{color:var(--el-datepicker-border-color);cursor:not-allowed}.time-select-item:hover{background-color:var(--el-fill-color-light);cursor:pointer;font-weight:700}.time-select .time-select-item.selected:not(.disabled){color:var(--el-color-primary);font-weight:700}.el-timeline-item{padding-bottom:20px;position:relative}.el-timeline-item__wrapper{box-sizing:content-box;position:relative;top:-3px}.el-timeline-item__tail{border-left:2px solid var(--el-timeline-node-color);height:100%;position:absolute}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.el-timeline-item__node--normal{width:var(--el-timeline-node-size-normal);height:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{width:var(--el-timeline-node-size-large);height:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{justify-content:center;align-items:center;display:flex;position:absolute}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);line-height:1;font-size:var(--el-font-size-small)}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-timeline-item.is-start .el-timeline-item__wrapper{padding-left:28px}.el-timeline-item.is-start .el-timeline-item__tail{left:4px}.el-timeline-item.is-start .el-timeline-item__node--normal{left:-1px}.el-timeline-item.is-start .el-timeline-item__node--large{left:-2px}.el-timeline-item.is-end .el-timeline-item__wrapper{text-align:right;padding-right:28px}.el-timeline-item.is-end .el-timeline-item__tail{right:4px}.el-timeline-item.is-end .el-timeline-item__node--normal{right:-1px}.el-timeline-item.is-end .el-timeline-item__node--large{right:-2px}.el-timeline-item.is-alternate .el-timeline-item__tail,.el-timeline-item.is-alternate .el-timeline-item__node,.el-timeline-item.is-alternate-reverse .el-timeline-item__tail,.el-timeline-item.is-alternate-reverse .el-timeline-item__node{left:50%;transform:translate(-50%)}.el-timeline{--el-timeline-node-size-normal:12px;--el-timeline-node-size-large:14px;--el-timeline-node-color:var(--el-border-color-light);font-size:var(--el-font-size-base);margin:0;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{align-items:center;display:flex}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{height:calc(50% - 10px);display:block}.el-timeline.is-start{padding-left:40px;padding-right:0}.el-timeline.is-end{padding-left:0;padding-right:40px}.el-timeline.is-alternate{padding-left:20px;padding-right:20px}.el-timeline.is-alternate .el-timeline-item:nth-child(odd) .el-timeline-item__wrapper{width:calc(50% - 28px);left:calc(50% - var(--el-timeline-node-size-large) / 2);padding-left:28px}.el-timeline.is-alternate .el-timeline-item:nth-child(2n) .el-timeline-item__wrapper{width:calc(50% - 28px + var(--el-timeline-node-size-large) / 2);text-align:right;padding-right:28px}.el-timeline.is-alternate-reverse{padding-left:20px;padding-right:20px}.el-timeline.is-alternate-reverse .el-timeline-item:nth-child(odd) .el-timeline-item__wrapper{width:calc(50% - 28px + var(--el-timeline-node-size-large) / 2);text-align:right;padding-right:28px}.el-timeline.is-alternate-reverse .el-timeline-item:nth-child(2n) .el-timeline-item__wrapper{width:calc(50% - 28px);left:calc(50% - var(--el-timeline-node-size-large) / 2);padding-left:28px}.el-transfer{--el-transfer-border-color:var(--el-border-color-lighter);--el-transfer-border-radius:var(--el-border-radius-base);--el-transfer-panel-width:200px;--el-transfer-panel-header-height:40px;--el-transfer-panel-header-bg-color:var(--el-fill-color-light);--el-transfer-panel-footer-height:40px;--el-transfer-panel-body-height:278px;--el-transfer-item-height:30px;--el-transfer-filter-height:32px;font-size:var(--el-font-size-base)}.el-transfer__buttons{vertical-align:middle;padding:0 30px;display:inline-block}.el-transfer__button{vertical-align:top}.el-transfer__button:nth-child(2){margin:0 0 0 10px}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button .el-icon+span{margin-left:0}.el-transfer-panel{background:var(--el-bg-color-overlay);text-align:left;vertical-align:middle;width:var(--el-transfer-panel-width);box-sizing:border-box;max-height:100%;display:inline-block;position:relative;overflow:hidden}.el-transfer-panel__body{height:var(--el-transfer-panel-body-height);border-left:1px solid var(--el-transfer-border-color);border-right:1px solid var(--el-transfer-border-color);border-bottom:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);overflow:hidden}.el-transfer-panel__body.is-with-footer{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.el-transfer-panel__list{height:var(--el-transfer-panel-body-height);box-sizing:border-box;margin:0;padding:6px 0;list-style:none;overflow:auto}.el-transfer-panel__list.is-filterable{height:calc(100% - var(--el-transfer-filter-height) - 30px);padding-top:0}.el-transfer-panel__item{height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);padding-left:15px;display:block!important}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.el-transfer-panel__item.el-checkbox{color:var(--el-text-color-regular);margin-right:30px}.el-transfer-panel__item:hover{color:var(--el-color-primary)}.el-transfer-panel__item.el-checkbox .el-checkbox__label{text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;width:100%;line-height:var(--el-transfer-item-height);padding-left:22px;display:block;overflow:hidden}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;box-sizing:border-box;padding:15px}.el-transfer-panel__filter .el-input__inner{height:var(--el-transfer-filter-height);box-sizing:border-box;width:100%;font-size:12px;display:inline-block}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{height:var(--el-transfer-panel-header-height);background:var(--el-transfer-panel-header-bg-color);border:1px solid var(--el-transfer-border-color);border-top-left-radius:var(--el-transfer-border-radius);border-top-right-radius:var(--el-transfer-border-radius);box-sizing:border-box;color:var(--el-color-black);align-items:center;margin:0;padding-left:15px;display:flex}.el-transfer-panel .el-transfer-panel__header .el-checkbox{align-items:center;width:100%;display:flex;position:relative}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{min-width:0;color:var(--el-text-color-primary);flex:1;align-items:center;font-size:16px;font-weight:400;display:flex}.el-transfer-panel .el-transfer-panel__header-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.el-transfer-panel .el-transfer-panel__header-count{color:var(--el-text-color-secondary);flex-shrink:0;margin-left:8px;margin-right:15px;font-size:12px}.el-transfer-panel .el-transfer-panel__footer{height:var(--el-transfer-panel-footer-height);background:var(--el-bg-color-overlay);border:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);margin:0;padding:0}.el-transfer-panel .el-transfer-panel__footer:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{color:var(--el-text-color-regular);padding-left:20px}.el-transfer-panel .el-transfer-panel__empty{height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);color:var(--el-text-color-secondary);text-align:center;margin:0;padding:6px 15px 0}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-tree{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder);cursor:default;background:var(--el-fill-color-blank);color:var(--el-tree-text-color);font-size:var(--el-font-size-base);position:relative}.el-tree__empty-block{text-align:center;width:100%;height:100%;min-height:60px;position:relative}.el-tree__empty-text{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-tree__drop-indicator{background-color:var(--el-color-primary);height:1px;position:absolute;left:0;right:0}.el-tree-node{white-space:nowrap;outline:none}.el-tree-node:focus>.el-tree-node__content{background-color:var(--el-tree-node-hover-bg-color)}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:var(--el-color-primary);color:#fff}.el-tree-node__content{--el-checkbox-height:var(--el-tree-node-content-height);height:var(--el-tree-node-content-height);cursor:pointer;align-items:center;display:flex}.el-tree-node__content>.el-tree-node__expand-icon{box-sizing:content-box;padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:var(--el-tree-node-hover-bg-color)}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:var(--el-tree-expand-icon-color);transition:transform var(--el-transition-duration) ease-in-out;font-size:12px;transform:rotate(0)}.el-tree-node__expand-icon.expanded{transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:#0000;cursor:default;visibility:hidden}.el-tree-node__expand-icon.is-hidden{visibility:hidden}.el-tree-node__loading-icon{font-size:var(--el-font-size-base);color:var(--el-tree-expand-icon-color);margin-right:8px}.el-tree-node>.el-tree-node__children{background-color:#0000;overflow:hidden}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-color-primary-light-9)}.el-tree-select{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder)}.el-tree-select__popper .el-tree-node__expand-icon{margin-left:8px}.el-tree-select__popper .el-tree-node.is-checked>.el-tree-node__content .el-select-dropdown__item.selected:after{content:none}.el-tree-select__popper .el-select-dropdown__list>.el-select-dropdown__item{padding-left:32px}.el-tree-select__popper .el-select-dropdown__item{flex:1;height:20px;padding-left:0;line-height:20px;background:0 0!important}.el-upload{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;cursor:pointer;outline:none;justify-content:center;align-items:center;display:inline-flex}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{border-color:var(--el-border-color-darker);color:inherit}.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);margin-top:7px;font-size:12px}.el-upload iframe{z-index:-1;opacity:0;filter:alpha(opacity=0);position:absolute;top:0;left:0}.el-upload--picture-card{background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-vertical) var(--el-upload-dragger-padding-horizontal);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);box-sizing:border-box;text-align:center;cursor:pointer;border-radius:6px;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);margin-bottom:16px;font-size:67px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);text-align:center;font-size:14px}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-vertical) - 1px) calc(var(--el-upload-dragger-padding-horizontal) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{color:var(--el-text-color-regular);box-sizing:border-box;border-radius:4px;width:100%;margin-bottom:5px;font-size:14px;transition:all .5s cubic-bezier(.55,0,.1,1);position:relative}.el-upload-list__item .el-progress{width:100%;position:absolute;top:20px}.el-upload-list__item .el-progress__text{position:absolute;top:-13px;right:0}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);display:none;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{cursor:pointer;opacity:1;color:var(--el-color-primary);font-size:12px;font-style:normal;display:none;position:absolute;top:1px;right:5px}.el-upload-list__item:hover,.el-upload-list__item:focus-within{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close,.el-upload-list__item:focus-within .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-icon--close-tip,.el-upload-list__item:focus-within .el-icon--close-tip{right:24px}.el-upload-list__item:hover .el-progress__text,.el-upload-list__item:focus-within .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{flex-direction:column;justify-content:center;width:calc(100% - 30px);margin-left:4px;display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:hover,.el-upload-list__item.is-success .el-upload-list__item-name:focus{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:not(.focusing):focus,.el-upload-list__item.is-success:active{outline-width:0}.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip,.el-upload-list__item.is-success:active .el-icon--close-tip{display:none}.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus-within .el-upload-list__item-status-label{opacity:0;display:none}.el-upload-list__item-name{color:var(--el-text-color-regular);text-align:center;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base);align-items:center;padding:0 4px;display:inline-flex}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-upload-list__item-status-label{line-height:inherit;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;display:none;position:absolute;top:0;right:5px}.el-upload-list__item-delete{color:var(--el-text-color-regular);font-size:12px;display:none;position:absolute;top:0;right:10px}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{flex-wrap:wrap;margin:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);border-radius:6px;margin:0 8px 8px 0;padding:0;display:inline-flex;overflow:hidden}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{object-fit:contain;width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{cursor:default;color:#fff;opacity:0;background-color:var(--el-overlay-color-lighter);width:100%;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;font-size:20px;display:inline-flex;position:absolute;top:0;left:0}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{font-size:inherit;color:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{width:126px;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;border-radius:6px;align-items:center;margin-top:10px;padding:10px;display:flex;overflow:hidden}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:inline-flex}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{object-fit:contain;z-index:1;background-color:var(--el-color-white);justify-content:center;align-items:center;width:70px;height:70px;display:inline-flex;position:relative}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:46px;height:26px;position:absolute;top:-7px;right:-17px;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{margin-top:12px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{z-index:10;cursor:default;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.el-upload-cover:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-upload-cover img{width:100%;height:100%;display:block}.el-upload-cover__label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-cover__label i{color:#fff;margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-cover__progress{vertical-align:middle;width:243px;display:inline-block;position:static}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{width:100%;height:100%;position:absolute;top:0;left:0}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);text-align:center;width:100%;height:100%;position:absolute;bottom:0;left:0}.el-upload-cover__interact .btn{color:#fff;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px;font-size:14px;display:inline-block}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;font-size:24px;line-height:inherit;margin:0 auto 5px;display:block}.el-upload-cover__title{text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;height:36px;color:var(--el-text-color-primary);background-color:#fff;margin:0;padding:0 10px;font-size:14px;font-weight:400;line-height:36px;position:absolute;bottom:0;left:0;overflow:hidden}.el-upload-cover+.el-upload__inner{opacity:0;z-index:1;position:relative}.el-vl__wrapper{position:relative}.el-vl__wrapper:hover .el-virtual-scrollbar,.el-vl__wrapper.always-on .el-virtual-scrollbar{opacity:1}.el-vl__window{scrollbar-width:none}.el-vl__window::-webkit-scrollbar{display:none}.el-virtual-scrollbar{opacity:0;transition:opacity .34s ease-out}.el-virtual-scrollbar.always-on{opacity:1}.el-vg__wrapper{position:relative}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);--el-popper-bg-color-light:var(--el-bg-color-overlay);--el-popper-bg-color-dark:var(--el-text-color-primary);border-radius:var(--el-popper-border-radius);z-index:2000;overflow-wrap:break-word;word-break:normal;visibility:visible;min-width:10px;padding:5px 11px;font-size:12px;line-height:20px;position:absolute}.el-popper.is-dark{--el-fill-color-blank:var(--el-popper-bg-color-dark);color:var(--el-bg-color);background:var(--el-popper-bg-color-dark);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-popper-bg-color-dark);right:0}.el-popper.is-light{--el-fill-color-blank:var(--el-popper-bg-color-light);background:var(--el-popper-bg-color-light);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-popper-bg-color-light);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{z-index:-1;width:10px;height:10px;position:absolute}.el-popper__arrow:before{z-index:-1;content:" ";background:var(--el-text-color-primary);box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-top-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-right-color:#0000!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:#0000!important;border-left-color:#0000!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-top-color:#0000!important;border-right-color:#0000!important}.el-statistic{--el-statistic-title-font-weight:400;--el-statistic-title-font-size:var(--el-font-size-extra-small);--el-statistic-title-color:var(--el-text-color-regular);--el-statistic-content-font-weight:400;--el-statistic-content-font-size:var(--el-font-size-extra-large);--el-statistic-content-color:var(--el-text-color-primary)}.el-statistic__head{font-weight:var(--el-statistic-title-font-weight);font-size:var(--el-statistic-title-font-size);color:var(--el-statistic-title-color);margin-bottom:4px;line-height:20px}.el-statistic__content{font-weight:var(--el-statistic-content-font-weight);font-size:var(--el-statistic-content-font-size);color:var(--el-statistic-content-color)}.el-statistic__value{display:inline-block}.el-statistic__prefix{margin-right:4px;display:inline-block}.el-statistic__suffix{margin-left:4px;display:inline-block}.el-tour{--el-tour-width:520px;--el-tour-padding-primary:12px;--el-tour-font-line-height:var(--el-font-line-height-primary);--el-tour-title-font-size:16px;--el-tour-title-text-color:var(--el-text-color-primary);--el-tour-title-font-weight:400;--el-tour-close-color:var(--el-color-info);--el-tour-font-size:14px;--el-tour-color:var(--el-text-color-primary);--el-tour-bg-color:var(--el-bg-color);--el-tour-border-radius:4px}.el-tour__hollow{transition:all var(--el-transition-duration) ease}.el-tour__content{border-radius:var(--el-tour-border-radius);width:var(--el-tour-width);padding:var(--el-tour-padding-primary);background:var(--el-tour-bg-color);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;overflow-wrap:break-word;outline:none}.el-tour__arrow{background:var(--el-tour-bg-color);pointer-events:none;box-sizing:border-box;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.el-tour__content[data-side^=top] .el-tour__arrow{border-top-color:#0000;border-left-color:#0000}.el-tour__content[data-side^=bottom] .el-tour__arrow{border-bottom-color:#0000;border-right-color:#0000}.el-tour__content[data-side^=left] .el-tour__arrow{border-bottom-color:#0000;border-left-color:#0000}.el-tour__content[data-side^=right] .el-tour__arrow{border-top-color:#0000;border-right-color:#0000}.el-tour__content[data-side^=top] .el-tour__arrow{bottom:-5px}.el-tour__content[data-side^=bottom] .el-tour__arrow{top:-5px}.el-tour__content[data-side^=left] .el-tour__arrow{right:-5px}.el-tour__content[data-side^=right] .el-tour__arrow{left:-5px}.el-tour__closebtn{cursor:pointer;width:40px;height:40px;font-size:var(--el-message-close-size,16px);background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-tour__closebtn .el-tour__close{color:var(--el-tour-close-color);font-size:inherit}.el-tour__closebtn:focus .el-tour__close,.el-tour__closebtn:hover .el-tour__close{color:var(--el-color-primary)}.el-tour__header{padding-bottom:var(--el-tour-padding-primary)}.el-tour__header.show-close{padding-right:calc(var(--el-tour-padding-primary) + var(--el-message-close-size,16px))}.el-tour__title{line-height:var(--el-tour-font-line-height);font-size:var(--el-tour-title-font-size);color:var(--el-tour-title-text-color);font-weight:var(--el-tour-title-font-weight)}.el-tour__body{color:var(--el-tour-text-color);font-size:var(--el-tour-font-size)}.el-tour__body img,.el-tour__body video{max-width:100%}.el-tour__footer{padding-top:var(--el-tour-padding-primary);box-sizing:border-box;justify-content:space-between;display:flex}.el-tour__content .el-tour-indicators{flex:1;display:inline-block}.el-tour__content .el-tour-indicator{background:var(--el-color-info-light-9);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.el-tour__content .el-tour-indicator.is-active{background:var(--el-color-primary)}.el-tour.el-tour--primary{--el-tour-title-text-color:#fff;--el-tour-text-color:#fff;--el-tour-bg-color:var(--el-color-primary);--el-tour-close-color:#fff}.el-tour.el-tour--primary .el-tour__closebtn:focus .el-tour__close,.el-tour.el-tour--primary .el-tour__closebtn:hover .el-tour__close{color:var(--el-tour-title-text-color)}.el-tour.el-tour--primary .el-button--default{color:var(--el-color-primary);border-color:var(--el-color-primary);background:#fff}.el-tour.el-tour--primary .el-button--primary{border-color:#fff}.el-tour.el-tour--primary .el-tour-indicator{background:#ffffff26}.el-tour.el-tour--primary .el-tour-indicator.is-active{background:#fff}.el-tour-parent--hidden{overflow:hidden}.el-anchor{--el-anchor-bg-color:var(--el-bg-color);--el-anchor-padding-indent:14px;--el-anchor-line-height:22px;--el-anchor-font-size:12px;--el-anchor-color:var(--el-text-color-secondary);--el-anchor-active-color:var(--el-color-primary);--el-anchor-hover-color:var(--el-text-color-regular);--el-anchor-marker-bg-color:var(--el-color-primary);background-color:var(--el-anchor-bg-color);position:relative}.el-anchor__marker{background-color:var(--el-anchor-marker-bg-color);opacity:0;z-index:0;border-radius:4px;position:absolute}.el-anchor.el-anchor--vertical .el-anchor__marker{width:4px;height:14px;transition:top .25s ease-in-out,opacity .25s;top:8px;left:0}.el-anchor.el-anchor--vertical .el-anchor__list{padding-left:var(--el-anchor-padding-indent)}.el-anchor.el-anchor--vertical.el-anchor--underline:before{content:"";background-color:#0505050f;width:2px;height:100%;position:absolute;left:0}.el-anchor.el-anchor--vertical.el-anchor--underline .el-anchor__marker{border-radius:unset;width:2px}.el-anchor.el-anchor--horizontal .el-anchor__marker{width:20px;height:2px;transition:left .25s ease-in-out,opacity .25s,width .25s;bottom:0}.el-anchor.el-anchor--horizontal .el-anchor__list{padding-bottom:4px;display:flex}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item{padding-left:16px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item:first-child{padding-left:0}.el-anchor.el-anchor--horizontal.el-anchor--underline:before{content:"";background-color:#0505050f;width:100%;height:2px;position:absolute;bottom:0}.el-anchor.el-anchor--horizontal.el-anchor--underline .el-anchor__marker{border-radius:unset;height:2px}.el-anchor__item{flex-direction:column;display:flex}.el-anchor__link{font-size:var(--el-anchor-font-size);line-height:var(--el-anchor-line-height);color:var(--el-anchor-color);transition:color var(--el-transition-duration);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;outline:none;max-width:100%;padding:4px 0;text-decoration:none;overflow:hidden}.el-anchor__link:hover,.el-anchor__link:focus{color:var(--el-hover-color)}.el-anchor__link:focus-visible{border-radius:var(--el-border-radius-base);outline:2px solid var(--el-color-primary)}.el-anchor__link.is-active{color:var(--el-anchor-active-color)}.el-anchor .el-anchor__list .el-anchor__item a{display:inline-block}.el-segmented--vertical{flex-direction:column}.el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented{--el-segmented-color:var(--el-text-color-regular);--el-segmented-bg-color:var(--el-fill-color-light);--el-segmented-padding:2px;--el-segmented-item-selected-color:var(--el-color-white);--el-segmented-item-selected-bg-color:var(--el-color-primary);--el-segmented-item-selected-disabled-bg-color:var(--el-color-primary-light-5);--el-segmented-item-hover-color:var(--el-text-color-primary);--el-segmented-item-hover-bg-color:var(--el-fill-color-dark);--el-segmented-item-active-bg-color:var(--el-fill-color-darker);--el-segmented-item-disabled-color:var(--el-text-color-placeholder);background:var(--el-segmented-bg-color);min-height:32px;padding:var(--el-segmented-padding);border-radius:var(--el-border-radius-base);color:var(--el-segmented-color);box-sizing:border-box;align-items:stretch;font-size:14px;display:inline-flex}.el-segmented__group{align-items:stretch;width:100%;display:flex;position:relative}.el-segmented__item-selected{background:var(--el-segmented-item-selected-bg-color);border-radius:calc(var(--el-border-radius-base) - 2px);pointer-events:none;width:10px;height:100%;transition:all .3s;position:absolute;top:0;left:0}.el-segmented__item-selected.is-disabled{background:var(--el-segmented-item-selected-disabled-bg-color)}.el-segmented__item-selected.is-focus-visible:before{content:"";border-radius:inherit;outline:2px solid var(--el-segmented-item-selected-bg-color);outline-offset:1px;position:absolute;inset:0}.el-segmented__item{cursor:pointer;border-radius:calc(var(--el-border-radius-base) - 2px);flex:1;align-items:center;padding:0 11px;display:flex}.el-segmented__item:not(.is-disabled):not(.is-selected):hover{color:var(--el-segmented-item-hover-color);background:var(--el-segmented-item-hover-bg-color)}.el-segmented__item:not(.is-disabled):not(.is-selected):active{background:var(--el-segmented-item-active-bg-color)}.el-segmented__item.is-selected,.el-segmented__item.is-selected.is-disabled{color:var(--el-segmented-item-selected-color)}.el-segmented__item.is-disabled{cursor:not-allowed;color:var(--el-segmented-item-disabled-color)}.el-segmented__item-input{opacity:0;pointer-events:none;width:0;height:0;margin:0;position:absolute}.el-segmented__item-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;z-index:1;flex:1;line-height:normal;transition:color .3s;overflow:hidden}.el-segmented.is-block{display:flex}.el-segmented.is-block .el-segmented__item{min-width:0}.el-segmented--large{border-radius:var(--el-border-radius-base);min-height:40px;font-size:16px}.el-segmented--large .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 2px)}.el-segmented--large .el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented--large .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 2px);padding:0 11px}.el-segmented--small{border-radius:calc(var(--el-border-radius-base) - 1px);min-height:24px;font-size:14px}.el-segmented--small .el-segmented__item-selected{border-radius:calc(calc(var(--el-border-radius-base) - 1px) - 2px)}.el-segmented--small .el-segmented--vertical .el-segmented__item{padding:7px}.el-segmented--small .el-segmented__item{border-radius:calc(calc(var(--el-border-radius-base) - 1px) - 2px);padding:0 7px}.el-mention{width:100%;position:relative}.el-mention__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-mention__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-mention__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-mention__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-mention-dropdown{--el-mention-font-size:var(--el-font-size-base);--el-mention-bg-color:var(--el-bg-color-overlay);--el-mention-shadow:var(--el-box-shadow-light);--el-mention-border:1px solid var(--el-border-color-light);--el-mention-option-color:var(--el-text-color-regular);--el-mention-option-height:34px;--el-mention-option-min-width:100px;--el-mention-option-hover-background:var(--el-fill-color-light);--el-mention-option-selected-color:var(--el-color-primary);--el-mention-option-disabled-color:var(--el-text-color-placeholder);--el-mention-option-loading-color:var(--el-text-color-secondary);--el-mention-option-loading-padding:10px 0;--el-mention-max-height:174px;--el-mention-padding:6px 0;--el-mention-header-padding:10px;--el-mention-footer-padding:10px}.el-mention-dropdown__item{font-size:var(--el-mention-font-size);white-space:nowrap;text-overflow:ellipsis;color:var(--el-mention-option-color);height:var(--el-mention-option-height);line-height:var(--el-mention-option-height);box-sizing:border-box;min-width:var(--el-mention-option-min-width);cursor:pointer;padding:0 20px;position:relative;overflow:hidden}.el-mention-dropdown__item.is-hovering{background-color:var(--el-mention-option-hover-background)}.el-mention-dropdown__item.is-selected{color:var(--el-mention-option-selected-color);font-weight:700}.el-mention-dropdown__item.is-disabled{color:var(--el-mention-option-disabled-color);cursor:not-allowed;background-color:unset}.el-mention-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-mention-dropdown__loading{text-align:center;color:var(--el-mention-option-loading-color);min-width:var(--el-mention-option-min-width);margin:0;padding:10px 0;font-size:12px}.el-mention-dropdown__wrap{max-height:var(--el-mention-max-height)}.el-mention-dropdown__list{padding:var(--el-mention-padding);box-sizing:border-box;margin:0;list-style:none}.el-mention-dropdown__header{padding:var(--el-mention-header-padding);border-bottom:var(--el-mention-border)}.el-mention-dropdown__footer{padding:var(--el-mention-footer-padding);border-top:var(--el-mention-border)}.el-splitter{width:100%;height:100%;margin:0;padding:0;display:flex;position:relative}.el-splitter__mask{z-index:999;position:absolute;inset:0}.el-splitter__mask-horizontal{cursor:ew-resize}.el-splitter__mask-vertical{cursor:ns-resize}.el-splitter__horizontal{flex-direction:row}.el-splitter__vertical{flex-direction:column}.el-splitter-bar{-webkit-user-select:none;user-select:none;flex:none;position:relative}.el-splitter-bar__dragger{z-index:1;background:0 0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-splitter-bar__dragger:before,.el-splitter-bar__dragger:after{content:"";background-color:var(--el-border-color-light);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.el-splitter-bar__dragger:not(.is-lazy):after{display:none}.el-splitter-bar__dragger:after{opacity:.4}.el-splitter-bar__dragger:hover:not(.is-disabled):before{background-color:var(--el-color-primary-light-5)}.el-splitter-bar__dragger-horizontal:before,.el-splitter-bar__dragger-horizontal:after{width:2px;height:100%}.el-splitter-bar__dragger-vertical:before,.el-splitter-bar__dragger-vertical:after{width:100%;height:2px}.el-splitter-bar__dragger-active:before,.el-splitter-bar__dragger-active:after{background-color:var(--el-color-primary-light-3)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-horizontal:after{transform:translate(calc(-50% + var(--el-splitter-bar-offset)),-50%)}.el-splitter-bar__dragger-active.el-splitter-bar__dragger-vertical:after{transform:translate(-50%,calc(-50% + var(--el-splitter-bar-offset)))}.el-splitter-bar:hover .el-splitter-bar__collapse-icon{opacity:1}.el-splitter-bar__collapse-icon{background:var(--el-border-color-light);cursor:pointer;opacity:0;z-index:9;border-radius:2px;justify-content:center;align-items:center;display:flex;position:absolute}.el-splitter-bar__collapse-icon:hover{opacity:1;background-color:var(--el-color-primary-light-5)}.el-splitter-bar__horizontal-collapse-icon-start{width:16px;height:24px;top:50%;left:-12px;transform:translate(-50%,-50%)}.el-splitter-bar__horizontal-collapse-icon-end{width:16px;height:24px;top:50%;left:12px;transform:translate(-50%,-50%)}.el-splitter-bar__vertical-collapse-icon-start{width:24px;height:16px;top:-12px;right:50%;transform:translate(50%,-50%)}.el-splitter-bar__vertical-collapse-icon-end{width:24px;height:16px;top:12px;right:50%;transform:translate(50%,-50%)}.el-splitter-panel{scrollbar-width:thin;box-sizing:border-box;flex-grow:0;overflow:auto}:root{--font-family-base: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", sans-serif;--color-primary: #409eff;--color-bg-light: #eef3f8;--color-bg-dark: #0d0d0d;--color-surface-light: rgba(255, 255, 255, .92);--color-surface-dark: #1a1a1a;--color-border-light: #d6e4ef;--color-border-dark: #2a2a2a;--color-text-primary: #303133;--color-text-secondary: #606266;--color-text-dark: #e5eaf3;--shadow-card: 0 10px 30px rgba(0, 0, 0, .08);--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{font-family:var(--font-family-base);color:var(--color-text-primary)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}body{background:var(--color-bg-light)}html{scrollbar-color:rgba(123,135,148,.7) rgba(255,255,255,.04);scrollbar-width:thin}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#ffffff0a}*::-webkit-scrollbar-thumb{background:#7b8794b3;border:2px solid transparent;border-radius:999px;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#94a3b8e6;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}.page-shell{min-height:100vh}.theme-light{background:var(--color-bg-light);color:var(--color-text-primary)}.theme-dark{background:var(--color-bg-dark);color:var(--color-text-dark)}:root{--el-color-white:#fff;--el-color-black:#000;--el-color-primary-rgb:64, 158, 255;--el-color-success-rgb:103, 194, 58;--el-color-warning-rgb:230, 162, 60;--el-color-danger-rgb:245, 108, 108;--el-color-error-rgb:245, 108, 108;--el-color-info-rgb:144, 147, 153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#fff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#fff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#fff;--el-box-shadow:0px 12px 32px 4px #0000000a, 0px 8px 20px #00000014;--el-box-shadow-light:0px 0px 12px #0000001f;--el-box-shadow-lighter:0px 0px 6px #0000001f;--el-box-shadow-dark:0px 16px 48px 16px #00000014, 0px 12px 32px #0000001f, 0px 8px 16px -8px #00000029;--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:#000c;--el-overlay-color-light:#000000b3;--el-overlay-color-lighter:#00000080;--el-mask-color:#ffffffe6;--el-mask-color-extra-light:#ffffff4d;--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;fill:currentColor;width:1em;height:1em;color:var(--color);line-height:1em;font-size:inherit;justify-content:center;align-items:center;display:inline-flex;position:relative}.el-icon.is-loading{animation:2s linear infinite rotating}.el-icon svg{width:1em;height:1em}.el-overlay{z-index:2000;background-color:var(--el-overlay-color-lighter);height:100%;position:fixed;inset:0;overflow:auto}.el-overlay .el-overlay-root{height:0}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color);position:fixed;top:0;left:0}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);margin:var(--el-dialog-margin-top,15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;padding:var(--el-dialog-padding-primary);width:var(--el-dialog-width,50%);overflow-wrap:break-word;position:relative}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{margin:0;position:fixed;inset:0;overflow:auto}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size,16px))}.el-dialog__headerbtn{cursor:pointer;width:48px;height:48px;font-size:var(--el-message-close-size,16px);background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{padding-top:var(--el-dialog-padding-primary);text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{position:fixed;inset:0;overflow:auto}.el-overlay-dialog.is-closing .el-dialog{pointer-events:none}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.secret-settings-entry[data-v-6bbc0070]{display:flex;align-items:center;justify-content:flex-end}.secret-settings-trigger[data-v-6bbc0070]{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid #3c4a58;border-radius:10px;background:linear-gradient(180deg,#2b3239,#242a31);color:#e7edf4;font-size:13px;font-weight:700;cursor:pointer}.secret-settings-trigger[data-v-6bbc0070]:hover{border-color:#4c647d}.secret-settings-icon[data-v-6bbc0070]{color:#8dc4ff;font-size:14px;line-height:1}.dialog-header[data-v-6bbc0070]{display:flex;flex-direction:column;gap:4px}.dialog-title[data-v-6bbc0070]{color:#f5f7fa;font-size:16px;font-weight:700}.dialog-subtitle[data-v-6bbc0070]{color:#8f9aa7;font-size:12px;line-height:1.5}.secret-settings-body[data-v-6bbc0070]{display:flex;flex-direction:column;gap:14px}.secret-card[data-v-6bbc0070]{padding:16px;border:1px solid #2f363f;border-radius:12px;background:#22272d}.secret-card-head[data-v-6bbc0070]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.secret-card-title[data-v-6bbc0070]{color:#eef4fb;font-size:15px;font-weight:700}.secret-card-desc[data-v-6bbc0070]{margin-top:4px;color:#909ba8;font-size:12px;line-height:1.5}.secret-input[data-v-6bbc0070]{width:100%;height:42px;padding:0 12px;box-sizing:border-box;border:1px solid #3b4652;border-radius:10px;background:#1b2026;color:#dce6f0;font-size:13px;outline:none}.secret-input[data-v-6bbc0070]:focus{border-color:#5b96d6}.retention-block[data-v-6bbc0070]{margin-top:12px}.retention-label[data-v-6bbc0070]{margin-bottom:8px;color:#a3afbb;font-size:12px}.retention-options[data-v-6bbc0070]{display:flex;flex-wrap:wrap;gap:8px}.retention-option[data-v-6bbc0070]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#1b2026;color:#dce4ec;font-size:12px;cursor:pointer}.retention-option input[data-v-6bbc0070]{margin:0}.secret-meta[data-v-6bbc0070]{margin-top:10px;color:#7f8a96;font-size:12px}.link-danger[data-v-6bbc0070]{border:none;background:transparent;color:#ff9b9b;font-size:12px;cursor:pointer;padding:0}.dialog-footer[data-v-6bbc0070]{display:flex;justify-content:flex-end;gap:10px}.footer-btn[data-v-6bbc0070]{height:38px;padding:0 18px;border-radius:10px;border:1px solid transparent;font-size:13px;font-weight:700;cursor:pointer}.footer-btn-ghost[data-v-6bbc0070]{border-color:#3a4653;background:#232a31;color:#d9e2eb}.footer-btn-primary[data-v-6bbc0070]{background:#5aa2ea;color:#fff}.top-bar[data-v-0b1391c2]{min-height:88px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:10px 24px 12px;background:#111;border-bottom:1px solid #2a2a2a}.logo-area[data-v-0b1391c2]{display:flex;align-items:center;gap:16px;min-width:0;padding-top:10px}.app-name[data-v-0b1391c2]{color:#fff;font-size:18px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.btn-home[data-v-0b1391c2]{color:#d2d2d2;font-size:13px;text-decoration:none;white-space:nowrap}.btn-home[data-v-0b1391c2]:hover{color:#fff}.nav-sections[data-v-0b1391c2]{flex:1;min-width:0;display:flex;align-items:stretch;justify-content:center;gap:0}.nav-section[data-v-0b1391c2]{flex:1;min-width:0;padding:0 18px;position:relative}.nav-section+.nav-section[data-v-0b1391c2]:before{content:"";position:absolute;left:0;top:14px;bottom:8px;width:1px;background:#ffffff24}.nav-section-title[data-v-0b1391c2]{margin-bottom:10px;text-align:center;color:#e8dfcf;font-size:16px;font-weight:800;letter-spacing:.08em}.nav-section-items[data-v-0b1391c2]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:10px 14px;border-radius:14px;background:linear-gradient(180deg,#534a43eb,#48413bf5);box-shadow:inset 0 1px #ffffff0f}.nav-item[data-v-0b1391c2]{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 2px;color:#f3eee4;font-size:14px;font-weight:700;text-decoration:none;border-bottom:2px solid transparent;transition:color .18s ease,border-color .18s ease,opacity .18s ease}.nav-item[data-v-0b1391c2]:hover{color:#fff;border-bottom-color:#ffffffad}.nav-item.active[data-v-0b1391c2]{color:#fff;border-bottom-color:#8dc4ff}.nav-item.disabled[data-v-0b1391c2]{color:#ffffffc7;opacity:.82;cursor:default}.top-right[data-v-0b1391c2]{width:140px;flex-shrink:0;display:flex;justify-content:flex-end;padding-top:8px}@media(max-width:1200px){.top-bar[data-v-0b1391c2]{flex-direction:column;align-items:stretch}.logo-area[data-v-0b1391c2]{padding-top:0}.nav-sections[data-v-0b1391c2]{flex-direction:column}.nav-section[data-v-0b1391c2]{padding:0}.nav-section+.nav-section[data-v-0b1391c2]:before{display:none}.top-right[data-v-0b1391c2]{display:none}} diff --git a/new_web_source/assets/query-asin-B4RsOiza.css b/new_web_source/assets/query-asin-B4RsOiza.css new file mode 100644 index 0000000..171a270 --- /dev/null +++ b/new_web_source/assets/query-asin-B4RsOiza.css @@ -0,0 +1 @@ +.module-page[data-v-40c478d6]{min-height:100vh;background:#1a1a1a}.main-content[data-v-40c478d6]{display:flex;min-height:calc(100vh - 56px);height:calc(100vh - 56px)}.left-panel[data-v-40c478d6]{width:400px;background:#1e1e1e;padding:20px;overflow-y:auto;border-right:1px solid #2a2a2a}.right-panel[data-v-40c478d6]{flex:1;display:flex;flex-direction:column;min-width:0;background:#1a1a1a}.section-title[data-v-40c478d6]{font-size:13px;color:#bbb;margin-bottom:10px}.input-zone[data-v-40c478d6]{border:1px dashed #3a3a3a;border-radius:10px;padding:16px;background:#252525;margin-bottom:20px}.hint[data-v-40c478d6]{color:#888;font-size:12px;margin-bottom:12px;line-height:1.5;text-align:left}.input-row[data-v-40c478d6]{display:flex;gap:10px;align-items:center}.input-row[data-v-40c478d6] .el-input{flex:1}.opt-btn[data-v-40c478d6]{padding:8px 12px;font-size:12px;color:#ccc;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:6px;cursor:pointer;white-space:nowrap}.opt-btn[data-v-40c478d6]:hover:not(:disabled){color:#3498db;border-color:#3498db}.opt-btn[data-v-40c478d6]:disabled{opacity:.6;cursor:not-allowed}.empty-candidates[data-v-40c478d6]{color:#666;font-size:13px;padding:16px;border:1px dashed #333;border-radius:8px;margin-bottom:16px}.candidate-table-scroll[data-v-40c478d6]{max-height:320px;overflow:auto;margin-bottom:18px;border-radius:8px;border:1px solid #2a2a2a}.candidate-table[data-v-40c478d6]{--el-table-bg-color: #252525;--el-table-tr-bg-color: #252525;--el-table-header-bg-color: #2a2a2a;--el-table-text-color: #ccc;--el-table-border-color: #333}.link-danger[data-v-40c478d6]{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:12px;padding:0}.link-danger[data-v-40c478d6]:hover{text-decoration:underline}.run-row[data-v-40c478d6]{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.btn-run[data-v-40c478d6]{padding:10px 18px;font-size:14px;font-weight:600;color:#fff;background:#3498db;border:none;border-radius:8px;cursor:pointer}.btn-run[data-v-40c478d6]:hover:not(:disabled){background:#2980b9}.btn-run[data-v-40c478d6]:disabled{opacity:.55;cursor:not-allowed}.btn-queue[data-v-40c478d6]{background:#27ae60}.btn-queue[data-v-40c478d6]:hover:not(:disabled){background:#219a52}.loading-msg[data-v-40c478d6]{margin-top:12px;font-size:12px;color:#777;line-height:1.5}.queue-debug-card[data-v-40c478d6]{margin-top:18px;padding:14px;border:1px solid #2a2a2a;border-radius:10px;background:#202020}.queue-debug-title[data-v-40c478d6]{margin-bottom:8px}.queue-debug-line[data-v-40c478d6]{color:#b8c1cc;font-size:12px;line-height:1.6;margin-bottom:8px}.queue-debug-payload[data-v-40c478d6]{margin:0;max-height:220px;overflow:auto;padding:10px;border-radius:8px;background:#141414;color:#8fd3ff;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.panel-header[data-v-40c478d6]{padding:16px 20px;font-size:15px;font-weight:600;color:#e0e0e0;border-bottom:1px solid #2a2a2a}.task-list-wrap[data-v-40c478d6]{flex:1;padding:16px 20px;overflow:auto}.clean-result-summary[data-v-40c478d6]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.summary-card[data-v-40c478d6]{padding:14px 16px;border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e}.summary-card strong[data-v-40c478d6]{display:block;margin-top:8px;font-size:22px;color:#eaf4ff}.summary-label[data-v-40c478d6]{font-size:12px;color:#8d8d8d}.subsection-title[data-v-40c478d6]{font-size:13px;color:#999;margin:8px 0 10px}.empty-tasks[data-v-40c478d6]{color:#666;font-size:13px;padding:16px;text-align:center}.empty-tasks.narrow[data-v-40c478d6]{padding:12px 8px}.match-table[data-v-40c478d6]{margin-bottom:18px}.match-table[data-v-40c478d6] .el-table__body tr:hover>td.el-table__cell,.match-table[data-v-40c478d6] .el-table__body tr.hover-row>td.el-table__cell,.match-table[data-v-40c478d6] .el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-tr-bg-color, #222)!important}.result-table[data-v-40c478d6]{--el-table-bg-color: #222;--el-table-tr-bg-color: #222;--el-table-header-bg-color: #2a2a2a;--el-table-text-color: #ccc;--el-table-border-color: #333}.ok[data-v-40c478d6]{color:#27ae60}.fail[data-v-40c478d6]{color:#e67e22}.result-list-wrap[data-v-40c478d6]{border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e;min-height:220px;margin-top:8px}.result-list-header[data-v-40c478d6]{padding:12px 16px;border-bottom:1px solid #2a2a2a;font-size:14px;color:#ddd}.result-subsection[data-v-40c478d6]{padding:12px 12px 4px}.result-subsection-title[data-v-40c478d6]{font-size:12px;color:#888;margin-bottom:8px}.task-list[data-v-40c478d6]{list-style:none;margin:0;padding:0}.task-item[data-v-40c478d6]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #2a2a2a;border-radius:8px;margin-bottom:8px;background:#222}.left[data-v-40c478d6]{flex:1;min-width:0}.split-result-main[data-v-40c478d6]{display:flex;flex-direction:column;gap:4px}.id[data-v-40c478d6]{font-weight:600;color:#e0e0e0;font-size:13px}.files[data-v-40c478d6]{font-size:12px;color:#888}.task-right[data-v-40c478d6]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.status[data-v-40c478d6]{padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap}.status.success[data-v-40c478d6]{background:#2ecc712e;color:#2ecc71}.status.failed[data-v-40c478d6]{background:#e74c3c2e;color:#ff6b6b}.status.running[data-v-40c478d6]{background:#3498db2e;color:#3498db}.archive[data-v-40c478d6]{padding:6px 10px;border-radius:6px;font-size:12px;background:#3498db2e;color:#69b6ff;border:none;cursor:pointer}.archive[data-v-40c478d6]:hover{background:#3498db47}.btn-delete[data-v-40c478d6]{padding:6px 10px;border-radius:6px;font-size:12px;background:#e74c3c1f;color:#ff8f8f;border:none;cursor:pointer}.btn-delete[data-v-40c478d6]:hover{background:#e74c3c38}@media(max-width:1100px){.main-content[data-v-40c478d6]{flex-direction:column;height:auto}.left-panel[data-v-40c478d6]{width:100%;border-right:none;border-bottom:1px solid #2a2a2a}.clean-result-summary[data-v-40c478d6]{grid-template-columns:repeat(2,minmax(0,1fr))}} diff --git a/new_web_source/assets/query-asin.js b/new_web_source/assets/query-asin.js new file mode 100644 index 0000000..fa82b5c --- /dev/null +++ b/new_web_source/assets/query-asin.js @@ -0,0 +1 @@ +import{d as Ye,o as Ze,L as es,a as u,c as i,b as v,B as ss,e as n,aj as ts,ak as as,t as r,a5 as b,a6 as ns,a7 as os,f as p,a4 as ls,n as ne,x as Se,F as oe,r as Ce,g as h,h as E,br as rs,bs as us,bt as is,E as d,bu as cs,bv as ds,bw as fs,i as Ae,bx as hs,by as vs,bz as ps,bA as ys,bB as ms,U as K,bC as gs,_ as _s,aS as ws,q as ks,s as Is}from"./pywebview-CcblbV5J.js";import{z as bs}from"./zh-cn-DCaAv7Wt.js";/* empty css *//* empty css */import{c as Ss}from"./categorized-timers-JPA-olTr.js";const Cs={class:"page-shell module-page"},As={class:"main-content"},Ts={class:"left-panel"},Ns={class:"input-zone"},$s={class:"input-row"},Es=["disabled"],Qs={key:0,class:"empty-candidates"},qs={key:1,class:"candidate-table-scroll"},Ds=["onClick"],Ms={class:"run-row"},Ps=["disabled"],Rs=["disabled"],Bs={key:2,class:"queue-debug-card"},Fs={class:"queue-debug-line"},Ls={key:0,class:"queue-debug-payload"},xs={class:"right-panel"},Us={class:"task-list-wrap"},Hs={class:"clean-result-summary"},Os={class:"summary-card"},zs={class:"summary-card"},Vs={class:"summary-card"},js={class:"summary-card"},Ks={key:0,class:"empty-tasks narrow"},Js=["onClick"],Ws={class:"result-list-wrap"},Xs={key:0,class:"empty-tasks"},Gs={key:0,class:"result-subsection"},Ys={class:"task-list"},Zs={class:"left split-result-main"},et=["title"],st={class:"files"},tt={key:0,class:"files"},at={key:1,class:"files"},nt={key:2,class:"files"},ot={class:"files"},lt={class:"files"},rt={key:3,class:"files"},ut={class:"task-right"},it=["onClick"],ct={key:1,class:"result-subsection"},dt={class:"task-list"},ft={class:"left split-result-main"},ht=["title"],vt={class:"files"},pt={key:0,class:"files"},yt={key:1,class:"files"},mt={key:2,class:"files"},gt={class:"files"},_t={key:3,class:"files"},wt={class:"files"},kt={key:4,class:"files"},It={class:"task-right"},bt=["onClick"],St=["onClick"],Te=30,Ct=Ye({__name:"BrandQueryAsinTab",setup(Tt){const R=h(""),J=h([]),B=h([]),m=h([]),w=h([]),Q=h({candidateCount:0,processedTaskCount:0,successTaskCount:0,failedTaskCount:0}),F=h(!1),L=h(!1),W=h(!1),y=h(""),X=h(""),f=h([]),c=h(null),S=h(null),C=h(!1),G=h(!1);let A=null;const T=Ss("query-asin"),le=E(()=>m.value.filter(e=>e.matched&&(e.queryAsins||[]).some(s=>s.asins?.length))),x=E(()=>w.value.filter(e=>!pe(e.taskStatus))),Y=E(()=>w.value.filter(e=>pe(e.taskStatus))),Z=E(()=>!!c.value||f.value.length>0),U=E(()=>C.value||Z.value),re=E(()=>C.value&&Z.value);function ee(){return typeof window<"u"&&window.localStorage.getItem("uid")||"0"}function ue(){return`query-asin:matched:${ee()}`}function ie(){return`query-asin:queue-state:${ee()}`}function I(e){return`${(e.shopName||"").trim()}::${e.shopId||""}`}function H(e){return`${e.taskId??0}:${e.resultId??0}`}let _=!1;function ce(e){return _?Promise.resolve():T.sleep("queue-wait",e)}function Ne(){T.clearCategory("queue-wait")}function de(e){const s=e instanceof Error?e.message.toLowerCase():String(e||"").toLowerCase();return s.includes("network error")||s.includes("failed to fetch")||s.includes("timeout")||s.includes("503")||s.includes("502")||s.includes("504")||s.includes("500")||s.includes("load failed")}async function $e(e,s,o=20){let a=0;for(;;){if(_)throw new Error("component disposed");try{return await e()}catch(l){if(!de(l)||a>=o-1)throw l;a+=1,s?.(a,o),await ce(K())}}}function fe(e,s){return`query-asin:${e}:${s||"shop"}:${Date.now()}`}function se(e){if(!e)return"-";const s=new Date(e);if(Number.isNaN(s.getTime()))return e;const o=s.getFullYear(),a=String(s.getMonth()+1).padStart(2,"0"),l=String(s.getDate()).padStart(2,"0"),t=String(s.getHours()).padStart(2,"0"),g=String(s.getMinutes()).padStart(2,"0"),ae=String(s.getSeconds()).padStart(2,"0");return`${o}-${a}-${l} ${t}:${g}:${ae}`}function Ee(e){const s=(e||"").trim();return{MATCHED:"已匹配",PENDING:"待匹配",CONFLICT:"需人工确认",INDEX_STALE:"索引过期"}[s]||s||"-"}function Qe(e){const s=(e.matchMessage||"").trim();return s||(e.matched&&e.matchStatus==="MATCHED"?"索引已命中,可推送到 Python 队列":e.matched?"已命中索引,请结合状态列确认":"未命中或未就绪,请检查店铺名")}function qe(e){const s=k(e),o=Math.max(...s.map(a=>a.asins?.length||0),1);return Array.from({length:o},(a,l)=>({shopName:l===0?e.shopName:"",countries:s.map(t=>({country:t.country,asin:t.asins?.[l]||""}))}))}function he(e){const s=k(e),o=s.reduce((l,t)=>l+(t.asins?.length||0),0);return`${s.filter(l=>l.asins?.length).map(l=>l.country).join("、")||"无国家"},共 ${o} 个 ASIN`}function O(e){return(e||[]).map(s=>({country:(s.country||"").trim().toUpperCase(),asins:Array.from(new Set((s.asins||[]).map(o=>(o||"").trim().toUpperCase()).filter(Boolean)))})).filter(s=>s.country&&s.asins.length)}function k(e){return O(e?.queryAsins?.length?e.queryAsins:e?.query_asins)}function z(e){return k(e).some(s=>s.asins.length)}function ve(e){const s=(e||"").trim(),o=[S.value,...f.value,...m.value],a=o.find(t=>(t?.shopName||"").trim()===s&&z(t)),l=o.find(t=>z(t));return k(a||l)}function N(e,s){const o=z(e)?k(e):k(s||void 0);return{...e,queryAsins:o.length?o:ve(e.shopName)}}function pe(e){return e==="SUCCESS"||e==="FAILED"||e==="COMPLETED"}function ye(e){return e==="SUCCESS"||e==="COMPLETED"?"已完成":e==="FAILED"?"失败":"执行中"}function me(e){return e==="SUCCESS"||e==="COMPLETED"?"success":e==="FAILED"?"failed":"running"}function De(e){return!!(e.resultId&&(e.fileReady||e.downloadUrl))}function ge(){typeof window>"u"||window.localStorage.setItem(ue(),JSON.stringify(m.value))}function Me(){try{const e=typeof window<"u"?window.localStorage.getItem(ue()):null;m.value=e?JSON.parse(e):[]}catch{m.value=[]}}function $(){if(typeof window>"u")return;const e={pendingQueue:f.value,activeTaskId:c.value,activeQueueItem:S.value};window.localStorage.setItem(ie(),JSON.stringify(e))}function Pe(){try{const e=typeof window<"u"?window.localStorage.getItem(ie()):null;if(!e)return;const s=JSON.parse(e);f.value=s.pendingQueue||[],c.value=s.activeTaskId??null,S.value=s.activeQueueItem??null}catch{f.value=[],c.value=null,S.value=null}}function q(){c.value=null,S.value=null,$()}function D(){Z.value||(C.value=!1,W.value=!1,G.value=!1,j(),$())}function Re(e){const s=e instanceof Error?e.message:String(e||"");return/记录不存在|任务不存在|不存在|已删除|not\s*found|404/i.test(s)}function Be(e){w.value=w.value.filter(s=>!(e.resultId!=null&&s.resultId===e.resultId||e.taskId!=null&&s.taskId===e.taskId))}function Fe(e,s){const o=new Map;for(const a of e)o.set(I(a),a);for(const a of s)o.set(I(a),a);return Array.from(o.values())}async function M(){J.value=await rs()}async function V(){Q.value=await us()}async function te(){const e=await is();w.value=(e.items||[]).map(s=>N(s))}async function P(){await Promise.all([V(),te()])}function _e(){if(!c.value){D();return}if(w.value.some(o=>o.taskId===c.value))return;const s=c.value;q(),y.value=f.value.length?`任务 ${s} 已不存在,已跳过并继续剩余队列`:"当前任务已不存在,已释放本地队列状态",D()}function Le(e){if(!e.length)return;const s=new Map(e.map(a=>[H(a),N(a)])),o=w.value.map(a=>{const l=s.get(H(a));if(!l)return N(a);const t=z(l)?k(l):k(a).length?k(a):ve(l.shopName||a.shopName);return{...a,...l,queryAsins:t}});for(const a of e){const l=H(a);o.some(t=>H(t)===l)||o.push(N(a))}w.value=o}async function we(e){const s=Array.from(new Set((e&&e.length?e:x.value.map(a=>a.taskId??0)).filter(a=>Number.isFinite(a)&&a>0)));if(!s.length)return;const o=await gs(s);Le(o.items||[]),(o.missingTaskIds||[]).length&&(await te(),_e())}function xe(){if(j(),_||!U.value)return;const e=async()=>{A=null,!(_||!U.value)&&(await we(),!_&&U.value&&(A=T.setTimeout("history-poll",e,K()*2)))};A=T.setTimeout("history-poll",e,K()*2)}function j(){A&&(T.clearTimer("history-poll",A),A=null)}function Ue(e){B.value=e}async function ke(){const e=R.value.trim();if(!e){d.warning("请输入店铺名");return}F.value=!0;try{await cs(e),R.value="",await Promise.all([M(),V()]),d.success("已加入备选区")}catch(s){d.error(s instanceof Error?s.message:"添加失败")}finally{F.value=!1}}async function He(e){try{await ds(e),B.value=B.value.filter(s=>s.id!==e),await Promise.all([M(),V()]),d.success("已删除")}catch(s){d.error(s instanceof Error?s.message:"删除失败")}}function Oe(e,s){const o=new Map;for(const a of e)o.set(I(a),a);for(const a of s)o.set(I(a),a);return Array.from(o.values())}async function ze(){const e=B.value.map(s=>s.shop_name).filter(Boolean);if(!e.length){d.warning("请先勾选备选区店铺");return}L.value=!0;try{const s=await fs(e);m.value=Oe(m.value,s.items||[]),ge(),d.success(`本次返回 ${s.items?.length||0} 条匹配结果`)}catch(s){d.error(s instanceof Error?s.message:"匹配失败")}finally{L.value=!1}}function Ve(e){if(U.value){d.warning("队列执行中,请等待当前串行任务结束后再调整");return}m.value=m.value.filter(s=>I(s)!==I(e)),ge()}function je(e){return{shopName:e.shopName,matched:e.matched,shopId:e.shopId,platform:e.platform,companyName:e.companyName,matchStatus:e.matchStatus,matchMessage:e.matchMessage,queryAsins:O(e.queryAsins)}}function Ke(e,s){const o=fe(e,s.shopName);return{type:"query-asin-run",ts:Date.now(),data:{taskId:e,user_id:Number(ee())||0,source:"frontend-vue-query-asin",submissionId:o,items:[{shopName:s.shopName,submissionId:o,shopId:s.shopId,platform:s.platform,companyName:s.companyName,matched:s.matched,matchStatus:s.matchStatus,matchMessage:s.matchMessage,queryAsins:O(s.queryAsins)}],query_asins:O(s.queryAsins),query_asin_rows:qe(s)}}}function Je(e){return w.value.find(s=>s.taskId===e)}async function We(e){let s=0;for(;;){if(_)return"STOPPED";try{if(await we([e]),c.value!==e)return"FAILED";s>0&&(y.value=`任务 ${e} 后端已恢复,继续等待执行结果...`),s=0;const a=Je(e)?.taskStatus||"";if(a==="SUCCESS"||a==="FAILED"||a==="COMPLETED")return a}catch(o){if(!de(o))throw o;if(s+=1,s>=Te)throw new Error(`任务 ${e} 等待后端恢复超时,请稍后刷新查看状态`);y.value=`任务 ${e} 执行中,正在等待后端服务恢复(${s}/${Te})...`}await ce(K())}}async function Ie(){if(!(_||C.value)){C.value=!0,W.value=!0,xe();try{const e=Ae();if(!e?.enqueue_json)throw new Error("当前客户端未提供 enqueue_json");for(;!_&&(c.value||f.value.length);){if(c.value){const g=await We(c.value);y.value=f.value.length>0?`任务 ${c.value} ${g==="SUCCESS"?"已完成":"执行失败"},自动继续下一个(剩余 ${f.value.length} 条)`:`任务 ${c.value} ${g==="SUCCESS"?"已完成":"执行失败"}`,q();continue}const s=f.value.shift();if($(),!s)break;const o=await $e(()=>hs([je(s)]),(g,ae)=>{y.value=`后端服务暂时不可用,正在重试创建任务(${g}/${ae})...`}),a=o.items?.[0]?N(o.items[0],s):void 0;if(!a?.taskId||!a.resultId)throw new Error("后端未返回有效任务标识");c.value=o.taskId,S.value=N(s,a),$(),await P();const l=Ke(o.taskId,a);X.value=JSON.stringify(l,null,2);const t=await e.enqueue_json(l);if(!t?.success){await vs(o.taskId,{shops:[{shopName:a.shopName||s.shopName||"",error:t?.error||`任务 ${o.taskId} 推送失败`,shopDone:!0,submissionId:fe(o.taskId,a.shopName||s.shopName)}]}),await P(),y.value=`任务 ${o.taskId} 推送失败,已自动继续下一个任务`,q();continue}y.value=f.value.length>0?`任务 ${o.taskId} 已入队,等待完成后自动继续下一个(剩余 ${f.value.length} 条)`:`任务 ${o.taskId} 已入队,等待执行完成`}y.value="串行队列已执行完成",await P(),d.success("查询ASIN队列已按顺序执行完成")}catch(e){if(_)return;const s=e instanceof Error?e.message:"队列执行失败";y.value=s,d.error(s),await P()}finally{C.value=!1,W.value=!1,j(),$()}}}async function Xe(){G.value=!0,D();const e=le.value;if(!e.length){d.warning("请先匹配可用店铺");return}f.value=Fe(f.value,e),$(),y.value=`已加入 ${e.length} 条店铺,开始串行执行`,await Ie()}async function Ge(e){if(!e.resultId)return;const s=Ae();if(!s?.save_file_from_url_new){d.error("当前客户端未提供下载能力");return}const o=ps(e.resultId),a=e.outputFilename||`${e.shopName||"result"}.xlsx`,l=await s.save_file_from_url_new(o,a);l.success?d.success(`已保存: ${l.path||a}`):l.error&&l.error!=="用户取消"&&d.error(l.error)}async function be(e){try{if(e.taskId)await ys(e.taskId),c.value===e.taskId&&q();else if(e.resultId)await ms(e.resultId);else throw new Error("缺少可删除的任务标识");await Promise.all([M(),P()]),D(),d.success("已删除")}catch(s){if(Re(s)){e.taskId&&c.value===e.taskId&&q(),Be(e),await M(),D(),d.success("后端记录已不存在,已同步移除本地记录");return}d.error(s instanceof Error?s.message:"删除失败")}}return Ze(async()=>{Me(),Pe(),await Promise.all([M(),V(),te()]),_e(),(c.value||f.value.length)&&(G.value=!0,y.value=c.value!=null?`检测到未完成队列,继续等待任务 ${c.value} 完成并自动接续后续店铺`:`检测到未完成队列,继续执行剩余 ${f.value.length} 条店铺`,Ie())}),es(()=>{_=!0,j(),Ne(),T.clearScope()}),(e,s)=>{const o=as,a=ns,l=os;return u(),i("div",Cs,[v(ss,{active:"query-asin"}),n("div",As,[n("aside",Ts,[s[3]||(s[3]=n("div",{class:"section-title"},"店铺输入",-1)),n("div",Ns,[s[1]||(s[1]=n("div",{class:"hint"}," 左侧负责录入店铺并加入备选区,确认命中后推送到 Python 队列。查询ASIN按店铺串行执行:上一个任务完成后会自动开始下一个,失败也会继续下一个。 ",-1)),n("div",$s,[v(o,{modelValue:R.value,"onUpdate:modelValue":s[0]||(s[0]=t=>R.value=t),clearable:"",placeholder:"请输入店铺名后回车或点击添加",onKeyup:ts(ke,["enter"])},null,8,["modelValue"]),n("button",{type:"button",class:"opt-btn",disabled:F.value,onClick:ke},r(F.value?"添加中...":"添加"),9,Es)])]),s[4]||(s[4]=n("div",{class:"section-title"},"备选区",-1)),J.value.length?(u(),i("div",qs,[v(l,{data:J.value,"row-key":"id",height:"260",class:"candidate-table",onSelectionChange:Ue},{default:b(()=>[v(a,{type:"selection",width:"42"}),v(a,{prop:"shop_name",label:"店铺名","min-width":"140","show-overflow-tooltip":""}),v(a,{label:"操作",width:"72",align:"center"},{default:b(({row:t})=>[n("button",{type:"button",class:"link-danger",onClick:g=>He(t.id)}," 删除 ",8,Ds)]),_:1})]),_:1},8,["data"])])):(u(),i("div",Qs," 暂无备选店铺,请先输入并添加 ")),n("div",Ms,[n("button",{type:"button",class:"btn-run",disabled:L.value,onClick:ze},r(L.value?"匹配中...":"匹配店铺"),9,Ps),n("button",{type:"button",class:"btn-run btn-queue",disabled:re.value||!le.value.length,onClick:Xe},r(re.value?"串行执行中...":"推送到 Python 队列"),9,Rs)]),s[5]||(s[5]=n("p",{class:"loading-msg"}," 当前页面会按店铺串行推送任务,并在任务成功或失败后自动接续下一个任务。服务端临时重启时会自动重试查询状态,恢复后继续后续店铺。 ",-1)),y.value?(u(),i("div",Bs,[s[2]||(s[2]=n("div",{class:"section-title queue-debug-title"},"队列状态",-1)),n("div",Fs,r(y.value),1),X.value?(u(),i("pre",Ls,r(X.value),1)):p("",!0)])):p("",!0)]),n("section",xs,[s[14]||(s[14]=n("div",{class:"panel-header"},"匹配与任务",-1)),n("div",Us,[n("div",Hs,[n("div",Os,[s[6]||(s[6]=n("span",{class:"summary-label"},"备选店铺",-1)),n("strong",null,r(Q.value.candidateCount),1)]),n("div",zs,[s[7]||(s[7]=n("span",{class:"summary-label"},"已处理任务",-1)),n("strong",null,r(Q.value.processedTaskCount),1)]),n("div",Vs,[s[8]||(s[8]=n("span",{class:"summary-label"},"成功任务",-1)),n("strong",null,r(Q.value.successTaskCount),1)]),n("div",js,[s[9]||(s[9]=n("span",{class:"summary-label"},"失败任务",-1)),n("strong",null,r(Q.value.failedTaskCount),1)])]),s[13]||(s[13]=n("div",{class:"subsection-title"},"匹配结果",-1)),m.value.length?(u(),ls(l,{key:1,data:m.value,"row-key":I,"highlight-current-row":!1,class:"result-table match-table"},{default:b(()=>[v(a,{prop:"shopName",label:"店铺名","min-width":"120"}),v(a,{label:"匹配",width:"72",align:"center"},{default:b(({row:t})=>[n("span",{class:ne(t.matched?"ok":"fail")},r(t.matched?"是":"否"),3)]),_:1}),v(a,{prop:"shopId",label:"店铺 ID","min-width":"120","show-overflow-tooltip":""}),v(a,{prop:"platform",label:"平台",width:"88","show-overflow-tooltip":""}),v(a,{prop:"companyName",label:"公司","min-width":"120","show-overflow-tooltip":""}),v(a,{label:"状态",width:"110","show-overflow-tooltip":""},{default:b(({row:t})=>[Se(r(Ee(t.matchStatus)),1)]),_:1}),v(a,{label:"说明","min-width":"180","show-overflow-tooltip":""},{default:b(({row:t})=>[Se(r(Qe(t)),1)]),_:1}),v(a,{label:"操作",width:"72",align:"center"},{default:b(({row:t})=>[n("button",{type:"button",class:"link-danger",onClick:g=>Ve(t)}," 删除 ",8,Js)]),_:1})]),_:1},8,["data"])):(u(),i("div",Ks," 完成“匹配店铺”后,这里会展示匹配结果。 ")),n("div",Ws,[s[12]||(s[12]=n("div",{class:"result-list-header"},[n("span",null,"任务记录")],-1)),!x.value.length&&!Y.value.length?(u(),i("div",Xs," 暂无任务记录。推送到 Python 队列后,这里会展示当前任务和历史任务。 ")):(u(),i(oe,{key:1},[x.value.length?(u(),i("div",Gs,[s[10]||(s[10]=n("div",{class:"result-subsection-title"},"当前任务",-1)),n("ul",Ys,[(u(!0),i(oe,null,Ce(x.value,t=>(u(),i("li",{key:`${t.resultId}-${t.taskId}`,class:"task-item"},[n("div",Zs,[n("span",{class:"id",title:t.shopName||""},r(t.shopName||"-"),9,et),n("div",st,"任务 ID: "+r(t.taskId??"-"),1),t.resultId?(u(),i("div",tt," 结果 ID: "+r(t.resultId),1)):p("",!0),t.shopId?(u(),i("div",at," 店铺 ID: "+r(t.shopId),1)):p("",!0),t.platform?(u(),i("div",nt," 平台: "+r(t.platform),1)):p("",!0),n("div",ot," 创建时间: "+r(se(t.createdAt)),1),n("div",lt," ASIN结构: "+r(he(t)),1),t.error?(u(),i("div",rt," 错误: "+r(t.error),1)):p("",!0)]),n("div",ut,[n("span",{class:ne(["status",me(t.taskStatus)])},r(ye(t.taskStatus)),3),n("button",{type:"button",class:"btn-delete",onClick:g=>be(t)}," 删除 ",8,it)])]))),128))])])):p("",!0),Y.value.length?(u(),i("div",ct,[s[11]||(s[11]=n("div",{class:"result-subsection-title"},"历史任务",-1)),n("ul",dt,[(u(!0),i(oe,null,Ce(Y.value,t=>(u(),i("li",{key:`${t.resultId}-${t.taskId}`,class:"task-item"},[n("div",ft,[n("span",{class:"id",title:t.shopName||""},r(t.shopName||"-"),9,ht),n("div",vt,"任务 ID: "+r(t.taskId??"-"),1),t.resultId?(u(),i("div",pt," 结果 ID: "+r(t.resultId),1)):p("",!0),t.shopId?(u(),i("div",yt," 店铺 ID: "+r(t.shopId),1)):p("",!0),t.platform?(u(),i("div",mt," 平台: "+r(t.platform),1)):p("",!0),n("div",gt," 创建时间: "+r(se(t.createdAt)),1),t.finishedAt?(u(),i("div",_t," 完成时间: "+r(se(t.finishedAt)),1)):p("",!0),n("div",wt," ASIN结构: "+r(he(t)),1),t.error?(u(),i("div",kt," 错误: "+r(t.error),1)):p("",!0)]),n("div",It,[n("span",{class:ne(["status",me(t.taskStatus)])},r(ye(t.taskStatus)),3),De(t)?(u(),i("button",{key:0,type:"button",class:"archive",onClick:g=>Ge(t)}," 下载结果 ",8,bt)):p("",!0),n("button",{type:"button",class:"btn-delete",onClick:g=>be(t)}," 删除 ",8,St)])]))),128))])])):p("",!0)],64))])])])])])}}}),At=_s(Ct,[["__scopeId","data-v-40c478d6"]]);ws.locale("zh-cn");ks(At).use(Is,{locale:bs}).mount("#app"); diff --git a/new_web_source/assets/shop-match-B2HWAgBY.css b/new_web_source/assets/shop-match-B2HWAgBY.css new file mode 100644 index 0000000..58ef8b4 --- /dev/null +++ b/new_web_source/assets/shop-match-B2HWAgBY.css @@ -0,0 +1 @@ +.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:#ffffff80;--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-text-color-secondary);--el-button-active-color:var(--el-text-color-primary);white-space:nowrap;cursor:pointer;height:32px;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;line-height:1;font-weight:var(--el-button-font-weight);-webkit-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);outline:none;justify-content:center;align-items:center;transition:all .1s;display:inline-flex}.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:none}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:8px 15px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";border-radius:inherit;background-color:var(--el-mask-color-extra-light);position:absolute;inset:-1px}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-dashed{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary);border-style:dashed}.el-button.is-circle{border-radius:50%;width:32px;padding:8px}.el-button.is-text{color:var(--el-button-text-color);background-color:#0000;border:0 solid #0000}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{color:var(--el-button-text-color);background:0 0;border-color:#0000;height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button.is-link:not(.is-disabled):hover{background-color:#0000;border-color:#0000}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);background-color:#0000;border-color:#0000}.el-button--text{color:var(--el-color-primary);background:0 0;border-color:#0000;padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);background-color:#0000;border-color:#0000}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);background-color:#0000;border-color:#0000}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-plain,.el-button--primary.is-text,.el-button--primary.is-link{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:hover,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--primary.is-dashed{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-text-color:var(--el-color-primary-dark-2);--el-button-active-bg-color:var(--el-color-primary-light-9);--el-button-active-border-color:var(--el-color-primary-dark-2)}.el-button--primary.is-dashed.is-disabled,.el-button--primary.is-dashed.is-disabled:hover,.el-button--primary.is-dashed.is-disabled:focus,.el-button--primary.is-dashed.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-plain,.el-button--success.is-text,.el-button--success.is-link{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:hover,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:active,.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--success.is-dashed{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-success);--el-button-hover-bg-color:var(--el-color-success-light-9);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-text-color:var(--el-color-success-dark-2);--el-button-active-bg-color:var(--el-color-success-light-9);--el-button-active-border-color:var(--el-color-success-dark-2)}.el-button--success.is-dashed.is-disabled,.el-button--success.is-dashed.is-disabled:hover,.el-button--success.is-dashed.is-disabled:focus,.el-button--success.is-dashed.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-plain,.el-button--warning.is-text,.el-button--warning.is-link{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:hover,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--warning.is-dashed{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-warning);--el-button-hover-bg-color:var(--el-color-warning-light-9);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-text-color:var(--el-color-warning-dark-2);--el-button-active-bg-color:var(--el-color-warning-light-9);--el-button-active-border-color:var(--el-color-warning-dark-2)}.el-button--warning.is-dashed.is-disabled,.el-button--warning.is-dashed.is-disabled:hover,.el-button--warning.is-dashed.is-disabled:focus,.el-button--warning.is-dashed.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-plain,.el-button--danger.is-text,.el-button--danger.is-link{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:hover,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--danger.is-dashed{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-danger);--el-button-hover-bg-color:var(--el-color-danger-light-9);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-text-color:var(--el-color-danger-dark-2);--el-button-active-bg-color:var(--el-color-danger-light-9);--el-button-active-border-color:var(--el-color-danger-dark-2)}.el-button--danger.is-dashed.is-disabled,.el-button--danger.is-dashed.is-disabled:hover,.el-button--danger.is-dashed.is-disabled:focus,.el-button--danger.is-dashed.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-plain,.el-button--info.is-text,.el-button--info.is-link{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:hover,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:active,.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--info.is-dashed{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-info);--el-button-hover-bg-color:var(--el-color-info-light-9);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-text-color:var(--el-color-info-dark-2);--el-button-active-bg-color:var(--el-color-info-light-9);--el-button-active-border-color:var(--el-color-info-dark-2)}.el-button--info.is-dashed.is-disabled,.el-button--info.is-dashed.is-disabled:hover,.el-button--info.is-dashed.is-disabled:focus,.el-button--info.is-dashed.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size:40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:12px 19px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size:24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:5px 11px;font-size:12px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}.el-date-table{-webkit-user-select:none;user-select:none;font-size:12px}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;text-align:center;cursor:pointer;width:32px;height:30px;padding:4px 0;position:relative}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;width:24px;height:24px;margin:0 auto;line-height:24px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-date-table td.today.start-date .el-date-table-cell__text,.el-date-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.start-date .el-date-table-cell,.el-date-table td.end-date .el-date-table-cell{color:#fff}.el-date-table td.start-date .el-date-table-cell__text,.el-date-table td.end-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-top-left-radius:15px;border-bottom-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-top-right-radius:15px;border-bottom-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);opacity:1;cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-date-table td.selected .el-date-table-cell{border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#fff;border-radius:15px}.el-date-table td.week{color:var(--el-datepicker-off-text-color);cursor:default;font-size:80%}.el-date-table td:focus{outline:none}.el-date-table th{color:var(--el-datepicker-header-text-color);border-bottom:solid 1px var(--el-border-color-lighter);padding:5px;font-weight:400}.el-date-table th.el-date-table__week-header{width:24px;padding:0}.el-month-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-month-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-month-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-month-table td.today.start-date .el-date-table-cell__text,.el-month-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-month-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-month-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-month-table td .el-date-table-cell__text{width:54px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-month-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.start-date .el-date-table-cell,.el-month-table td.end-date .el-date-table-cell{color:#fff}.el-month-table td.start-date .el-date-table-cell__text,.el-month-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px;margin-left:3px}.el-month-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{border-collapse:collapse;margin:-1px;font-size:12px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{text-align:center;cursor:pointer;width:68px;padding:8px 0;position:relative}.el-year-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-year-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:700}.el-year-table td.today.start-date .el-date-table-cell__text,.el-year-table td.today.end-date .el-date-table-cell__text{color:#fff}.el-year-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);cursor:not-allowed;color:var(--el-text-color-placeholder)}.el-year-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-year-table td .el-date-table-cell__text{width:60px;height:36px;color:var(--el-datepicker-text-color);border-radius:18px;margin:0 auto;line-height:36px;display:block;position:absolute;left:50%;transform:translate(-50%)}.el-year-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-year-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-year-table td.start-date .el-date-table-cell,.el-year-table td.end-date .el-date-table-cell{color:#fff}.el-year-table td.start-date .el-date-table-cell__text,.el-year-table td.end-date .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td.start-date .el-date-table-cell{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-year-table td.end-date .el-date-table-cell{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-year-table td.current:not(.disabled) .el-date-table-cell__text{color:#fff;background-color:var(--el-datepicker-active-color)}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{vertical-align:top;width:50%;max-height:192px;display:inline-block;position:relative;overflow:auto}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);width:100%;z-index:var(--el-index-normal);text-align:center;cursor:pointer;height:30px;font-size:12px;line-height:30px;position:absolute;left:0}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner{text-align:center;padding:0}.el-time-spinner__list{text-align:center;margin:0;padding:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";width:100%;height:80px;display:block}.el-time-spinner__item{height:32px;color:var(--el-text-color-regular);font-size:12px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:700}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:#0000;border-right-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:#0000;border-left-color:#0000}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-top-color:#0000;border-right-color:#0000}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;text-align:left;vertical-align:middle;position:relative}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{width:var(--el-date-editor-width);height:var(--el-input-height,var(--el-component-size))}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .close-icon,.el-date-editor .clear-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__icon{height:inherit;color:var(--el-text-color-placeholder);float:left;font-size:14px}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;width:39%;height:30px;line-height:30px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);background-color:#0000;border:none;outline:none;margin:0;padding:0;display:inline-block}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{overflow-wrap:break-word;height:100%;color:var(--el-text-color-primary);flex:1;justify-content:center;align-items:center;margin:0;padding:0 5px;font-size:14px;display:inline-flex}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);height:inherit;width:unset;cursor:pointer;font-size:14px}.el-date-editor .el-range__close-icon:hover{color:var(--el-input-clear-hover-color)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{vertical-align:middle;align-items:center;padding:0 10px;display:inline-flex}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{height:38px;font-size:14px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{height:22px;font-size:12px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled:hover,.el-range-editor.is-disabled:focus{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{color:var(--el-text-color-regular);background:var(--el-datepicker-bg-color);border-radius:var(--el-popper-border-radius,var(--el-border-radius-base));line-height:30px}.el-picker-panel .el-time-panel{border:solid 1px var(--el-datepicker-border-color);background-color:var(--el-datepicker-bg-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body:after,.el-picker-panel__body-wrapper:after{content:"";clear:both;display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{border-top:1px solid var(--el-datepicker-inner-border-color);text-align:right;background-color:var(--el-datepicker-bg-color);padding:4px 12px;font-size:0;position:relative}.el-picker-panel__shortcut{width:100%;color:var(--el-datepicker-text-color);text-align:left;cursor:pointer;background-color:#0000;border:0;outline:none;padding-left:12px;font-size:14px;line-height:28px;display:block}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{color:var(--el-datepicker-active-color);background-color:#e6f1fe}.el-picker-panel__btn{border:1px solid var(--el-fill-color-darker);color:var(--el-text-color-primary);cursor:pointer;background-color:#0000;border-radius:2px;outline:none;padding:0 20px;font-size:12px;line-height:24px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{color:var(--el-datepicker-icon-color);cursor:pointer;background:0 0;border:0;outline:none;margin-top:8px;padding:1px 6px;font-size:12px;line-height:1}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn.is-disabled .el-icon{cursor:inherit}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel.is-disabled .el-picker-panel__prev-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__prev-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__prev-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__next-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__next-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__next-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__icon-btn{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__icon-btn:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__icon-btn .el-icon{cursor:inherit}.el-picker-panel.is-disabled .el-picker-panel__shortcut{color:var(--el-text-color-disabled)}.el-picker-panel.is-disabled .el-picker-panel__shortcut:hover{cursor:not-allowed}.el-picker-panel.is-disabled .el-picker-panel__shortcut .el-icon{cursor:inherit}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;padding-top:6px;position:absolute;top:0;bottom:0;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);--el-fill-color-blank:var(--el-datepicker-bg-color);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-picker__header{text-align:center;padding:12px 12px 0}.el-date-picker__header--bordered{border-bottom:solid 1px var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{text-align:center;padding:10px}.el-date-picker__time-label{float:left;cursor:pointer;margin-left:10px;line-height:30px}.el-date-picker .el-time-panel{position:absolute}.el-date-picker.is-disabled .el-date-picker__header-label{color:var(--el-text-color-disabled)}.el-date-picker.is-disabled .el-date-picker__header-label:hover{cursor:not-allowed}.el-date-picker.is-disabled .el-date-picker__header-label .el-icon{cursor:inherit}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);--el-datepicker-bg-color:var(--el-bg-color-overlay);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{text-align:center;height:28px;position:relative}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{margin-right:50px;font-size:16px;font-weight:500}.el-date-range-picker__header-label{text-align:center;cursor:pointer;color:var(--el-text-color-regular);padding:0 5px;font-size:16px;font-weight:500;line-height:22px}.el-date-range-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-range-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-range-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-range-picker__content{box-sizing:border-box;width:50%;margin:0;padding:16px;display:table-cell}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:100%;padding:8px 5px 5px;font-size:12px;display:table;position:relative}.el-date-range-picker__time-header>.el-icon-arrow-right{vertical-align:middle;color:var(--el-datepicker-icon-color);font-size:20px;display:table-cell}.el-date-range-picker__time-picker-wrap{padding:0 5px;display:table-cell;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{z-index:1;background:#fff;position:absolute;top:13px;right:0}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-date-range-picker.is-disabled .el-date-range-picker__header-label{color:var(--el-text-color-disabled)}.el-date-range-picker.is-disabled .el-date-range-picker__header-label:hover{cursor:not-allowed}.el-date-range-picker.is-disabled .el-date-range-picker__header-label .el-icon{cursor:inherit}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{text-align:center;z-index:1;padding:10px;position:relative}.el-time-range-picker__cell{box-sizing:border-box;width:50%;margin:0;padding:4px 7px 7px;display:inline-block}.el-time-range-picker__header{text-align:center;margin-bottom:5px;font-size:14px}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{width:180px;z-index:var(--el-index-top);-webkit-user-select:none;user-select:none;box-sizing:content-box;border-radius:2px;position:relative;left:0}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";z-index:-1;box-sizing:border-box;text-align:left;height:32px;margin-top:-16px;padding-top:6px;position:absolute;top:50%;left:0;right:0}.el-time-panel__content:after{margin-left:12%;margin-right:12%;left:50%}.el-time-panel__content:before{border-top:1px solid var(--el-border-color-light);border-bottom:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));text-align:right;box-sizing:border-box;height:36px;padding:4px;line-height:25px}.el-time-panel__btn{cursor:pointer;color:var(--el-text-color-primary);background-color:#0000;border:none;outline:none;margin:0 5px;padding:0 5px;font-size:12px;line-height:28px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-picker-panel.is-border{border:solid 1px var(--el-border-color-lighter)}.el-picker-panel.is-border .el-picker-panel__body-wrapper{position:relative}.el-picker-panel.is-border.el-picker-panel [slot=sidebar],.el-picker-panel.is-border.el-picker-panel__sidebar{border-right:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;width:110px;height:100%;padding-top:6px;position:absolute;top:0;overflow:auto}.module-page[data-v-abfb3635]{min-height:100vh;background:#1a1a1a}.main-content[data-v-abfb3635]{display:flex;min-height:calc(100vh - 56px);height:calc(100vh - 56px)}.left-panel[data-v-abfb3635]{width:400px;background:#1e1e1e;padding:20px;overflow-y:auto;border-right:1px solid #2a2a2a}.right-panel[data-v-abfb3635]{flex:1;display:flex;flex-direction:column;min-width:0;background:#1a1a1a}.section-title[data-v-abfb3635]{font-size:13px;color:#bbb;margin-bottom:10px}.input-zone[data-v-abfb3635]{border:1px dashed #3a3a3a;border-radius:10px;padding:16px;background:#252525;margin-bottom:20px}.hint[data-v-abfb3635]{color:#888;font-size:12px;margin-bottom:12px;line-height:1.5;text-align:left}.country-pref-hint[data-v-abfb3635]{margin-top:-4px}.country-pref-checks[data-v-abfb3635]{display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:12px}.country-check-row[data-v-abfb3635]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:#ccc}.country-check-input[data-v-abfb3635]{width:16px;height:16px;accent-color:#409eff;cursor:pointer;flex-shrink:0}.country-check-text[data-v-abfb3635]{line-height:1.3}.country-order-panel[data-v-abfb3635]{border:1px solid #333;border-radius:8px;padding:10px 12px;background:#252525;margin-bottom:14px}.country-order-caption[data-v-abfb3635]{font-size:11px;color:#777;margin-bottom:8px}.country-order-list[data-v-abfb3635]{display:flex;flex-direction:column;gap:6px}.country-drag-row[data-v-abfb3635]{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#2c2c2c;border-radius:6px;border:1px solid #3a3a3a;cursor:grab;-webkit-user-select:none;user-select:none}.country-drag-row.dragging[data-v-abfb3635]{opacity:.55;border-color:#3498db}.drag-handle[data-v-abfb3635]{color:#666;font-size:12px;letter-spacing:-2px}.country-drag-label[data-v-abfb3635]{font-size:12px;color:#ccc}.country-pref-status[data-v-abfb3635]{font-size:11px;color:#888;margin-bottom:10px}.input-row[data-v-abfb3635]{display:flex;gap:10px;align-items:center}.input-row[data-v-abfb3635] .el-input{flex:1}.opt-btn[data-v-abfb3635],.schedule-remove[data-v-abfb3635],.schedule-add[data-v-abfb3635]{padding:8px 12px;font-size:12px;color:#ccc;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:6px;cursor:pointer;white-space:nowrap}.opt-btn[data-v-abfb3635]:hover:not(:disabled),.schedule-remove[data-v-abfb3635]:hover:not(:disabled),.schedule-add[data-v-abfb3635]:hover:not(:disabled){color:#3498db;border-color:#3498db}.opt-btn[data-v-abfb3635]:disabled,.schedule-remove[data-v-abfb3635]:disabled,.schedule-add[data-v-abfb3635]:disabled{opacity:.6;cursor:not-allowed}.empty-candidates[data-v-abfb3635]{color:#666;font-size:13px;padding:16px;border:1px dashed #333;border-radius:8px;margin-bottom:16px}.candidate-table-scroll[data-v-abfb3635]{max-height:280px;overflow:auto;margin-bottom:16px;border-radius:8px;border:1px solid #2a2a2a}.candidate-table[data-v-abfb3635]{--el-table-bg-color: #252525;--el-table-tr-bg-color: #252525;--el-table-header-bg-color: #2a2a2a;--el-table-text-color: #ccc;--el-table-border-color: #333}.schedule-switch[data-v-abfb3635]{display:flex;align-items:center;gap:8px;color:#ccc;font-size:12px;margin-bottom:12px}.schedule-config[data-v-abfb3635]{border:1px solid #333;border-radius:8px;padding:12px;background:#252525;margin-bottom:16px}.schedule-row[data-v-abfb3635]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.schedule-picker[data-v-abfb3635]{flex:1}.schedule-picker[data-v-abfb3635] .el-input__wrapper{background-color:#2a2a2a;box-shadow:0 0 0 1px #3a3a3a inset}.schedule-picker[data-v-abfb3635] .el-input__inner{color:#ccc}.schedule-add[data-v-abfb3635]{margin-top:2px}.schedule-hint[data-v-abfb3635]{margin-top:10px;margin-bottom:0}.link-danger[data-v-abfb3635]{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:12px;padding:0}.link-danger[data-v-abfb3635]:hover{text-decoration:underline}.run-row[data-v-abfb3635]{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.btn-run[data-v-abfb3635]{padding:10px 18px;font-size:14px;font-weight:600;color:#fff;background:#3498db;border:none;border-radius:8px;cursor:pointer}.btn-run[data-v-abfb3635]:hover:not(:disabled){background:#2980b9}.btn-run[data-v-abfb3635]:disabled{opacity:.55;cursor:not-allowed}.btn-queue[data-v-abfb3635]{background:#27ae60}.btn-queue[data-v-abfb3635]:hover:not(:disabled){background:#219a52}.loading-msg[data-v-abfb3635]{margin-top:12px;font-size:12px;color:#777;line-height:1.5}.loading-msg code[data-v-abfb3635]{font-size:11px;color:#8fd3ff}.queue-debug-card[data-v-abfb3635]{margin-top:18px;padding:14px;border:1px solid #2a2a2a;border-radius:10px;background:#202020}.queue-debug-title[data-v-abfb3635]{margin-bottom:8px}.queue-debug-line[data-v-abfb3635]{color:#b8c1cc;font-size:12px;line-height:1.6;margin-bottom:8px}.queue-debug-payload[data-v-abfb3635]{margin:0;max-height:220px;overflow:auto;padding:10px;border-radius:8px;background:#141414;color:#8fd3ff;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.panel-header[data-v-abfb3635]{padding:16px 20px;font-size:15px;font-weight:600;color:#e0e0e0;border-bottom:1px solid #2a2a2a}.task-list-wrap[data-v-abfb3635]{flex:1;padding:16px 20px;overflow:auto}.clean-result-summary[data-v-abfb3635]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.summary-card[data-v-abfb3635]{padding:14px 16px;border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e}.summary-card strong[data-v-abfb3635]{display:block;margin-top:8px;font-size:22px;color:#eaf4ff}.summary-label[data-v-abfb3635]{font-size:12px;color:#8d8d8d}.subsection-title[data-v-abfb3635]{font-size:13px;color:#999;margin:8px 0 10px}.empty-tasks[data-v-abfb3635]{color:#666;font-size:13px;padding:16px;text-align:center}.empty-tasks.narrow[data-v-abfb3635]{padding:12px 8px}.match-table[data-v-abfb3635]{margin-bottom:18px}.match-table[data-v-abfb3635] .el-table__body tr:hover>td.el-table__cell,.match-table[data-v-abfb3635] .el-table__body tr.hover-row>td.el-table__cell,.match-table[data-v-abfb3635] .el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-tr-bg-color, #222)!important}.result-table[data-v-abfb3635]{--el-table-bg-color: #222;--el-table-tr-bg-color: #222;--el-table-header-bg-color: #2a2a2a;--el-table-text-color: #ccc;--el-table-border-color: #333}.ok[data-v-abfb3635]{color:#27ae60}.fail[data-v-abfb3635]{color:#e67e22}.result-list-wrap[data-v-abfb3635]{border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e;min-height:200px;margin-top:8px}.result-list-header[data-v-abfb3635]{padding:12px 16px;border-bottom:1px solid #2a2a2a;font-size:14px;color:#ddd}.result-subsection[data-v-abfb3635]{padding:12px 12px 4px}.result-subsection-title[data-v-abfb3635]{font-size:12px;color:#888;margin-bottom:8px}.task-list[data-v-abfb3635]{list-style:none;margin:0;padding:0}.task-item[data-v-abfb3635]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #2a2a2a;border-radius:8px;margin-bottom:8px;background:#222}.left[data-v-abfb3635]{flex:1;min-width:0}.split-result-main[data-v-abfb3635]{display:flex;flex-direction:column;gap:4px}.id[data-v-abfb3635]{font-weight:600;color:#e0e0e0;font-size:13px}.files[data-v-abfb3635]{font-size:12px;color:#888}.task-right[data-v-abfb3635]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.status[data-v-abfb3635]{padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap}.status.success[data-v-abfb3635]{background:#2ecc712e;color:#2ecc71}.status.failed[data-v-abfb3635]{background:#e74c3c2e;color:#ff6b6b}.status.running[data-v-abfb3635]{background:#3498db2e;color:#3498db}.download[data-v-abfb3635]{padding:6px 10px;border-radius:6px;font-size:12px;background:#3498db2e;color:#69b6ff;border:none;cursor:pointer}.download[data-v-abfb3635]:hover{background:#3498db47}.btn-delete[data-v-abfb3635]{padding:6px 10px;border-radius:6px;font-size:12px;background:#e74c3c1f;color:#ff8f8f;border:none;cursor:pointer}.btn-delete[data-v-abfb3635]:hover{background:#e74c3c38}@media(max-width:1100px){.main-content[data-v-abfb3635]{flex-direction:column;height:auto}.left-panel[data-v-abfb3635]{width:100%;border-right:none;border-bottom:1px solid #2a2a2a}.clean-result-summary[data-v-abfb3635]{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-row[data-v-abfb3635]{flex-direction:column;align-items:stretch}} diff --git a/new_web_source/assets/shop-match.js b/new_web_source/assets/shop-match.js new file mode 100644 index 0000000..ec4f2aa --- /dev/null +++ b/new_web_source/assets/shop-match.js @@ -0,0 +1 @@ +import{d as is,g as p,o as cs,L as ds,a as i,c,b as _,B as fs,e as l,aj as hs,ak as vs,t as v,a5 as L,a6 as ms,a7 as ps,F as H,r as j,al as wt,n as me,f as E,am as gs,a4 as kt,an as ys,ao as Ss,w as ws,v as ks,aD as bs,x as pe,h as ge,aE as _s,aF as Ts,aG as Cs,aH as Es,E as m,aI as Is,aJ as Ds,aK as $s,i as Ue,aL as Ns,aM as Ms,aN as Ps,aO as xs,aP as Ls,aQ as Re,aR as As,U as Fs,_ as Us,aS as Rs,q as Os,s as Hs}from"./pywebview-CcblbV5J.js";import{z as Vs}from"./zh-cn-DCaAv7Wt.js";/* empty css *//* empty css */import{L as qs}from"./listingFilters-BpGOU_pJ.js";import{c as Bs}from"./categorized-timers-JPA-olTr.js";const zs={class:"page-shell module-page"},js={class:"main-content"},Ks={class:"left-panel"},Gs={class:"input-zone"},Js={class:"input-row"},Ys=["disabled"],Qs={key:0,class:"empty-candidates"},Ws={key:1,class:"candidate-table-scroll"},Xs=["onClick"],Zs={class:"country-pref-checks"},ea=["checked","disabled","onChange"],ta={class:"country-check-text"},sa={key:2,class:"country-order-panel"},aa={class:"country-order-list"},na=["onDragstart","onDrop"],oa={class:"country-drag-label"},la={key:3,class:"country-pref-status"},ra={class:"listing-filter-row"},ua={class:"schedule-switch"},ia=["disabled"],ca={key:4,class:"schedule-config"},da=["disabled","onClick"],fa=["disabled"],ha={class:"run-row"},va=["disabled"],ma=["disabled"],pa={key:5,class:"queue-debug-card"},ga={class:"queue-debug-line"},ya={key:0,class:"queue-debug-payload"},Sa={class:"right-panel"},wa={class:"task-list-wrap"},ka={class:"clean-result-summary"},ba={class:"summary-card"},_a={class:"summary-card"},Ta={class:"summary-card"},Ca={class:"summary-card"},Ea={key:0,class:"empty-tasks narrow"},Ia=["onClick"],Da={class:"result-list-wrap"},$a={key:0,class:"empty-tasks"},Na={key:0,class:"result-subsection"},Ma={class:"task-list"},Pa={class:"left split-result-main"},xa=["title"],La={class:"files"},Aa={key:0,class:"files"},Fa={key:1,class:"files"},Ua={key:2,class:"files"},Ra={key:3,class:"files"},Oa={class:"task-right"},Ha=["onClick"],Va=["onClick"],qa={key:1,class:"result-subsection"},Ba={class:"task-list"},za={class:"left split-result-main"},ja=["title"],Ka={class:"files"},Ga={key:0,class:"files"},Ja={key:1,class:"files"},Ya={class:"task-right"},Qa=["onClick"],Wa=["onClick"],Xa=is({__name:"BrandShopMatchTab",setup(en){const ye=[{code:"DE",label:"德国"},{code:"UK",label:"英国"},{code:"FR",label:"法国"},{code:"IT",label:"意大利"},{code:"ES",label:"西班牙"}],ae=p(""),Se=p([]),Oe=p([]),T=p([]),we=p("Active"),ne=p(!1),oe=p(!1),P=p(!1),ke=p(!1),be=p(!1),S=p(""),K=p(""),g=p(["DE","UK","FR","IT","ES"]),G=p(null),_e=p(!1),Te=p(!1);let V=null;const x=p(!0),w=p([$e()]),J=p({candidateCount:0,processedTaskCount:0,successTaskCount:0,failedTaskCount:0}),D=p([]),y=p([]),k=p({}),d=p({}),M=p(null),Ce=p(!1),N=new Map,Ee=p(!1);let Y=null,He=0,Ve="",b=!1;const C=Bs("shop-match"),Ie=ge(()=>Ye(D.value.filter(e=>!!I(e.taskId)&&!Ze(e)),d.value,"current")),De=ge(()=>Ye(D.value.filter(e=>!I(e.taskId)||Ze(e)),d.value,"history")),bt=ge(()=>Ie.value.length>0||De.value.length>0),_t=ge(()=>{const e=new Set(g.value);return[...g.value.map(t=>({code:t,label:Ge(t)})),...ye.filter(t=>!e.has(t.code)).map(t=>({code:t.code,label:t.label}))]});function Q(){return typeof window<"u"&&window.localStorage.getItem("uid")||"0"}function Tt(){const e=Number(Q());return Number.isFinite(e)&&e>0?e:0}function I(e){const t=Number(e);return Number.isFinite(t)&&t>0?t:0}function qe(){return`shop-match:tasks:${Q()}`}function Be(){return`shop-match:task-status:${Q()}`}function ze(){return`shop-match:task-snapshots:${Q()}`}function je(){return`shop-match:matched-items:${Q()}`}function le(e,t,s){s?window.localStorage.removeItem(e):window.localStorage.setItem(e,JSON.stringify(t))}function A(e){return`${(e.shopName||"").trim()}::${e.shopId||""}`}function Ke(e){return`${I(e.taskId)}-${e.resultId||0}-${e.shopName||""}`}function Ge(e){return ye.find(t=>t.code===e)?.label||e}function Ct(e){const t=e.getFullYear(),s=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0"),n=String(e.getHours()).padStart(2,"0"),u=String(e.getMinutes()).padStart(2,"0"),r=String(e.getSeconds()).padStart(2,"0");return`${t}-${s}-${a}T${n}:${u}:${r}`}function re(e){const t=e.getFullYear(),s=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0"),n=String(e.getHours()).padStart(2,"0"),u=String(e.getMinutes()).padStart(2,"0");return`${t}-${s}-${a} ${n}:${u}:00`}function $e(){const e=new Date;return e.setSeconds(0,0),e.setMinutes(e.getMinutes()+5),re(e)}function W(e){if(!e)return null;const s=e.trim().replace("T"," ").match(/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})(?::(\d{2}))?$/);if(!s)return null;const a=Number(s[1]),n=Number(s[2]),u=Number(s[3]),r=Number(s[4]),f=Number(s[5]),o=Number(s[6]||"0"),h=new Date(a,n-1,u,r,f,o,0);return Number.isNaN(h.getTime())||h.getFullYear()!==a||h.getMonth()!==n-1||h.getDate()!==u?null:h}function Et(e,t){const s=W(e)||new Date;return s.setSeconds(0,0),s.setMinutes(s.getMinutes()+t),re(s)}function Je(e){const t=W(e);if(!t)return"-";const s=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),n=String(t.getHours()).padStart(2,"0"),u=String(t.getMinutes()).padStart(2,"0");return`${s}-${a} ${n}:${u}`}function Ye(e,t,s){const a=new Map;for(const n of e)a.set(Ke(n),n);for(const[n,u]of Object.entries(t)){const r=I(n),f=u.items?.[0];if(!f||!r)continue;const o=Xe(r);if(s==="current"&&o||s==="history"&&!o)continue;const h=Ke({...f,taskId:r});a.has(h)||a.set(h,{...f,taskId:r})}return Array.from(a.values())}function It(){try{const e=window.localStorage.getItem(qe()),t=e?JSON.parse(e):[];y.value=Array.isArray(t)?t.filter(s=>typeof s=="number"&&s>0):[]}catch{y.value=[]}}function ue(){le(qe(),y.value,y.value.length===0)}function Dt(){try{const e=window.localStorage.getItem(Be());k.value=e?JSON.parse(e):{}}catch{k.value={}}}function F(){le(Be(),k.value,Object.keys(k.value).length===0)}function $t(){try{const e=window.localStorage.getItem(ze());d.value=e?JSON.parse(e):{}}catch{d.value={}}}function q(){le(ze(),d.value,Object.keys(d.value).length===0)}function Nt(){try{const e=window.localStorage.getItem(je());T.value=e?JSON.parse(e):[]}catch{T.value=[]}}function Ne(){le(je(),T.value,T.value.length===0)}function Mt(e){const t=e instanceof Error?e.message:String(e||"");return/记录不存在|任务不存在|不存在|已删除|not\s*found|404/i.test(t)}function Pt(){const e=y.value.filter(t=>(k.value[t]||d.value[t]?.task?.status)==="RUNNING");e.length!==y.value.length&&(y.value=e,ue())}function Qe(e){y.value.includes(e)||(y.value=[...y.value,e],ue())}function ie(e){const t=N.get(e);t&&(C.clearTimer("scheduled-dispatch",t),N.delete(e),N.size||fe())}function ce(e){if(ie(e),y.value=y.value.filter(t=>t!==e),delete k.value[e],d.value[e]){const t={...d.value};delete t[e],d.value=t,q()}ue(),F()}function X(e){ce(e),D.value=D.value.filter(t=>I(t.taskId)!==e)}function We(e,t=!0){y.value=y.value.filter(s=>s!==e),t||delete k.value[e],ue(),F()}function Z(e){return e==="SUCCESS"||e==="FAILED"||e==="COMPLETED"}function Xe(e){if(!e)return!1;const t=k.value[e]||d.value[e]?.task?.status;return Z(t)}function Ze(e){const t=I(e.taskId);return t&&Xe(t)||Z(e.taskStatus)?!0:!!e.success}async function ee(){Se.value=await _s()}async function U(){J.value=await Ts()}async function B(){const e=await Cs();D.value=e.items||[]}async function xt(){try{const e=await Es();if(Te.value)return;const t=(e.country_codes||[]).filter(s=>ye.some(a=>a.code===s));t.length&&(g.value=t)}catch{}}async function de(){await Promise.allSettled([B(),U()])}function et(){V&&C.clearTimer("preference-save",V),V=C.setTimeout("preference-save",()=>{V=null,Lt()},450)}async function Lt(){if(g.value.length){_e.value=!0;try{await Ls(g.value)}catch(e){m.error(e instanceof Error?e.message:"保存国家配置失败")}finally{_e.value=!1}}}function At(e){Oe.value=e}async function tt(){const e=ae.value.trim();if(!e){m.warning("请输入店铺名");return}ne.value=!0;try{await Is(e),ae.value="",await ee(),await U()}catch(t){m.error(t instanceof Error?t.message:"添加失败")}finally{ne.value=!1}}async function Ft(e){try{await Ds(e.id),await ee(),await U()}catch(t){m.error(t instanceof Error?t.message:"删除失败")}}function Ut(e){return g.value.includes(e)}function st(e){return g.value.length===1&&g.value[0]===e}function Rt(e,t){const s=t.target;if(s){if(!s.checked&&st(e)){s.checked=!0,m.warning("至少保留 1 个国家");return}Ot(e,s.checked)}}function Ot(e,t){if(Te.value=!0,t)g.value.includes(e)||(g.value=[...g.value,e]);else{if(g.value.length<=1){m.warning("至少保留 1 个国家");return}g.value=g.value.filter(s=>s!==e)}et()}function Ht(e){G.value=e}function Vt(){G.value=null}function qt(e){const t=G.value;if(G.value=null,t==null||t===e)return;Te.value=!0;const s=[...g.value],[a]=s.splice(t,1);s.splice(e,0,a),g.value=s,et()}function Bt(){x.value&&(w.value=Me(w.value,!0)),x.value||(w.value=[])}function zt(){const e=w.value[w.value.length-1],t=e?Et(e,60):$e();w.value=[...w.value,t]}function jt(e){w.value.length<=1||(w.value=w.value.filter((t,s)=>s!==e))}function Kt(e,t){const s=[...w.value];s[e]=t||"",w.value=Me(s,!1)}function Gt(e,t){const s=new Map;for(const a of e)s.set(A(a),a);for(const a of t)s.set(A(a),a);return Array.from(s.values())}async function Jt(){const e=Oe.value.map(t=>t.shop_name).filter(Boolean);if(!e.length){m.warning("请先选择候选店铺");return}oe.value=!0;try{const t=await $s(e);T.value=Gt(T.value,t.items||[]),Ne(),be.value&>(),m.success(`本次返回 ${t.items?.length||0} 条匹配结果`)}catch(t){m.error(t instanceof Error?t.message:"匹配失败")}finally{oe.value=!1}}function Yt(e){T.value=T.value.filter(t=>A(t)!==A(e)),Ne()}function R(e){const t=new Set(e.map(s=>A(s)));T.value=T.value.filter(s=>!t.has(A(s))),Ne()}function Qt(){if(!x.value)return;const e=Date.now(),t=w.value.map(n=>n.trim()).filter(Boolean);if(!t.length)throw new Error("请至少选择一个执行时间");const s=t.map(n=>{const u=W(n);if(!u)throw new Error(`时间格式无效: ${n}`);return{raw:Ct(u),picker:re(u),time:u.getTime()}}).sort((n,u)=>n.time-u.time);for(let n=1;nn.time>e);if(!a.length)throw new Error("执行时间必须晚于当前时间,请重新选择");return a.length!==s.length&&(w.value=a.map(n=>n.picker),m.warning("已自动移除早于当前时间的执行时间")),a.map(n=>n.raw)}function Me(e,t){const s=Date.now(),a=e.map(r=>r.trim()).filter(Boolean).map(r=>{const f=W(r);return f?{value:re(f),time:f.getTime()}:null}).filter(r=>!!r).filter(r=>r.time>s).sort((r,f)=>r.time-f.time),n=[],u=new Set;for(const r of a)u.has(r.value)||(u.add(r.value),n.push(r.value));return!n.length&&t?[$e()]:n}function at(e,t,s,a,n=!0){return{type:"shop-match-run",ts:Date.now(),data:{taskId:e,user_id:Tt(),items:[{shopName:t.shopName,shopId:t.shopId,platform:t.platform,companyName:t.companyName,matched:!0,matchStatus:t.matchStatus,matchMessage:t.matchMessage}],country_codes:[...s],risk_listing_filter:we.value,stage_index:a,final_stage:n}}}function Pe(e){const t=d.value[e]?.task,s=t?.scheduleStages||[],a=t?.currentStageIndex;if(typeof a!="number")return null;const n=s.find(u=>u.stageIndex===a);return n?.scheduledAt?{stageIndex:a,scheduledAt:n.scheduledAt,finalStage:a===s.length-1}:null}async function Wt(e,t){const s=Ue();if(!s?.enqueue_json)throw new Error("当前客户端未提供 enqueue_json");const a=Pe(e),n=d.value[e],u=n?.task?.countryCodes||g.value;if(!a)throw new Error(`任务 ${e} 缺少待执行阶段`);ie(e),await lt(()=>As(e,a.stageIndex),(o,h)=>{S.value=`任务 ${e} 等待后端恢复后再激活执行(${o}/${h})...`}),k.value={...k.value,[e]:"RUNNING"},n?.task&&(d.value={...d.value,[e]:{...n,task:{...n.task,status:"RUNNING",activeStageIndex:a.stageIndex}}}),q(),F();const r=at(e,t,u,a.stageIndex,a.finalStage);K.value=JSON.stringify(r,null,2);const f=await s.enqueue_json(r);if(!f?.success)throw new Error(f?.error||`任务 ${e} 推送失败`);Qe(e),S.value=`任务 ${e} 已推送第 ${a.stageIndex+1} 轮`,se(!0)}function nt(e){const t=W(e);return t?t.getTime():Number.NaN}function Xt(){const e=new Set(y.value);for(const s of Object.keys(d.value)){const a=I(s);a>0&&e.add(a)}for(const s of D.value){const a=I(s.taskId);a>0&&e.add(a)}const t=Array.from(e).map(s=>{const a=d.value[s],n=k.value[s]||a?.task?.status,u=a?.items?.[0]||D.value.find(o=>I(o.taskId)===s),r=Pe(s);if(n!=="SCHEDULED"||!u||!r?.scheduledAt)return null;const f=nt(r.scheduledAt);return!Number.isFinite(f)||f>Date.now()?null:{taskId:s,item:u,scheduledTime:f}}).filter(s=>!!s);return t.sort((s,a)=>s.scheduledTime-a.scheduledTime||s.taskId-a.taskId),t}async function xe(){if(Ee.value)return;const e=Xt();if(e.length){Ee.value=!0;try{const t=e[0];try{await Wt(t.taskId,t.item),await ns(t.taskId)}catch(s){const a=s instanceof Error?s.message:`任务 ${t.taskId} 调度失败`,n=`${t.taskId}:${a}`,u=Date.now();S.value=a,(Ve!==n||u-He>1e4)&&(Ve=n,He=u,m.error(a)),await Promise.allSettled([B(),rt()])}}finally{Ee.value=!1,$()}}}function Zt(e,t){if(b||!t)return;ie(e);const s=nt(t);if(!Number.isFinite(s))return;const a=Math.max(0,s-Date.now()),n=C.setTimeout("scheduled-dispatch",()=>{N.delete(e),N.size||fe(),b||xe()},a);N.set(e,n),ot()}function $(){if(b)return;const e=new Set(y.value);for(const t of Object.keys(d.value)){const s=I(t);s>0&&e.add(s)}for(const t of D.value){const s=I(t.taskId);s>0&&e.add(s)}for(const t of e){const a=d.value[t]?.task?.status||k.value[t],n=Pe(t);a==="SCHEDULED"&&n?.scheduledAt?Zt(t,n.scheduledAt):ie(t)}N.size?ot():fe(),xe()}function ot(){b||Y||!N.size||(Y=C.setInterval("schedule-heartbeat",()=>{b||xe()},3e4))}function fe(){Y&&(C.clearTimer("schedule-heartbeat",Y),Y=null)}function he(){$(),y.value.length&&se(!0)}const es=["无法连接到后端服务","bad gateway","gateway timeout","network error","timeout","502","503","504"];function te(e){return b?Promise.resolve():C.sleep("queue-wait",e)}function ts(){C.clearCategory("queue-wait")}function Le(e){const t=(e instanceof Error?e.message:String(e||"")).toLowerCase();return es.some(s=>t.includes(s.toLowerCase()))}async function lt(e,t,s=10){let a=0;for(;;){if(b)throw new Error("component disposed");try{return await e()}catch(n){if(a+=1,!Le(n)||a>=s)throw n;t(a,s),await te(O())}}}async function rt(){if(!y.value.length)return{settledTaskIds:[]};try{const e=await Re(y.value),t={...d.value},s=new Set;for(const a of e.missingTaskIds||[])X(a),delete t[a],s.add(a);for(const a of e.items||[]){const n=a.task?.id;if(!n)continue;const u=t[n];t[n]=u?{...u,task:{...u.task||{},...a.task||{}}}:a;const r=a.task?.status||"";if(r){if(k.value[n]=r,Z(r)){ce(n),s.add(n);continue}r==="SCHEDULED"&&(We(n),s.add(n))}}return d.value=t,q(),F(),$(),{settledTaskIds:Array.from(s)}}catch{return{settledTaskIds:[]}}}function O(){return Fs()}function ut(e=!1){if(b)return;if(M.value){if(!e)return;C.clearTimer("task-poll",M.value),M.value=null}const t=async()=>{if(M.value=null,!b){if(Ce.value||!y.value.length){y.value.length&&ut();return}Ce.value=!0;try{const{settledTaskIds:s}=await rt();s.length&&await Promise.allSettled([B(),U()])}finally{Ce.value=!1}!b&&y.value.length&&(M.value=C.setTimeout("task-poll",t,O()))}};e?t():M.value=C.setTimeout("task-poll",t,O())}function se(e=!1){ut(e)}function ss(){M.value&&(C.clearTimer("task-poll",M.value),M.value=null)}async function as(e){let t=0;const s=30;for(;;){if(b)return"STOPPED";try{const a=await Re([e]);if(t>0&&(S.value=`任务 ${e} 后端已恢复,继续等待执行结果...`),t=0,(a.missingTaskIds||[]).includes(e))return X(e),await de(),$(),"FAILED";const n=(a.items||[]).find(r=>r.task?.id===e),u=n?.task?.status||"";if(n){const r=d.value[e];d.value={...d.value,[e]:r?{...r,task:{...r.task||{},...n.task||{}}}:n},q()}if(u&&(k.value[e]=u,F()),Z(u))return ce(e),await de(),$(),u}catch(a){if(!Le(a))throw a;if(t+=1,t>=s)throw new Error(`任务 ${e} 等待后端恢复超时,请稍后手动刷新查看状态`);S.value=`任务 ${e} 运行中,正在等待后端服务恢复(${t}/${s})...`,(t===1||t%5===0)&&m.warning(`任务 ${e} 运行中,后端服务暂时不可用,正在自动重试`),await te(O());continue}await te(O())}}async function ns(e){let t=0;const s=30;for(;;){if(b)return"STOPPED";try{const a=await Re([e]);if(t>0&&(S.value=`任务 ${e} 后端已恢复,继续等待当前轮次结束...`),t=0,(a.missingTaskIds||[]).includes(e))return X(e),await de(),$(),"FAILED";const n=(a.items||[]).find(r=>r.task?.id===e),u=n?.task?.status||"";if(n){const r=d.value[e];d.value={...d.value,[e]:r?{...r,task:{...r.task||{},...n.task||{}}}:n},q()}if(u&&(k.value[e]=u,F()),!u||u==="RUNNING"){await te(O());continue}return Z(u)?(ce(e),await de(),$(),u):(u==="SCHEDULED"&&(We(e),$()),u)}catch(a){if(!Le(a))throw a;if(t+=1,t>=s)throw new Error(`任务 ${e} 等待当前轮次结束超时,请稍后手动刷新查看状态`);S.value=`任务 ${e} 运行中,正在等待当前轮次结束(${t}/${s})...`,(t===1||t%5===0)&&m.warning(`任务 ${e} 运行中,后端服务暂时不可用,正在自动重试`),await te(O())}}}function Ae(e){const t=I(e.taskId);return t?k.value[t]||d.value[t]?.task?.status||e.taskStatus||"":e.taskStatus||""}function it(e){const t=I(e.taskId);return t?d.value[t]:void 0}function ct(e){const s=it(e)?.task,a=s?.scheduleStages||[];if(!a.length)return"";const n=a.length,u=typeof s?.activeStageIndex=="number"?s.activeStageIndex:void 0,r=typeof s?.currentStageIndex=="number"?s.currentStageIndex:void 0;return typeof u=="number"?`执行进度: 第 ${u+1}/${n} 次执行中`:typeof r=="number"?`执行进度: 等待第 ${r+1}/${n} 次`:`执行进度: 共 ${n} 次`}function dt(e){const s=it(e)?.task,a=s?.scheduleStages||[];if(typeof s?.currentStageIndex=="number"){const n=a.find(u=>u.stageIndex===s.currentStageIndex);if(n?.scheduledAt)return Je(n.scheduledAt)}return e.scheduledAt?Je(e.scheduledAt):""}function ft(e){const t=Ae(e);return t==="SCHEDULED"?"待执行":t==="RUNNING"?"执行中":t==="SUCCESS"||t==="COMPLETED"?"已完成":t==="FAILED"?"失败":e.success?"已完成":"未知"}function ht(e){const t=Ae(e);return t==="SUCCESS"||t==="COMPLETED"?"success":t==="FAILED"?"failed":"running"}function vt(e){const t=Ae(e);return!!e.resultId&&(!!e.fileReady||!!e.downloadUrl)&&(t==="SUCCESS"||t==="COMPLETED")}async function mt(e){if(!e.resultId)return;const t=Ue();if(!t?.save_file_from_url_new){m.error("当前客户端未提供下载能力");return}const s=Ns(e.resultId),a=e.outputFilename||`${e.shopName||"result"}.xlsx`,n=await t.save_file_from_url_new(s,a);n.success?m.success(`已保存: ${n.path||a}`):n.error&&n.error!=="用户取消"&&m.error(n.error)}async function pt(e){const t=I(e.taskId),s=Number(e.resultId||0);try{if(t>0)await Ms(t),X(t);else if(s>0)await Ps(s),D.value=D.value.filter(a=>Number(a.resultId||0)!==s),R([e]);else throw new Error("缺少可删除的任务标识");await Promise.allSettled([B(),ee(),U()]),m.success("删除成功")}catch(a){if(Mt(a)){t>0?X(t):s>0&&(D.value=D.value.filter(n=>Number(n.resultId||0)!==s)),R([e]),await Promise.allSettled([B(),ee(),U()]),m.success("后端记录已不存在,本地记录已同步清理");return}m.error(a instanceof Error?a.message:"删除失败")}}function os(e){const t=(e||"").trim();return{MATCHED:"已匹配",PENDING:"待匹配",CONFLICT:"需人工确认",INDEX_STALE:"索引过期"}[t]||t||"—"}function ls(e){const t=(e.matchMessage||"").trim();return t||(e.matched&&e.matchStatus==="MATCHED"?"紫鸟索引已命中,可推送队列":e.matched?"已关联索引,请结合状态列查看是否可推送":"未命中或未就绪,请检查店铺名与索引刷新")}async function rs(){be.value=!0,await gt()}function us(){return T.value.find(e=>e.matched)}async function gt(){if(b||ke.value)return;const e=Ue();if(!e?.enqueue_json){m.error("当前客户端未提供 enqueue_json");return}if(!T.value.filter(r=>r.matched).length){m.warning("请先匹配可用店铺");return}if(!g.value.length){m.warning("请至少勾选一个国家");return}let s;try{s=Qt()}catch(r){m.error(r instanceof Error?r.message:"定时配置无效");return}ke.value=!0,P.value=!0,K.value="";let a=0,n=0,u=0;try{for(;!b&&be.value;){const r=us();if(!r)break;u+=1;try{const f=await lt(()=>xs([r],g.value,s),(Fe,ve)=>{S.value=`后端服务暂时不可用,正在重试创建任务(${Fe}/${ve})...`}),o=f.taskId,h=s?.length?"SCHEDULED":"RUNNING",z={task:{id:o,status:h,scheduledAt:s?.[0],countryCodes:[...g.value],currentStageIndex:s?.length?0:void 0,activeStageIndex:void 0,scheduleStages:(s||[]).map((Fe,ve)=>({stageIndex:ve,scheduledAt:Fe,status:ve===0?"SCHEDULED":"PENDING"}))},items:f.items};if(d.value={...d.value,[o]:z},k.value={...k.value,[o]:h},q(),F(),!f.items?.[0]){R([r]);continue}if(s?.length){a+=1,$(),S.value=`任务 ${o} 已创建,共 ${s.length} 个执行时间点`,R([r]);continue}const yt=at(o,r,g.value);K.value=JSON.stringify(yt,null,2);const St=await e.enqueue_json(yt);if(!St?.success){n+=1,S.value=`任务 ${o} 推送失败,已自动继续下一条:${St?.error||"未知错误"}`,m.error(S.value),R([r]);continue}if(Qe(o),se(!0),R([r]),S.value=`任务 ${o} 已入队,等待执行完成`,await as(o)!=="SUCCESS"){n+=1,S.value=`任务 ${o} 执行失败,已自动继续下一条`,m.error(S.value);continue}a+=1,S.value=`任务 ${o} 已完成`}catch(f){if(b)break;n+=1,S.value=`第 ${u} 条任务处理失败,已自动继续下一条:${f instanceof Error?f.message:"未知错误"}`,m.error(S.value),R([r]);continue}}$(),s?.length||se(!0),!b&&(a>0||n>0)&&m.success(s?.length?`定时任务已创建:成功 ${a} 条,失败 ${n} 条`:`店铺推送已完成:成功 ${a} 条,失败 ${n} 条`)}catch(r){if(b)return;const f=r instanceof Error?r.message:"推送失败";S.value=f,m.error(f)}finally{ke.value=!1,P.value=!1}}return cs(async()=>{It(),Dt(),$t(),Nt(),w.value=Me(w.value,x.value),Pt(),await Promise.allSettled([ee(),xt(),B(),U()]),window.addEventListener("focus",he),document.addEventListener("visibilitychange",he),$(),y.value.length&&se(!0)}),ds(()=>{b=!0,ss(),fe(),ts(),window.removeEventListener("focus",he),document.removeEventListener("visibilitychange",he),V&&C.clearTimer("preference-save",V);for(const e of N.values())C.clearTimer("scheduled-dispatch",e);N.clear(),C.clearScope()}),(e,t)=>{const s=vs,a=ms,n=ps,u=ys,r=Ss,f=bs;return i(),c("div",zs,[_(fs,{active:"shop-match"}),l("div",js,[l("aside",Ks,[t[10]||(t[10]=l("div",{class:"section-title"},"店铺候选",-1)),l("div",Gs,[t[4]||(t[4]=l("div",{class:"hint"},"输入店铺名后点“添加”加入下方备选区。勾选备选店铺后先做“匹配店铺”,确认命中紫鸟索引后再推送到 Python 队列。",-1)),l("div",Js,[_(s,{modelValue:ae.value,"onUpdate:modelValue":t[0]||(t[0]=o=>ae.value=o),clearable:"",placeholder:"请输入店铺名后回车或点击添加",onKeyup:hs(tt,["enter"])},null,8,["modelValue"]),l("button",{type:"button",class:"opt-btn",disabled:ne.value,onClick:tt},v(ne.value?"添加中...":"添加"),9,Ys)])]),t[11]||(t[11]=l("div",{class:"section-title"},"备选店铺",-1)),Se.value.length?(i(),c("div",Ws,[_(n,{data:Se.value,"row-key":"id",height:"240",class:"candidate-table",onSelectionChange:At},{default:L(()=>[_(a,{type:"selection",width:"42"}),_(a,{prop:"shop_name",label:"店铺名","min-width":"120","show-overflow-tooltip":""}),_(a,{label:"操作",width:"72",align:"center"},{default:L(({row:o})=>[l("button",{type:"button",class:"link-danger",onClick:h=>Ft(o)},"删除",8,Xs)]),_:1})]),_:1},8,["data"])])):(i(),c("div",Qs,"暂无备选店铺,请先输入并添加")),t[12]||(t[12]=l("div",{class:"section-title"},"国家配置",-1)),t[13]||(t[13]=l("p",{class:"hint country-pref-hint"},"勾选的国家会在每一个执行时间点都执行一遍。勾选区会按照已选顺序排在前面,下方支持拖拽排序,和商品风险页保持一致。",-1)),l("div",Zs,[(i(!0),c(H,null,j(_t.value,o=>(i(),c("label",{key:o.code,class:"country-check-row"},[l("input",{type:"checkbox",class:"country-check-input",checked:Ut(o.code),disabled:st(o.code),onChange:h=>Rt(o.code,h)},null,40,ea),l("span",ta,v(o.label)+" ("+v(o.code)+")",1)]))),128))]),g.value.length?(i(),c("div",sa,[t[6]||(t[6]=l("div",{class:"country-order-caption"},"已选顺序(拖拽 ⋮⋮ 调整)",-1)),l("div",aa,[(i(!0),c(H,null,j(g.value,(o,h)=>(i(),c("div",{key:o,class:me(["country-drag-row",{dragging:G.value===h}]),draggable:"true",onDragstart:z=>Ht(h),onDragend:Vt,onDragover:t[1]||(t[1]=wt(()=>{},["prevent"])),onDrop:wt(z=>qt(h),["prevent"])},[t[5]||(t[5]=l("span",{class:"drag-handle",title:"拖动排序"},"⋮⋮",-1)),l("span",oa,v(Ge(o))+" ("+v(o)+")",1)],42,na))),128))])])):E("",!0),_e.value?(i(),c("div",la,"保存中...")):E("",!0),t[14]||(t[14]=l("div",{class:"section-title"},"商品列表筛选",-1)),t[15]||(t[15]=l("p",{class:"hint listing-filter-hint"},"与“推送到 Python 队列”一并下发,供 Python 区分处理场景。",-1)),l("div",ra,[_(r,{modelValue:we.value,"onUpdate:modelValue":t[2]||(t[2]=o=>we.value=o),class:"listing-filter-select",teleported:"",placeholder:"选择筛选类型"},{default:L(()=>[(i(!0),c(H,null,j(gs(qs),o=>(i(),kt(u,{key:o.value,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),t[16]||(t[16]=l("div",{class:"section-title"},"定时执行",-1)),l("label",ua,[ws(l("input",{"onUpdate:modelValue":t[3]||(t[3]=o=>x.value=o),type:"checkbox",disabled:P.value,onChange:Bt},null,40,ia),[[ks,x.value]]),t[7]||(t[7]=l("span",null,"启用多时间点调度",-1))]),x.value?(i(),c("div",ca,[(i(!0),c(H,null,j(w.value,(o,h)=>(i(),c("div",{key:`schedule-${h}`,class:"schedule-row"},[_(f,{"model-value":o,type:"datetime","value-format":"YYYY-MM-DD HH:mm:ss",format:"MM-DD HH:mm",placeholder:"选择执行时间",disabled:P.value,class:"schedule-picker","onUpdate:modelValue":z=>Kt(h,z)},null,8,["model-value","disabled","onUpdate:modelValue"]),l("button",{type:"button",class:"schedule-remove",disabled:P.value||w.value.length<=1,onClick:z=>jt(h)},"删除",8,da)]))),128)),l("button",{type:"button",class:"schedule-add",disabled:P.value,onClick:zt},"添加时间点",8,fa),t[8]||(t[8]=l("p",{class:"hint schedule-hint"},"默认开启定时;支持按 `MM-DD HH:mm` 配置多个时间点,前端不再限制选择更早时间,实际是否可执行以后端校验为准。",-1))])):E("",!0),l("div",ha,[l("button",{type:"button",class:"btn-run",disabled:oe.value,onClick:Jt},v(oe.value?"匹配中...":"匹配店铺"),9,va),l("button",{type:"button",class:"btn-run btn-queue",disabled:P.value||!T.value.length,onClick:rs},v(P.value?"推送中...":x.value?"创建定时任务":"推送到 Python 队列"),9,ma)]),t[17]||(t[17]=l("p",{class:"loading-msg"},[pe("已支持多阶段定时执行;Python 每处理完一店可回传 "),l("code",null,"/api/shop-match/tasks/{taskId}/result"),pe(",后端会按阶段汇总并在超时场景自动收尾。")],-1)),S.value?(i(),c("div",pa,[t[9]||(t[9]=l("div",{class:"section-title queue-debug-title"},"推送结果",-1)),l("div",ga,v(S.value),1),K.value?(i(),c("pre",ya,v(K.value),1)):E("",!0)])):E("",!0)]),l("section",Sa,[t[26]||(t[26]=l("div",{class:"panel-header"},"匹配与任务",-1)),l("div",wa,[l("div",ka,[l("div",ba,[t[18]||(t[18]=l("span",{class:"summary-label"},"候选店铺",-1)),l("strong",null,v(J.value.candidateCount),1)]),l("div",_a,[t[19]||(t[19]=l("span",{class:"summary-label"},"已结束任务",-1)),l("strong",null,v(J.value.processedTaskCount),1)]),l("div",Ta,[t[20]||(t[20]=l("span",{class:"summary-label"},"成功",-1)),l("strong",null,v(J.value.successTaskCount),1)]),l("div",Ca,[t[21]||(t[21]=l("span",{class:"summary-label"},"失败",-1)),l("strong",null,v(J.value.failedTaskCount),1)])]),t[25]||(t[25]=l("div",{class:"subsection-title"},"匹配结果",-1)),T.value.length?(i(),kt(n,{key:1,data:T.value,"row-key":A,"highlight-current-row":!1,class:"result-table match-table"},{default:L(()=>[_(a,{prop:"shopName",label:"店铺名","min-width":"100"}),_(a,{label:"匹配",width:"72",align:"center"},{default:L(({row:o})=>[l("span",{class:me(o.matched?"ok":"fail")},v(o.matched?"是":"否"),3)]),_:1}),_(a,{prop:"shopId",label:"店铺ID","min-width":"120","show-overflow-tooltip":""}),_(a,{prop:"platform",label:"平台",width:"88","show-overflow-tooltip":""}),_(a,{prop:"companyName",label:"公司","min-width":"100","show-overflow-tooltip":""}),_(a,{label:"状态",width:"100","show-overflow-tooltip":""},{default:L(({row:o})=>[pe(v(os(o.matchStatus)),1)]),_:1}),_(a,{label:"说明","min-width":"140","show-overflow-tooltip":""},{default:L(({row:o})=>[pe(v(ls(o)),1)]),_:1}),_(a,{label:"操作",width:"72",align:"center"},{default:L(({row:o})=>[l("button",{type:"button",class:"link-danger",onClick:h=>Yt(o)},"删除",8,Ia)]),_:1})]),_:1},8,["data"])):(i(),c("div",Ea,"完成“匹配店铺”后,在此展示紫鸟索引匹配结果,供核对后再推送队列。")),l("div",Da,[t[24]||(t[24]=l("div",{class:"result-list-header"},[l("span",null,"处理记录")],-1)),bt.value?(i(),c(H,{key:1},[Ie.value.length?(i(),c("div",Na,[t[22]||(t[22]=l("div",{class:"result-subsection-title"},"当前任务",-1)),l("ul",Ma,[(i(!0),c(H,null,j(Ie.value,o=>(i(),c("li",{key:`cur-${o.resultId}-${o.taskId}`,class:"task-item"},[l("div",Pa,[l("span",{class:"id",title:o.shopName||""},v(o.shopName||"-"),9,xa),l("div",La,"任务 ID: "+v(o.taskId??"-"),1),o.platform?(i(),c("div",Aa,"平台: "+v(o.platform),1)):E("",!0),ct(o)?(i(),c("div",Fa,v(ct(o)),1)):E("",!0),dt(o)?(i(),c("div",Ua,"下一次: "+v(dt(o)),1)):E("",!0),o.error?(i(),c("div",Ra,"错误: "+v(o.error),1)):E("",!0)]),l("div",Oa,[l("span",{class:me(["status",ht(o)])},v(ft(o)),3),vt(o)?(i(),c("button",{key:0,type:"button",class:"download",onClick:h=>mt(o)},"下载",8,Ha)):E("",!0),l("button",{type:"button",class:"btn-delete",onClick:h=>pt(o)},"删除",8,Va)])]))),128))])])):E("",!0),De.value.length?(i(),c("div",qa,[t[23]||(t[23]=l("div",{class:"result-subsection-title"},"历史任务",-1)),l("ul",Ba,[(i(!0),c(H,null,j(De.value,o=>(i(),c("li",{key:`his-${o.resultId}-${o.taskId}`,class:"task-item"},[l("div",za,[l("span",{class:"id",title:o.shopName||""},v(o.shopName||"-"),9,ja),l("div",Ka,"任务 ID: "+v(o.taskId??"-"),1),o.outputFilename?(i(),c("div",Ga,"文件: "+v(o.outputFilename),1)):E("",!0),o.error?(i(),c("div",Ja,"错误: "+v(o.error),1)):E("",!0)]),l("div",Ya,[l("span",{class:me(["status",ht(o)])},v(ft(o)),3),vt(o)?(i(),c("button",{key:0,type:"button",class:"download",onClick:h=>mt(o)},"下载",8,Qa)):E("",!0),l("button",{type:"button",class:"btn-delete",onClick:h=>pt(o)},"删除",8,Wa)])]))),128))])])):E("",!0)],64)):(i(),c("div",$a,"暂无处理记录。推送队列并等待 Python 回传后,将在此显示下载链接。"))])])])])])}}}),Za=Us(Xa,[["__scopeId","data-v-abfb3635"]]);Rs.locale("zh-cn");Os(Za).use(Hs,{locale:Vs}).mount("#app"); diff --git a/new_web_source/assets/similar-asin-D__NXzTu.css b/new_web_source/assets/similar-asin-D__NXzTu.css new file mode 100644 index 0000000..d343a20 --- /dev/null +++ b/new_web_source/assets/similar-asin-D__NXzTu.css @@ -0,0 +1 @@ +.module-page[data-v-d4327c03]{min-height:100vh;background:#1a1a1a}.main-content[data-v-d4327c03]{display:flex;height:calc(100vh - 56px);min-height:calc(100vh - 56px)}.left-panel[data-v-d4327c03]{width:400px;background:#1e1e1e;padding:20px;overflow-y:auto;border-right:1px solid #2a2a2a}.right-panel[data-v-d4327c03]{flex:1;min-width:0;background:#1a1a1a;display:flex;flex-direction:column}.section-title[data-v-d4327c03],.subsection-title[data-v-d4327c03]{font-size:13px;color:#bbb;margin-bottom:10px}.upload-zone[data-v-d4327c03]{border:1px dashed #3a3a3a;border-radius:10px;padding:18px;background:#252525;margin-bottom:18px}.hint[data-v-d4327c03],.loading-msg[data-v-d4327c03],.files[data-v-d4327c03],.muted[data-v-d4327c03]{color:#888;font-size:12px;line-height:1.5}.link[data-v-d4327c03]{color:#6ea8fe;text-decoration:none}.link[data-v-d4327c03]:hover{color:#9fc5ff}.btns[data-v-d4327c03],.run-row[data-v-d4327c03]{display:flex;gap:10px;flex-wrap:wrap}.opt-btn[data-v-d4327c03],.btn-run[data-v-d4327c03],.btn-delete[data-v-d4327c03],.download[data-v-d4327c03]{border:none;cursor:pointer;border-radius:7px}.opt-btn[data-v-d4327c03]{padding:8px 14px;color:#ccc;background:#2a2a2a;border:1px solid #3a3a3a}.btn-run[data-v-d4327c03]{padding:10px 18px;color:#fff;background:#3498db;font-weight:600}.btn-queue[data-v-d4327c03]{background:#27ae60}.btn-run[data-v-d4327c03]:disabled{opacity:.55;cursor:not-allowed}.selected-files[data-v-d4327c03]{margin-top:14px;color:#999;font-size:12px;word-break:break-all}.selected-files span[data-v-d4327c03]{display:block;margin:4px 0}.prompt-card[data-v-d4327c03]{margin-bottom:14px}.prompt-input[data-v-d4327c03]{width:100%;box-sizing:border-box;resize:vertical;min-height:96px;max-height:140px;padding:8px 12px;border:1px solid #333;border-radius:8px;background:#202020;color:#d8d8d8;font-size:12px;line-height:1.5;outline:none}.prompt-input[data-v-d4327c03]:focus{border-color:#3498db}.condition-actions[data-v-d4327c03]{display:flex;justify-content:flex-end;margin-top:8px}.condition-actions .opt-btn[data-v-d4327c03]{padding:6px 14px}.condition-list-title[data-v-d4327c03]{margin-top:10px}.empty-conditions[data-v-d4327c03]{color:#666;font-size:12px;padding:10px 4px}.condition-list[data-v-d4327c03]{list-style:none;margin:0;padding:0;max-height:96px;overflow:auto;display:flex;flex-direction:column;gap:6px}.condition-item[data-v-d4327c03]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px;border-bottom:1px solid #303030}.condition-item[data-v-d4327c03]:last-child{border-bottom:none}.condition-check[data-v-d4327c03]{display:flex;align-items:center;gap:8px;min-width:0;color:#cfd6df;font-size:12px;cursor:pointer}.condition-check input[data-v-d4327c03]{width:16px;height:16px;margin:0;flex:0 0 auto}.condition-check span[data-v-d4327c03]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-danger[data-v-d4327c03]{border:none;background:transparent;color:#ff8f8f;cursor:pointer;font-size:12px;padding:2px 0;white-space:nowrap}.parse-card[data-v-d4327c03],.queue-payload[data-v-d4327c03]{margin-top:14px;padding:12px;border:1px solid #2a2a2a;border-radius:8px;background:#202020;color:#b8c1cc;font-size:12px}.queue-payload[data-v-d4327c03]{max-height:220px;overflow:auto;color:#8fd3ff;white-space:pre-wrap}.panel-header[data-v-d4327c03]{padding:16px 20px;border-bottom:1px solid #2a2a2a;font-size:15px;font-weight:600;color:#ddd}.task-list-wrap[data-v-d4327c03]{flex:1;padding:16px 20px;overflow:auto}.clean-result-summary[data-v-d4327c03]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.summary-card[data-v-d4327c03]{padding:14px 16px;border:1px solid #2a2a2a;border-radius:8px;background:#1e1e1e}.summary-card strong[data-v-d4327c03]{display:block;margin-top:8px;color:#eaf4ff;font-size:22px}.summary-label[data-v-d4327c03]{color:#8d8d8d;font-size:12px}.result-list-wrap[data-v-d4327c03]{border:1px solid #2a2a2a;border-radius:8px;background:#1e1e1e;min-height:180px;margin:0 0 16px}.result-list-header[data-v-d4327c03]{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #2a2a2a;color:#ddd;font-size:14px}.empty-tasks[data-v-d4327c03]{color:#666;font-size:13px;padding:18px;text-align:center}.result-table[data-v-d4327c03]{--el-table-bg-color: #222;--el-table-tr-bg-color: #222;--el-table-header-bg-color: #2a2a2a;--el-table-text-color: #ccc;--el-table-border-color: #333}.task-list[data-v-d4327c03]{list-style:none;margin:0;padding:12px}.task-item[data-v-d4327c03]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #2a2a2a;border-radius:8px;margin-bottom:8px;background:#222}.left[data-v-d4327c03]{flex:1;min-width:0}.id[data-v-d4327c03]{color:#e0e0e0;font-size:13px;font-weight:600}.task-right[data-v-d4327c03]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status[data-v-d4327c03]{padding:4px 10px;border-radius:6px;font-size:12px}.status.success[data-v-d4327c03]{background:#2ecc712e;color:#2ecc71}.status.failed[data-v-d4327c03]{background:#e74c3c2e;color:#ff6b6b}.status.running[data-v-d4327c03]{background:#3498db2e;color:#3498db}.status.pending[data-v-d4327c03]{background:#95a5a62e;color:#bdc3c7}.result-hint[data-v-d4327c03]{margin-top:6px;color:#e0b96d}.file-progress[data-v-d4327c03]{margin-top:8px;max-width:520px}.file-progress-meta[data-v-d4327c03]{display:flex;justify-content:space-between;gap:12px;color:#d8c278;font-size:12px}.file-progress-track[data-v-d4327c03]{margin-top:5px;height:8px;border-radius:999px;overflow:hidden;background:#303030;border:1px solid #3b3b3b}.file-progress-bar[data-v-d4327c03]{height:100%;border-radius:inherit;background:linear-gradient(90deg,#4aa3ff,#f0c75e);transition:width .25s ease}.file-progress-count[data-v-d4327c03]{margin-top:4px;color:#858585;font-size:11px}.download[data-v-d4327c03]{padding:6px 10px;color:#d6ecff;background:#3498db2e}.btn-delete[data-v-d4327c03]{padding:6px 10px;color:#ff8f8f;background:#e74c3c1f}@media(max-width:1100px){.main-content[data-v-d4327c03]{flex-direction:column;height:auto}.left-panel[data-v-d4327c03]{width:100%;border-right:none;border-bottom:1px solid #2a2a2a}.clean-result-summary[data-v-d4327c03]{grid-template-columns:repeat(2,minmax(0,1fr))}} diff --git a/new_web_source/assets/similar-asin.js b/new_web_source/assets/similar-asin.js new file mode 100644 index 0000000..30b4841 --- /dev/null +++ b/new_web_source/assets/similar-asin.js @@ -0,0 +1 @@ +import{d as Ge,o as He,L as Me,a as o,c as r,b as m,B as qe,e as t,F as O,r as V,t as i,w as fe,G as ze,u as je,f as y,a4 as Ke,a5 as Oe,a6 as Ve,a7 as Je,N as Qe,n as Ye,g as f,h as D,i as $,E as u,a8 as We,a9 as Xe,aa as Ze,ab as es,ac as ss,U as ve,ad as ts,ae as as,af as ls,ag as ns,ah as is,a2 as os,ai as rs,_ as us,q as cs,s as ds}from"./pywebview-CcblbV5J.js";/* empty css */import{e as fs}from"./brand-CEi7uRFN.js";import{c as vs}from"./categorized-timers-JPA-olTr.js";const ps={class:"page-shell module-page"},hs={class:"main-content"},_s={class:"left-panel"},gs={class:"upload-zone"},ys={class:"selected-files"},ks={key:0},ws={class:"prompt-card"},ms={class:"condition-actions"},Cs=["disabled"],Ss={key:0,class:"empty-conditions"},Is={key:1,class:"condition-list"},bs={class:"condition-check"},Ts=["value","onChange"],Fs=["title"],Ps=["onClick"],Es={class:"run-row"},Rs=["disabled"],As=["disabled"],Ns={key:0,class:"parse-card"},xs={key:1,class:"queue-payload"},Us={class:"right-panel"},Ds={class:"task-list-wrap"},$s={class:"clean-result-summary"},Bs={class:"summary-card"},Ls={class:"summary-card"},Gs={class:"summary-card"},Hs={class:"summary-card"},Ms={class:"result-list-wrap preview-wrap"},qs={class:"result-list-header"},zs={key:0,class:"muted"},js={key:0,class:"empty-tasks"},Ks={class:"result-list-wrap"},Os={key:0,class:"empty-tasks"},Vs={key:1,class:"task-list clean-result-list"},Js={class:"left"},Qs={class:"id"},Ys={class:"files"},Ws={class:"files"},Xs={class:"task-right"},Zs={class:"status running"},et=["onClick"],st={class:"result-list-wrap"},tt={key:0,class:"empty-tasks"},at={key:1,class:"task-list clean-result-list"},lt={class:"left"},nt={class:"id"},it={class:"files"},ot={key:0,class:"files"},rt={key:1,class:"files result-hint"},ut={key:2,class:"file-progress"},ct={class:"file-progress-meta"},dt={class:"file-progress-track"},ft={class:"file-progress-count"},vt={key:3,class:"files"},pt={class:"task-right"},ht=["onClick"],_t=["onClick"],gt=3e3,yt=Ge({__name:"BrandSimilarAsinTab",setup(wt){const B=f([]),S=f([]),k=f(null),L=f([]),I=f(null),b=f(""),T=f([]),g=f(null),G=f(!1),H=f(!1),M=f(!1),w=f(""),v=f([]),d=f([]),p=f(null),J=f(!1);let F=null,ee=0,P=!1;const E=vs("similar-asin"),R=f({pendingTaskCount:0,processedTaskCount:0,successTaskCount:0,failedTaskCount:0}),h=f([]),A=D(()=>k.value?.items||[]),pe=D(()=>A.value),N=D(()=>k.value||I.value),se=D(()=>h.value.filter(e=>e.taskId!=null&&v.value.includes(e.taskId))),te=D(()=>h.value.filter(e=>{const s=K(e);return s!=="RUNNING"&&s!=="PENDING"}));function he(){const e=g.value;return e==null?"":T.value.find(s=>s.id===e)?.conditionText?.trim()||""}function ae(){return b.value.trim()||he()}function q(){return os("similar-asin").trim()}function _e(e){return e?e.length<=10?"***":`${e.slice(0,6)}***${e.slice(-4)}`:""}function ge(e){return{...e,data:e.data?{...e.data,api_key:_e(String(e.data.api_key||""))}:e.data}}function ye(){return typeof window<"u"&&window.localStorage.getItem("uid")||"0"}function Q(){return`similar-asin:tasks:${ye()}`}function ke(e){return{taskId:e.taskId,totalRows:e.totalRows,acceptedRows:e.acceptedRows,groupCount:e.groupCount,droppedRows:e.droppedRows}}function C(){if(typeof window>"u")return;const e=Array.from(new Set([...v.value,...d.value]));e.length?window.localStorage.setItem(Q(),JSON.stringify(e)):window.localStorage.removeItem(Q())}function we(){if(!(typeof window>"u"))try{const e=window.localStorage.getItem(Q()),s=e?JSON.parse(e):[];v.value=Array.isArray(s)?s.filter(l=>typeof l=="number"&&l>0):[]}catch{v.value=[]}}async function le(e){const s=$();if(!s?.upload_file_to_java)throw new Error("当前桌面端未提供文件上传能力");const l=[];for(const n of e){const a=typeof n=="string"?n:n.absolutePath,c=typeof n=="string"?void 0:n.relativePath,_=await s.upload_file_to_java(a,c);if(!_?.success||!_.data)throw new Error(_?.error||_?.message||`上传失败:${a}`);l.push(_.data)}return l}async function me(){const e=$();if(!e?.select_brand_xlsx_files||!e.upload_file_to_java){u.warning("当前环境不支持文件选择或上传");return}const s=await e.select_brand_xlsx_files();if(!s?.length)return;const l=await le(s);S.value=l,B.value=l.map(n=>n.relativePath||n.originalFilename||n.fileKey),k.value=null,L.value=[],I.value=null,w.value=""}async function Ce(){const e=$();if(!e?.select_brand_folder){u.warning("当前环境不支持文件夹选择,请在本地客户端中打开");return}try{const s=await e.select_brand_folder();if(!s)return;const l=await fs(s);if(!l.success||!l.items?.length){u.warning(l.error||"该文件夹下没有可用的 xlsx 文件");return}const n=await le(l.items);S.value=n,B.value=l.items.map(a=>a.relativePath||a.absolutePath),k.value=null,L.value=[],I.value=null,w.value="",u.success(`已选择文件夹内 ${l.items.length} 个 Excel 文件`)}catch(s){u.error(s instanceof Error?s.message:"选择失败")}}async function Y(){try{T.value=await We();const e=new Set(T.value.map(s=>s.id));g.value!=null&&!e.has(g.value)&&(g.value=null)}catch(e){u.error(e instanceof Error?e.message:"加载筛选条件失败")}}async function Se(){const e=b.value.trim();if(!e){u.warning("请输入筛选条件");return}M.value=!0;try{const s=await Xe(e);await Y(),s?.id&&(g.value=s.id),u.success("筛选条件已保存")}catch(s){u.error(s instanceof Error?s.message:"保存筛选条件失败")}finally{M.value=!1}}function Ie(e){b.value=e.conditionText||""}async function be(e){try{await Ze(e),g.value===e&&(g.value=null),await Y(),u.success("筛选条件已删除")}catch(s){u.error(s instanceof Error?s.message:"删除筛选条件失败")}}async function Te(){if(!S.value.length){u.warning("请先选择 Excel");return}const e=ae();if(!e){u.warning("请输入筛选条件,或在备选区选择一个筛选条件");return}if(!q()){u.warning("请先在左上角设置中填写货源查询密钥");return}G.value=!0;try{const s=S.value.map(n=>({fileKey:n.fileKey,originalFilename:n.originalFilename,relativePath:n.relativePath})),l=await es(s,e,q());k.value=l,I.value=null,L.value=[],w.value="",u.success(`解析完成,共 ${l.acceptedRows} 条`)}catch(s){u.error(s instanceof Error?s.message:"解析失败")}finally{G.value=!1}}async function Fe(){const e=$(),s=k.value,l=s?.taskId;if(!l){u.warning("请先解析文件");return}if(!e?.enqueue_json){u.error("当前环境未启用 pywebview enqueue_json");return}if(!q()){u.warning("请先在左上角设置中填写货源查询密钥");return}H.value=!0;try{const n={type:"similar-asin-run",ts:Date.now(),data:{taskId:l,prompt:s.aiPrompt||ae(),api_key:q(),sourceFileCount:s.sourceFileCount||0,totalRows:s.totalRows||0,acceptedRows:s.acceptedRows||0,groupCount:s.groupCount||0}};w.value=JSON.stringify(ge(n),null,2),await ss(l);const a=await e.enqueue_json(n);if(!a?.success){u.error(a?.error||"推送失败");return}I.value=ke(s),Ee(l),Pe(),await z(),await j({force:!0}),u.success("已推送到 Python 队列")}finally{H.value=!1}}function Pe(){k.value=null,L.value=[],w.value=""}function Ee(e){v.value.includes(e)||(v.value=[...v.value,e],C()),x()}function W(e){v.value=v.value.filter(s=>s!==e),C()}function Re(e){d.value.includes(e)||(d.value=[...d.value,e],C()),x()}function X(e){d.value=d.value.filter(s=>s!==e),C()}function x(){P||p.value==null&&Ae(!0)}function ne(){p.value!=null&&(E.clearTimer("task-poll",p.value),p.value=null)}function Ae(e=!1){if(P)return;if(p.value!=null){if(!e)return;E.clearTimer("task-poll",p.value),p.value=null}const s=async()=>{p.value=null,!P&&(!v.value.length&&!d.value.length||(await Ne(),!P&&p.value==null&&(v.value.length||d.value.length)&&(p.value=E.setTimeout("task-poll",s,ve()))))};e?s():p.value=E.setTimeout("task-poll",s,ve())}async function Ne(){if(J.value||!v.value.length&&!d.value.length){!v.value.length&&!d.value.length&&ne();return}J.value=!0;try{let e=!1,s=!1;const l=Array.from(new Set([...v.value,...d.value]));if(l.length){const n=await rs(l,{force:d.value.length>0});for(const a of n.items||[]){const c=a.task;if(!c?.id)continue;const _=a.items?.[0];if(_&&xe(_),(c.status==="SUCCESS"||c.status==="FAILED")&&(W(c.id),e=!0,c.status==="SUCCESS"?Re(c.id):X(c.id)),_&&c.status==="SUCCESS"&&d.value.includes(c.id)){const de=(_.fileStatus||"").toUpperCase();(_.fileReady||de==="SUCCESS"||de==="FAILED")&&(X(c.id),e=!0,s=!0)}}n.missingTaskIds?.length&&(n.missingTaskIds.forEach(a=>{W(a),X(a)}),s=!0,e=!0)}e&&await z(),s&&await j(),Ue()}finally{J.value=!1}}function xe(e){if(!e.taskId&&!e.resultId)return;const s=h.value.findIndex(l=>e.resultId!=null&&l.resultId===e.resultId||e.taskId!=null&&l.taskId===e.taskId);s>=0?h.value[s]={...h.value[s],...e}:h.value=[e,...h.value]}function Ue(){if(!d.value.length)return;const e=[];for(const s of d.value){const l=h.value.find(c=>c.taskId===s);if(!l){e.push(s);continue}const n=(l.taskStatus||"").toUpperCase(),a=(l.fileStatus||"").toUpperCase();n==="FAILED"||l.fileReady||a==="SUCCESS"||a==="FAILED"||n==="SUCCESS"&&e.push(s)}d.value=e,C(),d.value.length&&x()}function De(){const e=h.value.filter(s=>s.taskId!=null&&U(s)).map(s=>s.taskId);d.value=Array.from(new Set(e)),C(),d.value.length&&x()}async function z(){R.value=await ts()}async function j(e={}){const s=Date.now();if(!(!e.force&&h.value.length&&s-ee{h.value=l.items||[],ee=Date.now()}).finally(()=>{F=null}),F)}function ie(e){const s=K(e);return s==="RUNNING"?"执行中":s==="PENDING"?"已解析待推送":U(e)?"结果生成中":Z(e)?"结果生成失败":s==="SUCCESS"||e.success?"已完成":s==="FAILED"?"失败":"等待中"}function $e(e){const s=K(e);return s==="RUNNING"||U(e)?"running":Z(e)||s==="FAILED"?"failed":s==="SUCCESS"||e.success?"success":"pending"}function U(e){const s=K(e),l=(e.fileStatus||"").toUpperCase();return!(s!=="SUCCESS"||re(e)||l==="FAILED"||l==="SUCCESS")}function K(e){return(e.taskStatus||"").toUpperCase()}function Z(e){return(e.fileStatus||"").toUpperCase()==="FAILED"}function oe(e){if(Z(e))return e.fileError||"结果文件生成失败,请稍后重试或检查后端日志";if(!U(e))return"";const s=(e.fileStatus||"").toUpperCase();return s==="RUNNING"?"任务已完成,正在等待 Coze 回流并组装结果文件,下载按钮稍后出现":s==="PENDING"?"任务已完成,结果文件已入队,正在等待后端开始处理":"任务已完成,正在生成结果文件,下载按钮稍后出现"}function re(e){return!!(e.resultId&&(e.fileReady||e.downloadUrl))}function ue(e){const s=Number(e.fileProgressPercent||0);return Number.isFinite(s)?Math.max(0,Math.min(100,Math.round(s))):0}function Be(e){return U(e)&&(e.fileProgressTotal||0)>0}async function Le(e){if(!e.resultId)return;const s=$();if(!s?.save_file_from_url_new){u.error("当前客户端未提供下载能力");return}const l=e.downloadUrl||ls(e.resultId),n=e.resultFilename||`${e.sourceFilename||"similar-asin"}.xlsx`,a=await s.save_file_from_url_new(l,n);a.success?u.success(`已保存: ${a.path||n}`):a.error&&a.error!=="用户取消"&&u.error(a.error)}async function ce(e){try{e.taskStatus==="RUNNING"&&e.taskId?(await ns(e.taskId),W(e.taskId)):e.resultId&&await is(e.resultId),await z(),await j({force:!0}),u.success("已删除")}catch(s){u.error(s instanceof Error?s.message:"删除失败")}}return He(async()=>{we(),await Promise.all([Y().catch(()=>{}),z().catch(()=>{}),j().catch(()=>{})]),De(),(v.value.length||d.value.length)&&x()}),Me(()=>{P=!0,ne(),E.clearScope()}),(e,s)=>{const l=Ve,n=Je;return o(),r("div",ps,[m(qe,{active:"similar-asin"}),t("div",hs,[t("aside",_s,[s[5]||(s[5]=t("div",{class:"section-title"},"上传文件",-1)),t("div",gs,[s[2]||(s[2]=t("div",{class:"hint"},"选择 Excel 后点击解析,后端会提取 id、ASIN、国家、价格,每一行都会独立送检。",-1)),t("div",{class:"btns"},[t("button",{type:"button",class:"opt-btn",onClick:me},"选择 Excel"),t("button",{type:"button",class:"opt-btn",onClick:Ce},"选择文件夹")]),t("div",ys,[B.value.length?(o(!0),r(O,{key:1},V(B.value,a=>(o(),r("span",{key:a},i(a),1))),128)):(o(),r("span",ks,"暂未选择文件"))])]),t("div",ws,[s[3]||(s[3]=t("div",{class:"section-title"},"筛选条件",-1)),fe(t("textarea",{"onUpdate:modelValue":s[0]||(s[0]=a=>b.value=a),class:"prompt-input",rows:"4",placeholder:"请输入筛选条件"},null,512),[[ze,b.value]]),t("div",ms,[t("button",{type:"button",class:"opt-btn",disabled:M.value,onClick:Se},i(M.value?"保存中...":"保存"),9,Cs)]),s[4]||(s[4]=t("div",{class:"section-title condition-list-title"},"备选区",-1)),T.value.length?(o(),r("ul",Is,[(o(!0),r(O,null,V(T.value,a=>(o(),r("li",{key:a.id,class:"condition-item"},[t("label",bs,[fe(t("input",{"onUpdate:modelValue":s[1]||(s[1]=c=>g.value=c),type:"radio",name:"similar-asin-filter-condition",value:a.id,onChange:c=>Ie(a)},null,40,Ts),[[je,g.value]]),t("span",{title:a.conditionText},i(a.conditionText),9,Fs)]),t("button",{type:"button",class:"link-danger",onClick:c=>be(a.id)},"删除",8,Ps)]))),128))])):(o(),r("div",Ss,"暂无筛选条件,输入后保存即可加入备选区"))]),t("div",Es,[t("button",{type:"button",class:"btn-run",disabled:G.value||!S.value.length,onClick:Te},i(G.value?"解析中...":"解析并创建任务"),9,Rs),t("button",{type:"button",class:"btn-run btn-queue",disabled:H.value||!A.value.length,onClick:Fe},i(H.value?"推送中...":"推送到 Python 队列"),9,As)]),s[6]||(s[6]=t("p",{class:"loading-msg"},"Python 回传字段按 id、asin、国家、价格、标题、图片链接数组提交;后端接收分片后按 10 条一批送检,结果区展示真实 Coze 批次进度。",-1)),N.value?(o(),r("div",Ns,[t("div",null,"任务 ID:"+i(N.value.taskId),1),t("div",null,"总行数:"+i(N.value.totalRows)+",有效:"+i(N.value.acceptedRows)+",过滤:"+i(N.value.droppedRows),1)])):y("",!0),w.value?(o(),r("pre",xs,i(w.value),1)):y("",!0)]),t("section",Us,[s[15]||(s[15]=t("div",{class:"panel-header"},"货源查询",-1)),t("div",Ds,[t("div",$s,[t("div",Bs,[s[7]||(s[7]=t("span",{class:"summary-label"},"运行中任务",-1)),t("strong",null,i(R.value.pendingTaskCount),1)]),t("div",Ls,[s[8]||(s[8]=t("span",{class:"summary-label"},"已结束任务",-1)),t("strong",null,i(R.value.processedTaskCount),1)]),t("div",Gs,[s[9]||(s[9]=t("span",{class:"summary-label"},"成功任务",-1)),t("strong",null,i(R.value.successTaskCount),1)]),t("div",Hs,[s[10]||(s[10]=t("span",{class:"summary-label"},"失败任务",-1)),t("strong",null,i(R.value.failedTaskCount),1)])]),s[14]||(s[14]=t("div",{class:"subsection-title"},"匹配任务",-1)),t("div",Ms,[t("div",qs,[s[11]||(s[11]=t("span",null,"解析结果",-1)),A.value.length?(o(),r("span",zs,"共 "+i(A.value.length)+" 条",1)):y("",!0)]),A.value.length?(o(),Ke(n,{key:1,data:pe.value,height:"120",class:"result-table"},{default:Oe(()=>[m(l,{prop:"displayId",label:"ID",width:"90"}),m(l,{prop:"asin",label:"ASIN",width:"130"}),m(l,{prop:"country",label:"国家",width:"100"}),m(l,{prop:"price",label:"价格",width:"90"}),m(l,{prop:"title",label:"标题","min-width":"160","show-overflow-tooltip":""}),m(l,{prop:"url",label:"URL","min-width":"160","show-overflow-tooltip":""})]),_:1},8,["data"])):(o(),r("div",js,"暂无解析结果"))]),t("div",Ks,[s[12]||(s[12]=t("div",{class:"result-list-header"},[t("span",null,"当前任务")],-1)),se.value.length?(o(),r("ul",Vs,[(o(!0),r(O,null,V(se.value,a=>(o(),r("li",{key:`cur-${a.taskId}`,class:"task-item"},[t("div",Js,[t("span",Qs,i(a.sourceFilename||"货源查询"),1),t("div",Ys,"任务 ID:"+i(a.taskId),1),t("div",Ws,"行数:"+i(a.rowCount??"-"),1)]),t("div",Xs,[t("span",Zs,i(ie(a)),1),t("button",{type:"button",class:"btn-delete",onClick:c=>ce(a)},"删除",8,et)])]))),128))])):(o(),r("div",Os,"暂无当前任务"))]),t("div",st,[s[13]||(s[13]=t("div",{class:"result-list-header"},[t("span",null,"历史记录")],-1)),te.value.length?(o(),r("ul",at,[(o(!0),r(O,null,V(te.value,a=>(o(),r("li",{key:`his-${a.resultId}-${a.taskId}`,class:"task-item"},[t("div",lt,[t("span",nt,i(a.sourceFilename||"货源查询"),1),t("div",it,"任务 ID:"+i(a.taskId??"-"),1),a.resultFilename?(o(),r("div",ot,i(a.resultFilename||"下载结果"),1)):y("",!0),oe(a)?(o(),r("div",rt,i(oe(a)),1)):y("",!0),Be(a)?(o(),r("div",ut,[t("div",ct,[t("span",null,i(a.fileProgressMessage||"结果生成中"),1),t("span",null,i(ue(a))+"%",1)]),t("div",dt,[t("div",{class:"file-progress-bar",style:Qe({width:`${ue(a)}%`})},null,4)]),t("div",ft,i(a.fileProgressCurrent||0)+"/"+i(a.fileProgressTotal||0),1)])):y("",!0),a.error?(o(),r("div",vt,"错误:"+i(a.error),1)):y("",!0)]),t("div",pt,[t("span",{class:Ye(["status",$e(a)])},i(ie(a)),3),re(a)?(o(),r("button",{key:0,type:"button",class:"download",onClick:c=>Le(a)},"下载",8,ht)):y("",!0),a.resultId?(o(),r("button",{key:1,type:"button",class:"btn-delete",onClick:c=>ce(a)},"删除",8,_t)):y("",!0)])]))),128))])):(o(),r("div",tt,"暂无历史记录"))])])])])])}}}),kt=us(yt,[["__scopeId","data-v-d4327c03"]]);cs(kt).use(ds).mount("#app"); diff --git a/new_web_source/assets/split-BoBVrLdC.css b/new_web_source/assets/split-BoBVrLdC.css new file mode 100644 index 0000000..e05f1ca --- /dev/null +++ b/new_web_source/assets/split-BoBVrLdC.css @@ -0,0 +1 @@ +.module-page[data-v-f3b42aa3]{min-height:100vh;background:#1a1a1a}.main-content[data-v-f3b42aa3]{display:flex;min-height:calc(100vh - 56px);height:calc(100vh - 56px)}.left-panel[data-v-f3b42aa3]{width:380px;background:#1e1e1e;padding:20px;overflow-y:auto;border-right:1px solid #2a2a2a}.right-panel[data-v-f3b42aa3]{flex:1;display:flex;flex-direction:column;min-width:0;background:#1a1a1a}.section-title[data-v-f3b42aa3]{font-size:13px;color:#bbb;margin-bottom:10px}.upload-zone[data-v-f3b42aa3]{border:1px dashed #3a3a3a;border-radius:10px;padding:24px;text-align:center;background:#252525;margin-bottom:20px;transition:all .2s ease}.upload-zone[data-v-f3b42aa3]:hover{border-color:#3498db;background:#2a2a2a}.hint[data-v-f3b42aa3]{color:#888;font-size:13px;margin-bottom:12px;line-height:1.5}.btns[data-v-f3b42aa3]{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.opt-btn[data-v-f3b42aa3],.btn-run[data-v-f3b42aa3],.download[data-v-f3b42aa3],.btn-delete[data-v-f3b42aa3]{border:none;cursor:pointer;transition:all .2s ease}.opt-btn[data-v-f3b42aa3]{padding:8px 16px;font-size:13px;color:#ccc;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:6px}.opt-btn.small[data-v-f3b42aa3]{padding:6px 10px;font-size:12px}.opt-btn[data-v-f3b42aa3]:hover{color:#3498db;background:#333;border-color:#3498db}.selected-files[data-v-f3b42aa3]{margin-top:14px;font-size:12px;color:#888;max-height:112px;overflow-y:auto;text-align:left}.selected-files span[data-v-f3b42aa3]{display:block;margin:4px 0;word-break:break-all}.more-line[data-v-f3b42aa3]{color:#b8c1cc}.split-selected-files[data-v-f3b42aa3]{max-height:120px;min-height:72px;padding-right:4px}.option-group[data-v-f3b42aa3]{margin-bottom:20px}.column-option-group[data-v-f3b42aa3]{padding:14px;border-radius:10px;background:#252525;border:1px solid #2a2a2a}.column-toolbar[data-v-f3b42aa3]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.column-count[data-v-f3b42aa3]{font-size:12px;color:#a9b4bf}.column-actions[data-v-f3b42aa3]{display:flex;gap:8px}.column-grid[data-v-f3b42aa3]{display:grid;grid-template-columns:1fr;gap:8px;max-height:280px;overflow-y:auto}.empty-column-state[data-v-f3b42aa3]{padding:16px 12px;border-radius:8px;border:1px dashed #3a3a3a;background:#202020;color:#7f8790;font-size:12px;line-height:1.6}.column-item[data-v-f3b42aa3]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid #2f2f2f;background:#202020;cursor:pointer;transition:all .2s ease;font-size:13px;color:#d7d7d7}.column-item[data-v-f3b42aa3]:hover,.column-item.active[data-v-f3b42aa3]{border-color:#3b6f98;background:#26313a}.column-item input[data-v-f3b42aa3]{margin:0}.column-item span[data-v-f3b42aa3]{word-break:break-all}.radio-item[data-v-f3b42aa3]{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:10px 12px;border-radius:8px;background:#252525;border:1px solid #2a2a2a;margin-bottom:8px;transition:all .2s ease}.radio-item[data-v-f3b42aa3]:hover,.radio-item.active[data-v-f3b42aa3]{background:#2a2a2a;border-color:#3a3a3a}.radio-item input[data-v-f3b42aa3]{margin-top:3px}.label[data-v-f3b42aa3]{font-weight:500;color:#e0e0e0;font-size:13px}.desc[data-v-f3b42aa3]{font-size:12px;color:#888;margin-top:2px;line-height:1.5;font-weight:400}.split-input-card[data-v-f3b42aa3]{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:10px;border:1px solid #2f2f2f;background:#252525}.split-number-input[data-v-f3b42aa3]{width:100%;padding:12px 14px;border-radius:8px;border:1px solid #3a3a3a;background:#1b1b1b;color:#eaf4ff;font-size:22px;font-weight:700;line-height:1.2;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.split-number-input[data-v-f3b42aa3]:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db2e;background:#20252b}.split-number-input[data-v-f3b42aa3]::placeholder{color:#708090;font-size:14px;font-weight:400}.run-row[data-v-f3b42aa3]{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin-top:16px}.btn-run[data-v-f3b42aa3]{padding:10px 22px;background:#3498db;color:#fff;border-radius:8px;font-size:14px}.btn-run[data-v-f3b42aa3]:hover{background:#2980b9}.btn-run[data-v-f3b42aa3]:disabled{background:#555;color:#999;cursor:not-allowed}.loading-msg[data-v-f3b42aa3]{color:#3498db;font-size:13px}.panel-header[data-v-f3b42aa3]{padding:16px 20px;border-bottom:1px solid #2a2a2a;font-size:15px;font-weight:600;color:#ddd}.task-list-wrap[data-v-f3b42aa3]{flex:1;overflow-y:auto;padding:16px}.task-list[data-v-f3b42aa3]{list-style:none;margin:0;padding:0}.task-item[data-v-f3b42aa3]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #2a2a2a;border-radius:8px;margin-bottom:10px;background:#1e1e1e}.split-result-item[data-v-f3b42aa3]{align-items:flex-start}.left[data-v-f3b42aa3]{flex:1;min-width:0}.split-result-main[data-v-f3b42aa3]{display:flex;flex-direction:column;gap:4px}.id[data-v-f3b42aa3]{display:inline-block;font-weight:600;color:#e0e0e0;font-size:13px}.files[data-v-f3b42aa3]{font-size:12px;color:#888;margin-top:4px}.time[data-v-f3b42aa3]{font-size:12px;color:#666;margin-top:2px}.split-entry-list[data-v-f3b42aa3]{line-height:1.6;word-break:break-all;max-width:100%}.task-right[data-v-f3b42aa3]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.split-result-actions[data-v-f3b42aa3]{flex-shrink:0;min-width:180px;justify-content:flex-end;align-self:center}.status[data-v-f3b42aa3]{padding:4px 10px;border-radius:6px;font-size:12px;white-space:nowrap}.status.success[data-v-f3b42aa3]{background:#2ecc712e;color:#2ecc71}.status.failed[data-v-f3b42aa3]{background:#e74c3c2e;color:#ff6b6b}.download[data-v-f3b42aa3]{padding:6px 10px;border-radius:6px;font-size:12px;background:#3498db2e;color:#69b6ff}.download[data-v-f3b42aa3]:hover{background:#3498db47}.btn-delete[data-v-f3b42aa3]{padding:6px 10px;border-radius:6px;font-size:12px;background:#e74c3c1f;color:#ff8f8f}.btn-delete[data-v-f3b42aa3]:hover{background:#e74c3c38}.empty-tasks[data-v-f3b42aa3]{color:#666;font-size:13px;padding:24px 8px}.clean-placeholder[data-v-f3b42aa3]{max-height:112px}.clean-result-summary[data-v-f3b42aa3]{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:16px;margin-bottom:18px}.summary-card[data-v-f3b42aa3]{padding:16px 18px;border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e}.summary-card strong[data-v-f3b42aa3]{display:block;margin-top:8px;font-size:24px;color:#eaf4ff}.summary-label[data-v-f3b42aa3]{font-size:12px;color:#8d8d8d}.result-list-wrap[data-v-f3b42aa3]{border:1px solid #2a2a2a;border-radius:10px;background:#1e1e1e;min-height:260px}.result-list-header[data-v-f3b42aa3]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #2a2a2a;font-size:14px;color:#ddd}@media(max-width:1100px){.main-content[data-v-f3b42aa3]{flex-direction:column;height:auto}.left-panel[data-v-f3b42aa3]{width:100%;border-right:none;border-bottom:1px solid #2a2a2a}.right-panel[data-v-f3b42aa3]{min-height:420px}.task-item[data-v-f3b42aa3]{flex-direction:column;align-items:flex-start}.task-right[data-v-f3b42aa3]{width:100%;justify-content:flex-start}.split-result-actions[data-v-f3b42aa3]{min-width:0;align-self:flex-start}.clean-result-summary[data-v-f3b42aa3]{grid-template-columns:1fr}} diff --git a/new_web_source/assets/split.js b/new_web_source/assets/split.js new file mode 100644 index 0000000..4cd0e1c --- /dev/null +++ b/new_web_source/assets/split.js @@ -0,0 +1 @@ +import{d as q,o as G,a,c as n,b as L,B as O,e,F as x,r as I,t as i,f,n as F,w as C,u as V,G as M,g as d,h as Q,i as E,E as r,H as W,I as X,p as Y,v as Z,J as ss,K as es,_ as ts,q as ls,s as as}from"./pywebview-CcblbV5J.js";import{e as ns}from"./brand-CEi7uRFN.js";const os={class:"page-shell module-page"},is={class:"main-content"},rs={class:"left-panel"},us={class:"upload-zone"},ds={class:"selected-files clean-placeholder split-selected-files"},cs={key:0,class:"more-line"},ps={key:1},vs={class:"option-group column-option-group"},fs={class:"column-toolbar"},_s={class:"column-count"},ms={class:"column-actions"},ys={key:0,class:"column-grid"},gs=["value"],hs={key:1,class:"empty-column-state"},bs={class:"option-group"},ws={class:"radio-item active"},ks={class:"desc"},Cs={class:"option-group"},Ss={class:"option-group"},xs={key:0,class:"split-input-card"},Fs={key:1,class:"split-input-card"},Es={class:"run-row"},Ps=["disabled"],$s={class:"loading-msg"},Is={class:"right-panel"},Rs={class:"task-list-wrap"},Bs={class:"clean-result-summary"},Us={class:"summary-card"},Vs={class:"summary-card"},Ms={class:"summary-card"},Ts={class:"result-list-wrap"},Ds={key:0,class:"empty-tasks"},Hs={key:1,class:"task-list clean-result-list"},Ks={class:"left split-result-main"},Ns=["title"],js={key:0,class:"files"},As={key:1,class:"time"},zs={key:2,class:"files"},Js={key:3,class:"files split-entry-list"},qs={key:4,class:"files"},Gs={class:"task-right split-result-actions"},Ls=["onClick"],Os=["onClick"],Qs=q({__name:"BrandSplitTab",setup(Xs){const _=d([]),S=d(""),c=d([]),m=d([]),p=d([]),R=d(0),u=d("rows_per_file"),y=d(2e3),g=d(5),h=d(!1),b=d([]),w=d({total:0,successCount:0,failedCount:0,items:[]}),P=Q(()=>_.value.slice(0,8));function T(l){w.value={total:l.length,successCount:l.filter(s=>s.success).length,failedCount:l.filter(s=>!s.success).length,items:l}}async function B(l){const s=E();if(!s?.upload_file_to_java)throw new Error("当前桌面端未提供文件上传桥接能力");const t=[];for(const o of l){const v=typeof o=="string"?o:o.absolutePath,J=typeof o=="string"?void 0:o.relativePath,k=await s.upload_file_to_java(v,J);if(!k?.success||!k.data)throw new Error(k?.error||k?.message||`上传失败:${v}`);t.push(k.data)}return t}async function U(l){const s=await Y(l);m.value=s.headers||[],p.value=[...s.headers||[]],R.value=s.totalRows||0}async function D(l,s){_.value=l,S.value="",c.value=await B(l),c.value.length>0&&await U(c.value[0].fileKey),r.success(s)}async function H(){const l=E();if(!l?.select_brand_xlsx_files){r.warning("当前环境不支持文件选择,请在本机客户端中打开");return}try{const s=await l.select_brand_xlsx_files();if(!s?.length)return;await D(s,`已选择 ${s.length} 个待拆分文件`)}catch(s){r.error(s instanceof Error?s.message:"选择失败")}}async function K(){const l=E();if(!l?.select_brand_folder){r.warning("当前环境不支持文件夹选择,请在本机客户端中打开");return}try{const s=await l.select_brand_folder();if(!s)return;S.value=s.split(/[/\\]/).filter(Boolean).pop()||"";const t=await ns(s);if(t.success&&t.items?.length){_.value=t.items.map(o=>o.relativePath),c.value=await B(t.items),c.value.length>0&&await U(c.value[0].fileKey),r.success(`已选择文件夹内 ${t.items.length} 个 xlsx 文件`);return}r.warning(t.error||"该文件夹下没有 xlsx 文件")}catch(s){r.error(s instanceof Error?s.message:"选择失败")}}async function N(){if(!c.value.length){r.warning("请先选择待拆分 Excel 文件或文件夹");return}if(!p.value.length){r.warning("请至少选择一列保留列");return}if(u.value==="rows_per_file"&&(!y.value||y.value<=0)){r.warning("请输入有效的每份条数");return}if(u.value==="parts"&&(!g.value||g.value<=0)){r.warning("请输入有效的拆分份数");return}try{h.value=!0;const l=await W({files:c.value.map(s=>({fileKey:s.fileKey,originalFilename:s.originalFilename,relativePath:s.relativePath})),selectedColumns:p.value,splitMode:u.value,rowsPerFile:u.value==="rows_per_file"&&y.value||void 0,parts:u.value==="parts"&&g.value||void 0,archiveName:c.value.some(s=>!!s.relativePath)&&S.value?S.value:void 0});w.value=l,b.value=l.items||[],await $(),r.success("数据拆分完成")}catch(l){r.error(l instanceof Error?l.message:"数据拆分失败")}finally{h.value=!1}}async function $(){try{const l=await X();b.value=l.items||[],T(b.value)}catch{}}async function j(l){try{await ss(l),await $(),r.success("已删除")}catch(s){r.error(s instanceof Error?s.message:"删除失败")}}function A(l){const s=l.slice(0,4).map(o=>o.rowCount!==void 0?`${o.filename}(${o.rowCount}条)`:o.filename);return l.length-s.length>0?`${s.join("、")} 等 ${l.length} 个文件`:s.join("、")}async function z(l){const s=E(),t=l.downloadUrl||(l.resultId?es(l.resultId):"");if(!t){r.warning("当前结果没有下载地址");return}const o=l.outputFilename||`${new Date().toISOString().slice(0,10).replace(/-/g,"")}.zip`;if(s?.save_file_from_url_new){const v=await s.save_file_from_url_new(t,o);v.success?r.success(`已保存:${v.path||o}`):v.error&&v.error!=="用户取消"&&r.error(v.error);return}}return G(()=>{$().catch(()=>{})}),(l,s)=>(a(),n("div",os,[L(O,{active:"split"}),e("div",is,[e("aside",rs,[s[14]||(s[14]=e("div",{class:"section-title"},"选择文件",-1)),e("div",us,[s[7]||(s[7]=e("div",{class:"hint"},"选择需要拆分的 Excel 文件或文件夹,按规则拆成多个 Excel 文件。",-1)),e("div",{class:"btns"},[e("button",{type:"button",class:"opt-btn",onClick:H},"选择 Excel 文件"),e("button",{type:"button",class:"opt-btn",onClick:K},"选择文件夹")]),e("div",ds,[_.value.length?(a(),n(x,{key:0},[(a(!0),n(x,null,I(P.value,t=>(a(),n("span",{key:t},i(t),1))),128)),_.value.length>P.value.length?(a(),n("span",cs," 还有 "+i(_.value.length-P.value.length)+" 个文件未展开显示 ",1)):f("",!0)],64)):(a(),n("span",ps,"暂未选择待拆分文件"))])]),s[15]||(s[15]=e("div",{class:"section-title"},"保留列设置",-1)),e("div",vs,[e("div",fs,[e("span",_s,"已选择 "+i(p.value.length)+" / "+i(m.value.length)+" 列",1),e("div",ms,[e("button",{type:"button",class:"opt-btn small",onClick:s[0]||(s[0]=t=>p.value=[...m.value])},"全选"),e("button",{type:"button",class:"opt-btn small",onClick:s[1]||(s[1]=t=>p.value=[])},"清空")])]),m.value.length?(a(),n("div",ys,[(a(!0),n(x,null,I(m.value,t=>(a(),n("label",{key:t,class:F(["column-item",{active:p.value.includes(t)}])},[C(e("input",{"onUpdate:modelValue":s[2]||(s[2]=o=>p.value=o),type:"checkbox",value:t},null,8,gs),[[Z,p.value]]),e("span",null,i(t),1)],2))),128))])):(a(),n("div",hs,"请选择 Excel 文件后读取表头并填充可保留列"))]),s[16]||(s[16]=e("div",{class:"section-title"},"总条数",-1)),e("div",bs,[e("label",ws,[s[9]||(s[9]=e("input",{type:"checkbox",checked:"",disabled:""},null,-1)),e("div",null,[s[8]||(s[8]=e("span",{class:"label"},"当前数据总条数",-1)),e("div",ks,i(R.value)+" 条(不含表头)",1)])])]),s[17]||(s[17]=e("div",{class:"section-title"},"拆分模式",-1)),e("div",Cs,[e("label",{class:F(["radio-item",{active:u.value==="rows_per_file"}])},[C(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>u.value=t),type:"radio",value:"rows_per_file",name:"split-mode"},null,512),[[V,u.value]]),s[10]||(s[10]=e("div",null,[e("span",{class:"label"},"按每份条数"),e("div",{class:"desc"},"例如每份 2000 条,最后一份放剩余数据")],-1))],2),e("label",{class:F(["radio-item",{active:u.value==="parts"}])},[C(e("input",{"onUpdate:modelValue":s[4]||(s[4]=t=>u.value=t),type:"radio",value:"parts",name:"split-mode"},null,512),[[V,u.value]]),s[11]||(s[11]=e("div",null,[e("span",{class:"label"},"按份数平均拆分"),e("div",{class:"desc"},"例如拆 5 份,按总条数尽量平均分配")],-1))],2)]),s[18]||(s[18]=e("div",{class:"section-title"},"拆分参数",-1)),e("div",Ss,[u.value==="rows_per_file"?(a(),n("label",xs,[s[12]||(s[12]=e("span",{class:"label"},"每份条数",-1)),C(e("input",{"onUpdate:modelValue":s[5]||(s[5]=t=>y.value=t),class:"split-number-input",type:"number",min:"1",placeholder:"例如 2000"},null,512),[[M,y.value,void 0,{number:!0}]])])):(a(),n("label",Fs,[s[13]||(s[13]=e("span",{class:"label"},"拆分份数",-1)),C(e("input",{"onUpdate:modelValue":s[6]||(s[6]=t=>g.value=t),class:"split-number-input",type:"number",min:"1",placeholder:"例如 5"},null,512),[[M,g.value,void 0,{number:!0}]])]))]),e("div",Es,[e("button",{type:"button",class:"btn-run",disabled:h.value,onClick:N},i(h.value?"拆分中...":"开始拆分"),9,Ps),e("span",$s,i(h.value?"正在拆分并上传结果,请稍候…":"选择文件、保留列和拆分规则后即可执行拆分,结果会显示在右侧供下载"),1)])]),e("section",Is,[s[23]||(s[23]=e("div",{class:"panel-header"},"拆分结果",-1)),e("div",Rs,[e("div",Bs,[e("div",Us,[s[19]||(s[19]=e("span",{class:"summary-label"},"已处理文件",-1)),e("strong",null,i(w.value.total),1)]),e("div",Vs,[s[20]||(s[20]=e("span",{class:"summary-label"},"成功结果",-1)),e("strong",null,i(w.value.successCount),1)]),e("div",Ms,[s[21]||(s[21]=e("span",{class:"summary-label"},"失败文件",-1)),e("strong",null,i(w.value.failedCount),1)])]),e("div",Ts,[s[22]||(s[22]=e("div",{class:"result-list-header"},[e("span",null,"拆分结果压缩包列表")],-1)),b.value.length===0?(a(),n("div",Ds," 暂无拆分结果,完成数据拆分后会在这里展示压缩包文件 ")):(a(),n("ul",Hs,[(a(!0),n(x,null,I(b.value,t=>(a(),n("li",{key:`${t.resultId||t.outputFilename||t.sourceFilename}-${t.rowCount||0}`,class:"task-item split-result-item"},[e("div",Ks,[e("span",{class:"id",title:t.sourceFilename},i(t.sourceFilename||"-"),9,Ns),t.outputFilename?(a(),n("div",js,"压缩包文件:"+i(t.outputFilename),1)):f("",!0),t.rowCount!==void 0?(a(),n("div",As,"压缩包共包含 "+i(t.rowCount)+" 条数据",1)):f("",!0),t.entryCount&&t.entryCount>0?(a(),n("div",zs,"压缩包内共 "+i(t.entryCount)+" 个拆分文件 ",1)):f("",!0),t.entries&&t.entries.length?(a(),n("div",Js," 压缩包内容:"+i(A(t.entries)),1)):f("",!0),t.error?(a(),n("div",qs,"错误信息:"+i(t.error),1)):f("",!0)]),e("div",Gs,[e("span",{class:F(["status",t.success?"success":"failed"])},i(t.success?"已完成":"失败"),3),t.success&&(t.downloadUrl||t.resultId)?(a(),n("button",{key:0,type:"button",class:"download",onClick:o=>z(t)}," 下载压缩包 ",8,Ls)):f("",!0),t.resultId?(a(),n("button",{key:1,type:"button",class:"btn-delete",onClick:o=>j(t.resultId)}," 删除 ",8,Os)):f("",!0)])]))),128))]))])])])])]))}}),Ws=ts(Qs,[["__scopeId","data-v-f3b42aa3"]]);ls(Ws).use(as).mount("#app"); diff --git a/new_web_source/assets/zh-cn-DCaAv7Wt.js b/new_web_source/assets/zh-cn-DCaAv7Wt.js new file mode 100644 index 0000000..e4b9cc8 --- /dev/null +++ b/new_web_source/assets/zh-cn-DCaAv7Wt.js @@ -0,0 +1 @@ +import{bD as m}from"./pywebview-CcblbV5J.js";var _={name:"zh-cn",el:{breadcrumb:{label:"面包屑"},colorpicker:{confirm:"确定",clear:"清空",defaultLabel:"颜色选择器",description:"当前颜色 {color},按 Enter 键选择新颜色",alphaLabel:"选择透明度的值",alphaDescription:"透明度 {alpha}, 当前颜色 {color}",hueLabel:"选择色相值",hueDescription:"色相 {hue}, 当前颜色 {color}",svLabel:"选择饱和度与明度的值",svDescription:"饱和度 {saturation}, 明度 {brightness}, 当前颜色 {color}",predefineDescription:"选择 {value} 作为颜色"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",dateTablePrompt:"使用方向键与 Enter 键可选择日期",monthTablePrompt:"使用方向键与 Enter 键可选择月份",yearTablePrompt:"使用方向键与 Enter 键可选择年份",selectedDate:"已选日期",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},weeksFull:{sun:"星期日",mon:"星期一",tue:"星期二",wed:"星期三",thu:"星期四",fri:"星期五",sat:"星期六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},inputNumber:{decrease:"减少数值",increase:"增加数值"},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},mention:{loading:"加载中"},dropdown:{toggleDropdown:"切换下拉选项"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},dialog:{close:"关闭此对话框"},drawer:{close:"关闭此对话框"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!",close:"关闭此对话框"},upload:{deleteTip:"按 Delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},slider:{defaultLabel:"滑块介于 {min} 至 {max}",defaultRangeStartLabel:"选择起始值",defaultRangeEndLabel:"选择结束值"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计",selectAllLabel:"选择所有行",selectRowLabel:"选择当前行",expandRowLabel:"展开当前行",collapseRowLabel:"收起当前行",sortLabel:"按 {column} 排序",filterLabel:"按 {column} 过滤"},tag:{close:"关闭此标签"},tour:{next:"下一步",previous:"上一步",finish:"结束导览",close:"关闭此对话框"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"},carousel:{leftArrow:"上一张幻灯片",rightArrow:"下一张幻灯片",indicator:"幻灯片切换至索引 {index}"}}},a={exports:{}},d=a.exports,i;function p(){return i||(i=1,(function(s,u){(function(n,r){s.exports=r(m())})(d,(function(n){function r(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var c=r(n),l={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(e,o){return o==="W"?e+"周":e+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(e,o){var t=100*e+o;return t<600?"凌晨":t<900?"早上":t<1100?"上午":t<1300?"中午":t<1800?"下午":"晚上"}};return c.default.locale(l,null,!0),l}))})(a)),a.exports}p();export{_ as z}; diff --git a/new_web_source/convert.html b/new_web_source/convert.html index bd4790e..d6a1f15 100644 --- a/new_web_source/convert.html +++ b/new_web_source/convert.html @@ -1,16 +1,16 @@ - - - - - - 格式转换 - 数富AI + + + + + + 格式转换 - 数富AI - - - - - - -
- - + + + + + + +
+ + diff --git a/new_web_source/dedupe.html b/new_web_source/dedupe.html index 7cce7d1..13e0189 100644 --- a/new_web_source/dedupe.html +++ b/new_web_source/dedupe.html @@ -1,16 +1,16 @@ - - - - - - 数据去重 - 数富AI + + + + + + 数据去重 - 数富AI - - - - - - -
- - + + + + + + +
+ + diff --git a/new_web_source/delete-brand.html b/new_web_source/delete-brand.html index 48b7162..b562255 100644 --- a/new_web_source/delete-brand.html +++ b/new_web_source/delete-brand.html @@ -1,17 +1,17 @@ - - - - - - 删除品牌 - 数富AI + + + + + + 删除品牌 - 数富AI - - + + - - - - -
- - + + + + +
+ + diff --git a/new_web_source/patrol-delete.html b/new_web_source/patrol-delete.html index db033f6..d7062b3 100644 --- a/new_web_source/patrol-delete.html +++ b/new_web_source/patrol-delete.html @@ -1,19 +1,19 @@ - - - - - - 巡店删除 - 数富AI + + + + + + 巡店删除 - 数富AI - - + + - - - + + + - - -
- - + + +
+ + diff --git a/new_web_source/price-track.html b/new_web_source/price-track.html index a2eb857..f75c799 100644 --- a/new_web_source/price-track.html +++ b/new_web_source/price-track.html @@ -5,12 +5,12 @@ 跟价 - 数富AI - - + + - - - + + + diff --git a/new_web_source/product-risk.html b/new_web_source/product-risk.html index 92ef50d..8cde300 100644 --- a/new_web_source/product-risk.html +++ b/new_web_source/product-risk.html @@ -5,13 +5,13 @@ 商品风险解决 - 数富AI - + - + - - + + diff --git a/new_web_source/query-asin.html b/new_web_source/query-asin.html index 76474a4..979e046 100644 --- a/new_web_source/query-asin.html +++ b/new_web_source/query-asin.html @@ -1,20 +1,20 @@ - - - - - - 巡店删除 - 数富AI + + + + + + 巡店删除 - 数富AI - - + + - - - + + + - - -
- - - + + +
+ + + diff --git a/new_web_source/shop-match.html b/new_web_source/shop-match.html index fad9329..09688a3 100644 --- a/new_web_source/shop-match.html +++ b/new_web_source/shop-match.html @@ -1,21 +1,21 @@ - - - - - - 匹配店铺 - 数富AI + + + + + + 匹配店铺 - 数富AI - - + + - + - - + + - - -
- - + + +
+ + diff --git a/new_web_source/similar-asin.html b/new_web_source/similar-asin.html index 2e8f07c..c576e41 100644 --- a/new_web_source/similar-asin.html +++ b/new_web_source/similar-asin.html @@ -3,14 +3,14 @@ - 相似ASIN检测 + 货源查询 - - + + - - - + + +
diff --git a/new_web_source/split.html b/new_web_source/split.html index 437a40f..e374db6 100644 --- a/new_web_source/split.html +++ b/new_web_source/split.html @@ -1,16 +1,16 @@ - - - - - - 数据拆分 - 数富AI + + + + + + 数据拆分 - 数富AI - - - - - - -
- - + + + + + + +
+ +