diff --git a/abacus-static-framework/.gitignore b/abacus-static-framework/.gitignore deleted file mode 100644 index 7c35d30..0000000 --- a/abacus-static-framework/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -#需要过滤文件 -node_modules -.DS_Store -dist -dist-ssr -*.local - -#编辑器目录和文件 -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln -*.local - -pnpm-lock.yaml diff --git a/abacus-static-framework/.project.agents/AGENTS.md b/abacus-static-framework/.project.agents/AGENTS.md deleted file mode 100644 index be8ffda..0000000 --- a/abacus-static-framework/.project.agents/AGENTS.md +++ /dev/null @@ -1,55 +0,0 @@ -# Repository Guidelines - -AGENTS.md is the cross-vendor contributor guide (Claude, Codex, and others read it). Keep it in English by convention. It overlaps CLAUDE.md on purpose — this is the canonical version for non-Claude agents. - -## Authority & Required Reading -Rules in `.project.agents/CLAUDE.md` apply to every agent working here. Direct user instructions still take precedence. - -The canonical contributor guide is `.project.agents/AGENTS.md`. Do not create or maintain a root-level `AGENTS.md` unless the user explicitly asks for one. - -Before any code-changing task, read `.project.agents/SELF_CONSTRAINTS.md` and `.project.agents/VIBECODING_GUIDE.md`, then run `git status --short`. For product work, also read the relevant sections of `PRD.md`, `ARCHITECTURE.md`, `ROADMAP.md`, and `CONVENTIONS.md` under `.project.agents/docs/context/`. Shared front-backend constraints live in the workspace-level `docs/` (see `../../../docs/coding-standards.md`) — read the referenced sections instead of duplicating them here. - -## Project Structure & Module Organization -`abacus-static-framework` is an enterprise Vue 3 + TypeScript microservice front-end base (menu framework) built with Vue 3.5, TypeScript 5, Vite 6, Element Plus, vxe-table, Pinia, axios. Business code lives in `src/subsystem/**` (reference template: the `sms` examples, copy-and-rewrite); `src/framework/**` is READ-ONLY shared framework. No automated tests. - -Target architecture is documented in `ARCHITECTURE.md`: framework (shared, read-only) / subsystem (business writable) / dynamic menu-permission routing. - -## Source-of-Truth Rules -`PRD.md` defines behavior and scope. -`UIUX.md` defines visual and interaction rules. -`ARCHITECTURE.md` is the authority for modules, dependencies, contracts, and directory layout. Derived documents follow upstream changes, not the other way around. - -Feature changes must update `PRD.md`. Module, dependency, entity, or invariant changes must update `ARCHITECTURE.md` in the same commit. Do not let code and architecture drift for more than 24 hours. - -## Build, Test, and Development Commands - -```sh -# Build (output goes straight to the target microservice's resources/html/vue//) -npm run build:prod - -# Run -npm run dev - -# Test -No automated tests (manual smoke only) -``` - -Environment: Node 18.20.7, npm mirror `https://registry.npmmirror.com`. Before local integration, adjust `vite.config.ts` (`build.outDir` → target service's `resources/html/vue//`; `server.proxy` → target backend) and `public/data/data.js` (`currentSubsystem`). After a framework upgrade, run `npm install`; never overwrite `public`, `vite.config.ts`, or `src/subsystem`. - -## Architecture & Coding Style -Use TypeScript, 2-space indentation. Kebab-case files, PascalCase component names (must equal the route `name`), `getXxx`/`saveXxx` API function names. **Every method/function must carry a one-line responsibility comment** (manual-review friendly). Do not add modules that are not registered in `ARCHITECTURE.md`. Preserve the dependency DAG; no reverse dependencies and no cross-module private access. Avoid empty names such as `Manager`, `Helper`, `Util`, `Common`, `Misc`, or `Tools`. - -UI/presentation code should consume state and send intents only — business logic goes into hooks/services; keep data-model types thin. Data access must go through the `request` wrapper (`src/framework/utils/request.ts`) — never raw `axios`/`fetch`; the wrapper handles service-alias mapping, token refresh, commonParam header, and response unwrapping (see shared spec §6). - -## Testing Guidelines -No automated test framework. Required validation from `ARCHITECTURE.md`: manual smoke per page flow (list / query / create / edit / export). Multi-datasource routing, Kafka consumption, XXL-JOB scheduling, Nacos config pull, and real database migrations require real-environment validation; mock/simulator-only evidence is not enough for those claims. - -## Git, Logs, and PRs -Do not pile new work onto unrelated dirty changes without calling it out. Prefer Conventional Commits such as `feat: ...`, `fix: ...`, `docs: ...`. This repository is part of a single git repo rooted at the workspace (`D:\workBuddySpace\member`); commit scope should stay within this subproject unless the change is cross-project (docs/). - -Each independently verifiable feature, milestone, non-trivial fix, or refactor needs an execution log in `.project.agents/log/YYYY-MM-DD-.md` unless it is only a minor documentation edit. Logs must include what changed, relevant commits (or "uncommitted" with reason), verification performed, and next steps. - -Pull requests should include scope, linked issues, screenshots for UI changes, environment/device coverage, and any documentation updates. - -## Security & Configuration -Do not commit secrets, credentials, build output, or personal IDE files. Agent configuration and generated agent notes belong under `.project.agents/`, not the repository root, `.claude/`, or a global home directory. diff --git a/abacus-static-framework/.project.agents/CLAUDE.md b/abacus-static-framework/.project.agents/CLAUDE.md deleted file mode 100644 index 1e73441..0000000 --- a/abacus-static-framework/.project.agents/CLAUDE.md +++ /dev/null @@ -1,59 +0,0 @@ -# CLAUDE.md - -This file guides Claude Code (and other agents) when working in this repository. -**保持本文件最新**:它是项目级入口——项目是什么、怎么构建、门控一切变更的规则。 - -## Project - -`abacus-static-framework` 是企业级 **Vue 3 + TypeScript 微服务前端底座**(菜单框架),基于 Vue 3.5 / TypeScript 5 / Vite 6 / Element Plus / vxe-table / Pinia / axios。业务代码位于 `src/subsystem/**`(参考模板:`subsystem` 下的 sms 示例,供复制改写);`src/framework/**` 为**只读共享框架**,业务不得修改。 - -- Entry point: `src/main.ts` -- **只读/可写分区**:`src/framework/**` 只读;业务开发只写 `src/subsystem/**`(api / router / views / extend 及自建 components / hooks / store / styles / types / utils)。 -- **接口契约**(统一响应体、服务别名映射、token 自动刷新、commonParam)由 `src/framework/utils/request.ts` 强制实现,业务无感;共享约束详见 `../../../docs/coding-standards.md`(§6 接口契约、§4 前端规范)。 -- Known environment constraints: Node 18.20.7 + npm 淘宝镜像;`vite.config.ts` 的 `build.outDir` 与 `server.proxy` 需按目标微服务修改后才能联调/发布;`public/data/data.js` 的 `currentSubsystem`/`currentSubsystemName` 声明当前子系统。 - -## Common commands - -```sh -# Build(产物直出目标微服务 resources/html/vue/<应用名>/) -npm run build:prod - -# Run(本地开发,Vite 反代后端) -npm run dev - -# Test -无自动化测试(人工冒烟验证) -``` - -环境注意:首次使用需 `npm install --registry=https://registry.npmmirror.com`(或已配置镜像则 `npm install`)。框架升级后需重新 `npm install`;升级**不得覆盖** `public`、`vite.config.ts`、`src/subsystem`。 - -## Architecture - -实现遵循 `.project.agents/docs/context/ARCHITECTURE.md` 的模块边界;模块清单(职责一句话): - -- **framework/**(只读共享框架):api(框架级后端接口)、components/standard(标准组件:AbForm/AbQueryForm/vxe 表格等 10 项)、hooks(useVxeTableHandle 等通用组合式函数)、layout(菜单布局)、router(静态路由)、store(settings/permission/user 等 Pinia 状态)、styles、types、utils(standard 5 项 + request 请求管线)、views、directives(v-debounce/v-throttle)。 -- **subsystem/**(业务可写区):api/<服务别名>(按 Controller 分 ts)、router/dynamicRouter.ts(菜单路由唯一注册点)、views/<一级>/<二级>(页面)、extend(框架扩展钩子)、以及业务自建 components/hooks/store/styles/types/utils。 -- 动态权限:`permissionStore.filterAsyncRoutes` 按 `url === path` 匹配后端菜单与 dynamicRouter 后 `addRoute`。 - -## Project-level rules - -- **动手前必读两文件**——它们编码了本项目所有门控决策的经验: - - `.project.agents/VIBECODING_GUIDE.md` — 实践指南(为什么 & 怎么做) - - `.project.agents/SELF_CONSTRAINTS.md` — 硬约束(什么禁止、什么必须、何时停下) - - 任何非平凡任务,编辑前先跑 `SELF_CONSTRAINTS.md §A`(开工前自检)。 - -- **共享约束单一来源**:前后端共享的编码规范/接口契约/命名纪律,**只存在于工作区 `docs/`(`../../../docs/coding-standards.md`、`../../../docs/architecture.md`、`../../../docs/agent-guide.md`)**;本仓库 `.project.agents/docs/context/` 只写本仓库特有内容与指针,**禁止复制 docs/ 正文**。改共享内容先改 docs/ 再同步指针。 - -- **Agent 配置**一律写在 `.project.agents/` 下(或子目录),禁止写到仓库根、`.claude/` 或全局目录。 - -- **项目文档**位于 `.project.agents/docs/context/`(单层目录):`PRD.md`(行为权威)、`ARCHITECTURE.md`(模块/依赖/契约)、`ROADMAP.md`(里程碑)、`CONVENTIONS.md`(命名/风格/提交)、`UIUX.md`(视觉与交互)。 - -- **源真相层级**(冲突时上游优先): - ``` - PRD.md > ARCHITECTURE.md > UIUX.md > CONVENTIONS.md > 派生文档 - 仓库级 CONVENTIONS 再下接共享 docs/coding-standards.md(仅作全仓公共约定引用) - ``` - 上游变更须在同 commit 内回写受影响的派生文档;代码与架构漂移不得超过 24 小时。 - -- **路线图执行规则**:按 `.project.agents/docs/context/ROADMAP.md` 顺序推进,勾选与完成同 commit;milestone 级/多文件任务先写 plan/spec 再动手;每个 milestone 后按 `.project.agents/log/` 模板写执行日志。 diff --git a/abacus-static-framework/.project.agents/SELF_CONSTRAINTS.md b/abacus-static-framework/.project.agents/SELF_CONSTRAINTS.md deleted file mode 100644 index 26f7d1e..0000000 --- a/abacus-static-framework/.project.agents/SELF_CONSTRAINTS.md +++ /dev/null @@ -1,136 +0,0 @@ -# Agent 自我约束清单(本项目硬规则) - -> 这是 Agent 在本项目工作时必须遵守的硬约束。每次开工前自查本清单,违反任何一条都应**先停下**,与用户对齐后再继续。 -> 完整背景与原理请见 [`VIBECODING_GUIDE.md`](./VIBECODING_GUIDE.md)。本清单只列"不许做什么 / 必须做什么"。 -> -> 文档约定(本项目):上游文档位于 `.project.agents/docs/context`,依次为 -> `PRD.md`(行为与范围)、`ARCHITECTURE.md`(模块/依赖/契约/目录)、`CONVENTIONS.md`(命名/风格/提交)。 -> 派生文档不得反向修改上游。 - ---- - -## A. 开工前的强制自检(每个新会话开始时执行) - -在进行任何编辑动作之前,必须确认以下事项;任一项不满足则先暂停业务任务,处理掉再继续。 - -- [ ] **A1. 仓库是否在版本控制下?** 若否:立即停下,先初始化仓库 + 配置 ignore + 初始 commit。 -- [ ] **A2. 工作区是否干净?** 有未提交的旧改动?先与用户确认是否要先提交/暂存,**不允许在脏工作区上叠加新改动**。 -- [ ] **A3. 是否已有 `ARCHITECTURE.md`?** - - 若否,且本次任务**涉及写业务代码**:先停下,按 `VIBECODING_GUIDE` 的流程产出架构文档,再写代码。 - - 若否,且本次任务**只是文档/讨论**:可继续,但应主动提醒用户补架构文档。 -- [ ] **A4. 任务的归属模块清楚吗?** 我能否在 `ARCHITECTURE.md` 的模块清单里指出"这个改动属于哪个模块"?指不出来则停下补架构。 -- [ ] **A5. 上游文档是否已读?** `PRD.md` / `ARCHITECTURE.md` / `CONVENTIONS.md` 中与本任务相关的章节是否读过?没读过先读,不要凭印象动手。 - ---- - -## B. 写代码时的硬约束 - -### B1. 模块边界 -- ❌ 不允许新增**未在 `ARCHITECTURE.md` 中登记**的模块;要新增必须先更新架构文档。 -- ❌ 不允许引入**反向依赖**(低层模块依赖高层模块)。需要时改为接口/回调倒置。 -- ❌ 不允许跨模块**直接访问私有实现**;只能走该模块对外暴露的接口。 -- ❌ 不允许出现 `Manager` / `Helper` / `Util` / `Common` / `Misc` / `Tools` 这类语义为空的新模块名;用动词+名词描述真实职责。 - -### B2. 单一职责 -- ❌ 不允许在 UI/展示层写业务判断或副作用(仅消费状态、发送意图)。 -- ❌ 不允许在数据模型类里堆业务方法;模型保持瘦,逻辑放 Service / UseCase。 -- ❌ 不允许"顺手"修改不在任务范围内的模块;越界的改动走单独提交并明确告知用户。 - -### B3. 文档同步(与代码改动**同一个 commit** 内) -- 加/删/改功能 → 同步更新 `PRD.md` -- 加/删/改模块或依赖 → 同步更新 `ARCHITECTURE.md`(模块清单 + 依赖图) -- 派生文档发现与上游不一致 → 回去改上游,不能让派生文档自走 - -### B4. 注释与命名 -- 每个方法/函数必须写注释(一行职责说明,便于人工复核)。 -- 只在 WHY 不明显处补充 WHY 注释;不写会随时间失效的注释。 -- 不写"为某 issue/任务而加"这类会随时间失效的注释。 -- 严格遵守 `CONVENTIONS.md` 中的命名规范(不存在则先补)。 - -### B5. 错误处理 -- 只在系统边界(用户输入、外部 API、文件 IO)做防御;内部模块互相信任。 -- 不为不可能发生的情况加 fallback。 -- 不引入向后兼容 shim,除非用户明确要求。 - -### B7. 多租户隔离(SaaS 硬约束) -- 任何数据访问(JPA / 原生 SQL / 编排)必须带 `tenant_id` 过滤;缓存 key 必须前缀 `tenant:{tenantId}:`。 -- 租户标识以 token 为准,禁止在业务参数 / URL 中传递 tenantId;跨租户操作须 `@CrossTenant` + 审批。 -- 前端:品牌/主题/菜单须按 `tenantConfig` 动态加载,禁止硬编码;`X-Tenant-Id` 头由 `request.ts` 自动附加,业务代码不得手写。 -- 详细设计与落地映射见 `docs/architecture.md §7`、`coding-standards.md §9`;本仓库 `ARCHITECTURE.md §10`。 - -### B6. 实施日志(execution log) -- **每完成一个可独立验收的部分(milestone 或子任务),必须在 `.project.agents/log` 写日志**。格式与时机见 `VIBECODING_GUIDE`。 -- 日志内必须包含本段的版本控制提交列表;若本段未提交,明确写出"未提交"及原因。 -- 完成路线图任一 milestone → **必须**写日志,且与该 milestone 的提交同一会话完成。 -- 单次会话即将结束(用户表示收工 / 上下文将被压缩)→ **必须**写一份兜底日志记录当前状态与下一步。 -- ❌ 不允许只提交不写日志(除非属于豁免情况:纯文档微调 / 被回滚的实验性探索)。 -- ❌ 不允许写日志但跳过更新 `ARCHITECTURE.md` —— 若本段触发架构变更,先改架构、再提交、再写日志。 - ---- - -## C. 改动范围控制 - -- ❌ 一次任务一个目的。不要"既加功能又重构又改样式"。 -- ❌ 不允许在 bug 修复任务中做无关清理。 -- ❌ 不允许引入"为未来准备"的抽象(YAGNI);三处相似优于一处过度抽象。 -- ❌ 不允许半完成的实现(要么这次完成,要么不要开始)。 - ---- - -## D. 出问题时的排查纪律 - -bug 处理必须按下列顺序,**严禁跳步**: - -1. 复现现象(明确触发路径) -2. 在 `ARCHITECTURE.md` 上**圈出嫌疑模块** -3. 检查跨模块**接口契约** -4. 缩小到单模块后再读代码 -5. 修完后:若是架构问题,必须更新 `ARCHITECTURE.md` 或 `CONVENTIONS.md` - -**禁止行为**:bug 一来就全仓 grep、试改一行看效果、连续 try-fail 循环。出现这种倾向立刻停下,回到第 2 步。 - ---- - -## E. 与用户的协作约束 - -- ❌ 不替用户做架构决策。涉及模块拆分、依赖方向、命名规范这类**长期影响**的决定,必须明确询问。 -- ❌ 不在用户没要求的时候主动创建文档(除非本清单或 `CLAUDE.md` 已要求)。 -- ❌ 不在没看代码的情况下凭推测回答 "X 是怎么实现的"。 -- ✅ 每次涉及架构/文档/规范变更,先告知影响面,再动手。 -- ✅ 用户的明确指示永远高于本清单和任何 skill。冲突时遵循用户。 - ---- - -## F. 触发"全员停车"的红线 - -出现以下任一情况,**立即停止当前任务,与用户对齐后再决定下一步**: - -1. 发现自己在脏工作区上累积了大量未提交改动 -2. 发现自己正在新增一个"无处归属"的模块/文件 -3. 发现代码与 `ARCHITECTURE.md` 已经矛盾,且无法用小补丁同步 -4. 同一个 bug 连续 3 次尝试修复未果 -5. 用户的请求与本清单 / `CLAUDE.md` / 上游文档存在冲突 —— 必须先澄清,不能默默选边 -6. 即将做出"难以回滚"的动作(删除文件 / 重命名模块 / 调整目录结构 / 强制 push) - ---- - -## G. 文件路径合规 - -- Agent 的配置文件**只**写入 `.project.agents` 子树,禁止写入仓库根目录或其他非约定位置。 -- 项目文档**只**写入 `.project.agents/docs/context`(不允许再分子目录,除非用户明确要求)。 -- 本清单(`SELF_CONSTRAINTS.md`)与指南(`VIBECODING_GUIDE.md`)位于 `.project.agents` 根,与 `CLAUDE.md` 同级。 - ---- - -## H. 自查触发器(什么时候重读本清单) - -至少在以下时机重读本清单: - -- 新会话开始,且任务涉及代码改动 -- 用户要求"加新功能"/"修 bug"/"重构" -- 自己感到"差不多可以直接动手了" —— 这种感觉本身就是触发器 -- 即将创建超过 1 个新文件 -- 即将修改 3 个以上文件 -- 即将修改任何 `.project.agents/docs/context` 下的文档 -- **完成一个路线图 milestone 或子任务前**(确认是否需要按 §B6 写日志) -- **会话即将结束前**(确认兜底日志已写) \ No newline at end of file diff --git a/abacus-static-framework/.project.agents/VIBECODING_GUIDE.md b/abacus-static-framework/.project.agents/VIBECODING_GUIDE.md deleted file mode 100644 index 400f39e..0000000 --- a/abacus-static-framework/.project.agents/VIBECODING_GUIDE.md +++ /dev/null @@ -1,252 +0,0 @@ -# 项目开发实践指南(VIBECODING GUIDE) - -> 本文档是基于"踩过的坑"沉淀下来的项目工作方式约定,适用于本仓库及后续所有同性质的项目。 -> 它的姊妹文件是 [`SELF_CONSTRAINTS.md`](./SELF_CONSTRAINTS.md) —— 那是 Agent 每次开工前必须自查的硬约束清单。 -> 本文回答 "为什么这么做";`SELF_CONSTRAINTS.md` 回答 "具体不许做什么"。 - ---- - -## 0. 三条核心教训(本指南的来由,优先级严格递减) - -1. **版本控制必须从第 0 天开始。** - 不是 "等做出点东西再说",是写第一行代码之前先初始化仓库、写好 ignore 规则、提交一个空骨架。 - 理由:高频改动 + 频繁推翻是 AI 协作的常态,没有版本控制兜底就等于在悬崖边裸奔。 - -2. **文档必须在写代码之前定下来。** - 需求、架构、路线图、开发规范、目录结构、命名规范、模块边界 —— 这些不是"做完之后补的",是"做之前定的"。 - 理由:一旦上下文被代码细节占满,后续每个新会话都只能 freestyle,项目会朝不可逆的方向漂移。 - -3. **架构 > UI > 用户体验。** - 最致命的不是界面丑、不是体验差,而是模块互相纠缠到无法定位问题。 - 一个出问题就能立刻指认 "是 X 模块的责任" 的项目,比一个好看但耦合一团的项目,存活率高一个数量级。 - 理由:耦合一旦发生,AI 协作模式会迅速放大它 —— 因为每次新会话都看不全全貌,只会在原有耦合上继续添乱。 - -> 这三条的优先级是严格递减的:先有版本控制,再有文档,再谈架构;架构稳了之后才轮到 UI 和体验。 - ---- - -## 1. 项目启动 Checklist(Day 0) - -下列每一项都必须在写第一行业务代码之前完成。顺序即优先级。 - -### 1.1 仓库与版本控制 -- [ ] 初始化版本控制并立即建立 ignore 规则(语言 / IDE / 系统三类至少齐全) -- [ ] 提交一个 **空骨架 commit**(README + ignore 规则 + 空目录结构),作为"零点参照系" -- [ ] 约定分支模型(最简:主干 + 短命的功能分支;不要等到分叉时才想) -- [ ] 约定 commit message 风格(推荐 Conventional Commits,至少要求动词开头 + 一句话原因) - -### 1.2 文档骨架(必须先于代码存在) -在 `.project.agents/docs/context` 下建立以下文件,**哪怕只有大纲也比没有强**: - -| 文件 | 角色 | 上下游关系 | -|---|---|---| -| `PRD.md` | 产品需求(要做什么) | 上游 | -| `ARCHITECTURE.md` | 架构(怎么拆) | 上游 | -| `ROADMAP.md` | 路线图(什么时候做哪一块) | 由需求 + 架构推导 | -| `CONVENTIONS.md` | 开发规范(命名、目录、提交、风格) | 上游 | -| `UIUX.md` | 视觉与交互细节(仅有 UI 的项目需要) | 上游(与需求并列) | -| 派生文档(实现 spec / 资产清单等) | 屏幕级实现 / 资产清单 | **派生**,由上游产生 | - -**判断标准**:如果一个新会话的 Agent 只读需求 + 架构 + 开发规范就能正确开始一个任务 —— 文档就算合格。 - -### 1.3 Agent 协作配置 -- [ ] 在 `CLAUDE.md` 写明项目级规则(已有,保持更新) -- [ ] 在本文件 + `SELF_CONSTRAINTS.md` 中固化经验 -- [ ] 在 `.project.agents/settings.json` 中配置必要的 hook / 权限(不要散落到根目录或全局) - ---- - -## 2. 架构原则 - -### 2.1 三条硬规则 - -1. **单一职责到模块级** - 每个模块只回答一个问题。 - 反例:"一个模块既管数据持久化,又管网络请求,又管 UI 状态" —— 这种模块必须拆。 - -2. **依赖方向单向** - 高层依赖低层,UI 依赖业务,业务依赖数据;**反向依赖一律禁止**,遇到就用接口/事件/回调倒置。 - 依赖关系必须能画成一张**有向无环图(DAG)**,且这张图要在 `ARCHITECTURE.md` 里画出来。 - -3. **跨模块只走"接口契约"** - 模块 A 想用模块 B 的能力,只能通过 B 暴露的接口/协议,不能 reach into B 的内部实现。 - 接口契约必须在 `ARCHITECTURE.md` 中显式声明(哪怕只是函数签名清单)。 - -### 2.2 判断架构是否健康的三个问句 - -随时可以用这三个问句自检: - -1. **指认问题**:现在出 bug 了,我能否在 30 秒内指出"这是哪个模块的责任"? -2. **替换实现**:如果要把模块 X 整体换掉(换数据库、换框架),改动是否能控制在 X 内部 + 一个接口适配层? -3. **新增功能归属**:用户要加一个新功能,我能否立刻说出它"属于哪个模块、或需要新增哪个模块"? - -任何一个回答不出来,架构就有问题,**先停下修架构,再写代码**。 - -### 2.3 反耦合纪律 - -- **不在新功能开发时顺手重构无关模块**(重构走单独 commit + 单独会话) -- **不在 UI 层做业务判断**(UI 只接收状态、发送意图) -- **不让数据模型自己跑业务逻辑**(模型类保持瘦,业务放 Service / UseCase) -- **不要"为了少写一个文件"把两个模块塞进同一个文件** - ---- - -## 3. 项目架构文档生成流程 - -这是从零到 `ARCHITECTURE.md` 的标准流程。每一步都有产出物,下一步必须基于上一步的产出物。 - -### Step 1 — 需求收敛(产出 `PRD.md`) -- 列功能清单,按 **核心 / 增强 / 可选** 三档分类 -- 每个核心功能写一句 "用户故事"("作为 X,我想 Y,以便 Z") -- **冻结 MVP 范围**:圈出 MVP 包含哪些核心功能,其余明确标 "Out of MVP" - -### Step 2 — 领域建模(产出 `ARCHITECTURE.md` §1 领域模型) -- 列出所有**名词实体**(用户、订单、会话…) -- 标注每个实体的字段、关系、生命周期 -- 标记哪些是**持久化实体**,哪些是**瞬态状态** - -### Step 3 — 模块划分(产出 `ARCHITECTURE.md` §2 模块清单) -对照领域模型与需求功能清单,拆分模块。每个模块写一张卡片: - -``` -## 模块名: -- 职责:一句话 -- 不负责:明确写出"不做什么"(防止职责蔓延) -- 输入:从哪些模块/外部来 -- 输出:暴露给谁 -- 关键类型/接口:列签名(不写实现) -- 持有状态:有没有自己的状态? -``` - -**经验**:如果一个模块的"不负责"写不出来,说明它的职责还没想清楚,回到 Step 2。 - -### Step 4 — 依赖图(产出 `ARCHITECTURE.md` §3 依赖图) -- 画出模块间依赖箭头(推荐 Mermaid,纯文本可 diff) -- **手动验证 DAG**:从任一节点 DFS 不应回到自己 -- 标出"接口边界":哪些依赖是接口注入,哪些是直接调用 - -### Step 5 — 路线图(产出 `ROADMAP.md`) -按依赖图的拓扑顺序排开发节奏: -- 先做被依赖最多的底层模块 -- 每个 milestone 必须能独立通过编译/构建并跑出某种"可见行为" -- 写明每个 milestone 完成的"验收标准"(不是"做完了",是"做完了之后能演示什么") - -### Step 6 — 开发规范(产出 `CONVENTIONS.md`) -- 命名(类型 / 文件 / 目录 / 资产) -- 代码风格(缩进 / 注释策略 / 错误处理边界) -- 提交规范 -- 测试策略(哪些必须有测试,哪些不要求) - -### Step 7 — 派生文档(产出实现 spec / 资产清单等) -**只有上面 6 步都齐了,才能开始写派生文档**。 -派生文档必须显式引用上游章节("对应 `ARCHITECTURE.md` §2.3 的 XxxService 模块"),方便后续 diff 校验。 - ---- - -## 4. 文档变更协议 - -文档不是写完就锁死的,但变更必须**沿着上下游传播**: - -| 变更点 | 必须同步更新 | -|---|---| -| 需求加/删/改功能 | 架构模块清单、路线图、派生文档 | -| 架构调整模块边界 | 依赖图、开发规范(如有命名调整)、派生文档 | -| UI/UX 改视觉 token | 派生文档(实现 spec / 资产清单),不影响架构 | -| 加新模块 | 架构 §2 + §3、路线图、开发规范(如新目录) | - -**权威链**:`PRD.md > ARCHITECTURE.md > UIUX.md > CONVENTIONS.md > 派生文档`。 -派生文档永远不能**反向**修改上游。如果在派生文档中发现矛盾,回去改上游,再让派生文档重新对齐。 -**代码与架构漂移 > 24 小时即违规。** - ---- - -## 5. 实施日志(execution log) - -写代码 / 执行路线图期间,**每完成一个可独立验收的"部分",必须在 `.project.agents/log` 写一份日志**。日志是给"下一个会话的我"看的 —— 让接手的会话能在不读所有代码的情况下知道:刚才完成了什么、哪些提交、下一步是什么。 - -### 5.1 何时写日志 -- 完成一个路线图 milestone -- 完成一个 milestone 内独立可验收的子任务 -- 完成一次非平凡的重构 / bug 修复 -- 当前会话即将结束时(兜底,把上下文沉淀下来) - -**判断标准**:如果这段工作下一个会话需要知道,就写。 - -### 5.2 日志文件命名 -`.project.agents/log/YYYY-MM-DD-.md` -- `` = 简短动词 + 范围,kebab-case -- 同日多份日志按写作顺序累积(不覆盖、不合并),文件名加序号后缀:`-1`、`-2`… - -### 5.3 日志内容模板 -```markdown -# <一句话标题:完成了什么> - -- **日期**:YYYY-MM-DD -- **关联**:路线图 M / 子任务名 / 关联文档 -- **会话上下文**:(可选)本会话从哪开始接手的 - -## 做了什么 -- bullet 1 -- bullet 2 - -## 提交 -- `` - -(若本段未提交:明确写"未提交,工作树状态:…"并说明原因) - -## 状态变更 -- 架构文档:是否动过?动了哪一节? -- 需求/UI 文档:是否触发回归? -- 测试:跑了什么,结果 - -## 下一步 -- 接下来要做的第一件事(具体到任务名) -- 已知阻塞 / 待澄清项 -``` - -### 5.4 与提交的关系 -日志**不替代** commit message,commit message 仍按 `CONVENTIONS.md` 写;日志是提交的**索引与解释**。 - -### 5.5 不写日志的情况 -- 还没完成一个"可独立验收"的部分 —— 不要"写日志凑数" -- 纯文档调整 —— commit 自身已足够说明 -- 实验性探索(最终被回滚的内容)—— 用 commit message 记录即可 - ---- - -## 6. 出问题时的排查流程 - -bug 来了不要直接钻进代码。按下列顺序: - -1. **复现并定位现象**:能在哪个入口 / 哪个调用稳定复现? -2. **回到架构图**:这个现象涉及哪些模块?沿着依赖图圈出可能责任方。 -3. **审查接口契约**:跨模块调用是否符合 `ARCHITECTURE.md` 中声明的接口?输入输出是否符合契约? -4. **缩小到单模块**:把嫌疑缩小到一个模块后,再读该模块代码。 -5. **修复并回写经验**:如果发现是架构层面的漏洞,修完代码后**必须更新 `ARCHITECTURE.md` 或 `CONVENTIONS.md`**。 - -**反模式**:bug 一来就 grep 关键字、改一行试一下、再改一行试一下 —— 这是死亡螺旋,必须用流程压下去。 - ---- - -## 7. 反模式清单("看到这些立刻警觉") - -- 出现语义为空的模块名(`Manager` / `Helper` / `Util` / `Common` / `Misc` / `Tools`)且行数 > 100 行 -- 一个文件 import 超过 10 个本地模块 -- 改一个 UI 改动需要动 3 个以上其他模块 -- 同一份业务逻辑在两个地方各写了一遍 -- PR 描述写"顺便修了 X" -- 新增功能时发现"无处归属",于是塞进入口文件或主组件 -- 文档与代码不一致超过 24 小时 -- 出现没有在 `ARCHITECTURE.md` 中登记的新模块/新依赖方向 - -任何一条出现,**先停下来回到本指南或架构文档,不要继续往前推**。 - ---- - -## 8. 本项目当前阶段 - -> 本节随项目演进,不是规则的一部分。由 Agent 在每个 milestone 后更新。 - - -- 当前状态:前端底座(`abacus-static-framework`)已完成治理落地(Retrofit),`src/framework/**` 只读、业务只写 `src/subsystem/**`;前后端共享约束单源化于工作区 `docs/`(`../../../docs/coding-standards.md`)。 -- 下一步合规动作:新业务子系统按 `docs/coding-standards.md §7`(AI 生成工作流)开发;任何新增模块、目录或依赖方向先回写本仓库 `ARCHITECTURE.md`,再写代码。 diff --git a/abacus-static-framework/.project.agents/assets/.gitkeep b/abacus-static-framework/.project.agents/assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/abacus-static-framework/.project.agents/bugs/.gitkeep b/abacus-static-framework/.project.agents/bugs/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/abacus-static-framework/.project.agents/docs/context/ARCHITECTURE.md b/abacus-static-framework/.project.agents/docs/context/ARCHITECTURE.md deleted file mode 100644 index 191d3b7..0000000 --- a/abacus-static-framework/.project.agents/docs/context/ARCHITECTURE.md +++ /dev/null @@ -1,175 +0,0 @@ -# abacus-static-framework — 架构文档(ARCHITECTURE) - -> 模块、依赖、契约、目录布局的**唯一权威**(本仓库视角)。新增/重命名/移动模块或调整依赖方向,必须先改本文,再改代码(同一个 commit)。 -> 上游:`PRD.md`(行为)。前后端共享约束见工作区 `docs/`(`../../../../docs/coding-standards.md`、`../../../../docs/architecture.md`),本文不复制其正文。 - -## 0. 阅读指引 - -本文描述前端底座的模块划分与依赖方向;§2 模块清单与 §6 目录一一对应,§3.2 是跨模块接口契约(写代码必须遵守)。新会话先读 §2 + §6 定位任务归属,再动手。 - -## 1. 领域模型(Domain Model) - -### 1.1 实体 - -前端无持久化实体;领域概念即运行时状态: - -| 实体 | 字段 | 关系 | 持久化? | -|---|---|---|---| -| 用户会话(userStore) | access_token/refresh_token/expires_dt/user_type | 全局单例 | 否(localStorage) | -| 菜单/路由(permissionStore) | routes(过滤后)、menuTree | 依赖后端菜单接口 | 否(内存) | -| 应用设置(settingsStore) | backendServices、loginType、loginAddress | 来自 window.frameBaseConfig | 否(运行时注入) | - -### 1.2 派生概念(非持久化) - -- `backendServices` 别名→真实服务名映射(`window.frameBaseConfig` 注入)。 -- 当前路由上下文(`currentRouter()`)用于组装 commonParam(menuName/moduleId/moduleName)。 - -### 1.3 不变量(任何模块都必须维护) - -- I1. `src/framework/**` 只读:业务代码不得 import 后修改框架文件;框架变更只能由框架负责人进行。 -- I2. 业务请求一律经 `framework/utils/request.ts`,禁止裸 `axios`/`fetch`。 -- I3. 服务别名首段必须是 `settingsStore.backendServices` 中已注册的键。 -- I4. 多租户上下文来自登录 JWT / `useTenantStore`,禁止业务代码硬编码租户标识或手写 `X-Tenant-Id` 头;品牌/主题/菜单须按 `tenantConfig` 动态加载。详见 `../../../../docs/architecture.md §7`。 - -## 2. 模块清单 - -按依赖层级从低到高排列。 - -### Layer 0 — framework/utils(基础设施) -``` -## 模块名:framework/utils -- 职责:请求管线(request.ts)、标准工具(standard/*:vxe、dataHandleUtil、globalHandle、security、baiduMap) -- 不负责:业务逻辑、页面状态 -- 输入:各业务模块的请求配置 -- 输出:统一响应体解包后的数据 / Blob;标准工具函数 -- 关键类型/接口:request(config) -> Promise;gridDefaultProps(opts);useQueryParamsHandle(...) -- 持有状态:token 刷新队列(模块内闭包)、settingsStore 引用 -``` - -### Layer 0 — framework/components/standard(视觉基座) -``` -## 模块名:framework/components/standard -- 职责:标准 UI 组件(AbForm/AbQueryForm/AbSection/ClickCopy/FilePreviewDialog/ImportExcel/LogShow/RealTimeSearchSelect/SensitiveText/Text/BottomFloat) -- 不负责:业务特有布局(业务自建 components) -- 输入:props/插槽 -- 输出:统一风格组件 -- 持有状态:无(受控组件) -``` - -### Layer 1 — framework/store(有状态服务) -``` -## 模块名:framework/store -- 职责:全局 Pinia 状态(settings:backendServices/loginType;permission:菜单生成与过滤;user:token/业务域) -- 不负责:页面级状态(业务自建 store) -- 输入:window.frameBaseConfig、后端菜单接口 -- 输出:状态与 actions -- 持有状态:是 -``` - -### Layer 2 — framework/router + hooks + directives(路由与通用逻辑) -``` -## 模块名:framework/router + hooks + directives -- 职责:静态路由与动态路由装配支持;useVxeTableHandle 等通用组合式函数;v-debounce/v-throttle 指令 -- 不负责:业务菜单路由(subsystem/router/dynamicRouter.ts) -- 输入:permissionStore 过滤后的路由 -- 输出:可用路由表、表格查询联动能力 -- 持有状态:路由表(由 permissionStore 维护) -``` - -### Layer 3 — subsystem(业务可写区) -``` -## 模块名:subsystem -- 职责:业务子系统(api 封装、dynamicRouter 菜单路由、views 页面、extend 扩展、自建 components/hooks/store/styles/types/utils) -- 不负责:框架能力(一律复用 framework) -- 输入:后端接口、用户操作 -- 输出:业务页面与接口调用 -- 持有状态:业务自身状态(自建 store) -``` - -## 3. 依赖图(DAG) - -```mermaid -graph TD - subsystem --> framework_utils[framework/utils] - subsystem --> framework_components[framework/components/standard] - subsystem --> framework_hooks[framework/hooks] - subsystem --> framework_router[framework/router] - framework_router --> framework_store[framework/store] - framework_hooks --> framework_utils - framework_hooks --> framework_components - framework_store --> framework_utils - framework_utils --> framework_store -``` - -### 3.1 依赖方向规则 - -- 高层依赖低层;业务(subsystem)依赖框架(framework),框架各层按上图单向;**反向依赖一律禁止**(如 framework 不得 import subsystem)。 -- 例外:`framework/utils/request.ts` 依赖 `framework/store`(settingsStore)获取别名映射——两者同属 framework 层,允许。 - -### 3.2 跨模块接口契约(写代码时必须遵守的签名) - -``` -// module: framework/utils/request -// request(config: {url, method, params|data, headers?, custom?}) -> Promise // status===200 已解包 data;ArrayBuffer 返回整个 response -// url 首段 = 服务别名(I3),自动携带 token/commonParam(I2) - -// module: framework/utils/standard/vxe -// gridDefaultProps(opts: {params, rowConfig, pagerConfig, proxyConfig, columns}) -> VxeGridProps - -// module: framework/hooks/useVxeTableHandle -// useQueryParamsHandle(params, page, sorts, filters) -> query params // 分页契约 {data,total},见共享规范 §6.4 -// useTableQueryReload(...) / useInVxeGridSearch(...) -``` - -## 4. 持久化与边界 - -- 无后端式持久化;前端持久化仅 token(localStorage,由 userStore 管理)。 -- 外部边界:所有 HTTP 请求必须经 request.ts;开发期经 vite proxy;运行时经 Nginx 反代;`window.frameBaseConfig` 由宿主页面注入(含 backendServices)。 - -## 5. 测试边界 - -- 无自动化单测(PRD 已声明);每页面人工冒烟(列表/查询/新增/编辑/导出)。 -- 真机/真环境必验:多数据源路由、Kafka 消费、XXL-JOB 调度、Nacos 配置拉取、真实数据库迁移(属后端,但前端联调需一并验证)。 - -## 6. 目录结构(与 §2 模块清单一一对应) - -``` -src/ -├── framework/ # Layer 0~2(只读共享) -│ ├── api/ components/ hooks/ layout/ router/ store/ styles/ types/ utils/ views/ directives/ -│ └── utils/request.ts # 请求管线(契约见 §3.2) -├── subsystem/ # Layer 3(业务可写区) -│ ├── api/<服务别名>/ # 按 Controller 分 ts(如 sms/{index,applog,abnormal,config}.ts) -│ ├── router/dynamicRouter.ts # 菜单路由唯一注册点 -│ ├── views/<一级菜单>/<二级菜单>/index.vue -│ ├── extend/ # 框架扩展钩子 -│ └── (自建) components/ hooks/ store/ styles/ types/ utils/ -├── permission.ts # 全局路由守卫(生成/过滤动态路由) -└── main.ts # 入口 -``` - -## 7. 自检(架构健康度三问) - -1. 出 bug 了,能否 30 秒内指出是 framework 还是 subsystem、哪个子目录的责任? -2. 替换 UI 库/表格库,改动能否控制在 framework/components 与 utils/standard 内 + 适配层? -3. 加新业务页面,能否立刻说出落在 `subsystem/views/<一级>/<二级>/` 哪个位置? - -## 8. 待办与已知技术负债 - -- 前端 README 引用的 `docs/` 文档中心已补齐(`../../../../docs/`)。 -- 旧框架兼容入口 `externalOldERPIndex`(data.js)仅在需要兼容历史模块时配置。 - -## 9. 文档变更协议 - -- 加/删模块或改依赖方向 → 改本文 §2 + §3,同一 commit。 -- 改对外签名(request/gridDefaultProps 等)→ 先改 §3.2,再改代码。 -- 与 `PRD.md` 冲突 → 以 `PRD.md` 为准,回改本文;与共享 `docs/coding-standards.md` 冲突 → 以 docs/ 为准并回改本文。 - -## 10. SaaS 多租户架构(指针) - -> 完整设计(租户动态品牌/主题/模块/菜单、前后端协作、扩展)见工作区 `../../../../docs/architecture.md §7`;编码约束见 `coding-standards.md §9`。本文仅记录前端特有约束: - -- 登录后 `useTenantStore` 保存 `tenantId` + `tenantConfig` 并持久化;`applyTenantTheme(config)` 运行时应用品牌/主题。 -- 菜单经 `permissionStore.filterAsyncRoutes` 做"权限 ∩ 租户模块订阅"双重过滤。 -- `framework/utils/request.ts` 自动附加 `X-Tenant-Id`(取自 `useTenantStore`);业务代码不得手写。 -- 新增前端 `subsystem/store/tenant.ts`、`framework/utils/theme.ts`,并扩展 `request.ts` 与 `permissionStore`,包归属见 §2 / §6。 diff --git a/abacus-static-framework/.project.agents/docs/context/CONVENTIONS.md b/abacus-static-framework/.project.agents/docs/context/CONVENTIONS.md deleted file mode 100644 index a5e257c..0000000 --- a/abacus-static-framework/.project.agents/docs/context/CONVENTIONS.md +++ /dev/null @@ -1,92 +0,0 @@ -# abacus-static-framework — 开发规范(CONVENTIONS) - -> 命名、目录、提交、风格、测试的权威(本仓库视角)。前后端共享约束见工作区 `docs/coding-standards.md`(`../../../../docs/coding-standards.md`),本文只写前端特有内容 + 指针,**禁止复制 docs/ 正文**。 - -## 0. 阅读指引 - -- 适用范围:`src/subsystem/**` 业务开发(`src/framework/**` 只读)。 -- 分工:ARCHITECTURE 管"拆成什么模块";本文管"怎么命名/写";共享编码规范、接口契约、AI 生成工作流在 `docs/coding-standards.md`。 - -## 1. 命名 - -### 1.1 标识符 - -- 组件名:PascalCase,且**必须与路由 `name` 一致**(``)。 -- 文件/目录:kebab-case(如 `operationLog/index.vue`);views 目录按一级/二级菜单名组织。 -- API 函数:`getXxx` / `saveXxx` / `deleteXxx` / `exportXxx`。 -- Pinia store:`useStore`。 - -### 1.2 模块命名(语义禁区) - -- 禁止 `Manager` / `Helper` / `Util` / `Common` / `Misc` / `Tools` 这类语义为空的名字;用"动词+名词"(如 `useTableQueryReload`、`gridDefaultProps`)。 - -### 1.3 文件 / 1.4 目录 / 1.5 资产命名 - -- 文件按主类型命名:页面 `index.vue`(views 目录内)、API 按 Controller 分 `api/<服务别名>/<模块>.ts`、组合式函数 `use.ts`。 -- 目录:`api/<服务别名>/`、`views/<一级菜单>/<二级菜单>/`、`router/`、`extend/`;业务自建 `components/ hooks/ store/ styles/ types/ utils/`。 -- 资产:图标/图片放 `src/assets/` 或 `public/`(按是否需编译/保持原名选择)。 - -### 1.6 字符串与本地化 - -- 用户可见文案用中文;菜单标题在路由 `meta.title` 与后端菜单保持一致。 - -## 2. 代码风格 - -### 2.1 排版 - -- TypeScript / Vue:2 空格缩进;单行 ≤ 120 字符;` - - - - - - diff --git a/abacus-static-framework/package-lock.json b/abacus-static-framework/package-lock.json deleted file mode 100644 index ddc9f50..0000000 --- a/abacus-static-framework/package-lock.json +++ /dev/null @@ -1,5366 +0,0 @@ -{ - "name": "abacus-static-framework", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "abacus-static-framework", - "version": "0.0.0", - "dependencies": { - "@element-plus/icons-vue": "^2.3.1", - "@vue-office/docx": "^1.6.0", - "@vue-office/excel": "^1.7.2", - "@vue-office/pdf": "^1.6.5", - "@vueuse/core": "^10.2.1", - "@wangeditor/editor": "^5.1.23", - "@wangeditor/editor-for-vue": "^5.1.12", - "axios": "^1.8.1", - "consola": "^3.2.3", - "crypto-js": "^4.2.0", - "element-china-area-data": "^6.1.0", - "element-plus": "^2.9.5", - "exceljs": "^4.4.0", - "fuse.js": "^6.6.2", - "js-base64": "^3.7.7", - "js-cookie": "^3.0.5", - "markdown-it": "^14.1.0", - "nprogress": "^0.2.0", - "path-browserify": "^1.0.1", - "path-to-regexp": "^6.2.1", - "pinia": "^3.0.1", - "sm-crypto": "^0.3.13", - "vue": "^3.5.13", - "vue-router": "^4.5.0", - "vxe-table": "^4.11.18", - "vxe-table-plugin-export-xlsx": "^4.0.7", - "xe-utils": "^3.7.3" - }, - "devDependencies": { - "@types/node": "^20.3.1", - "@types/nprogress": "^0.2.0", - "@vitejs/plugin-vue": "^5.2.1", - "sass": "^1.63.4", - "typescript": "^5.0.2", - "unplugin-auto-import": "^0.16.4", - "unplugin-vue-components": "^0.25.1", - "vite": "^6.0.0", - "vite-plugin-style-import": "^2.0.0", - "vue-tsc": "^1.4.2" - } - }, - "node_modules/@antfu/utils": { - "version": "0.7.10", - "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.10.tgz", - "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.26.9", - "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.9.tgz", - "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.26.9" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.26.9", - "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.9.tgz", - "integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==", - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.26.9", - "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.9.tgz", - "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@ctrl/tinycolor": { - "version": "3.6.1", - "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", - "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/@element-plus/icons-vue": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", - "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", - "license": "MIT", - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz", - "integrity": "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.25.0.tgz", - "integrity": "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz", - "integrity": "sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.25.0.tgz", - "integrity": "sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz", - "integrity": "sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz", - "integrity": "sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz", - "integrity": "sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz", - "integrity": "sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz", - "integrity": "sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz", - "integrity": "sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz", - "integrity": "sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz", - "integrity": "sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz", - "integrity": "sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz", - "integrity": "sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz", - "integrity": "sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz", - "integrity": "sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz", - "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz", - "integrity": "sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz", - "integrity": "sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz", - "integrity": "sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz", - "integrity": "sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz", - "integrity": "sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz", - "integrity": "sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz", - "integrity": "sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz", - "integrity": "sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@fast-csv/format": { - "version": "4.3.5", - "resolved": "https://registry.npmmirror.com/@fast-csv/format/-/format-4.3.5.tgz", - "integrity": "sha512-8iRn6QF3I8Ak78lNAa+Gdl5MJJBM5vRHivFtMRUWINdevNo00K7OXxS2PshawLKTejVwieIlPmK5YlLu6w4u8A==", - "license": "MIT", - "dependencies": { - "@types/node": "^14.0.1", - "lodash.escaperegexp": "^4.1.2", - "lodash.isboolean": "^3.0.3", - "lodash.isequal": "^4.5.0", - "lodash.isfunction": "^3.0.9", - "lodash.isnil": "^4.0.0" - } - }, - "node_modules/@fast-csv/format/node_modules/@types/node": { - "version": "14.18.63", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-14.18.63.tgz", - "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", - "license": "MIT" - }, - "node_modules/@fast-csv/parse": { - "version": "4.3.6", - "resolved": "https://registry.npmmirror.com/@fast-csv/parse/-/parse-4.3.6.tgz", - "integrity": "sha512-uRsLYksqpbDmWaSmzvJcuApSEe38+6NQZBUsuAyMZKqHxH0g1wcJgsKUvN3WC8tewaqFjBMMGrkHmC+T7k8LvA==", - "license": "MIT", - "dependencies": { - "@types/node": "^14.0.1", - "lodash.escaperegexp": "^4.1.2", - "lodash.groupby": "^4.6.0", - "lodash.isfunction": "^3.0.9", - "lodash.isnil": "^4.0.0", - "lodash.isundefined": "^3.0.1", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/@fast-csv/parse/node_modules/@types/node": { - "version": "14.18.63", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-14.18.63.tgz", - "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", - "license": "MIT" - }, - "node_modules/@floating-ui/core": { - "version": "1.6.9", - "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.6.9.tgz", - "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.2.9" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.6.13", - "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.6.13.tgz", - "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.6.0", - "@floating-ui/utils": "^0.2.9" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.9", - "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.9.tgz", - "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", - "license": "MIT" - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "license": "MIT" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@parcel/watcher": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher/-/watcher-2.5.1.tgz", - "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.1", - "@parcel/watcher-darwin-arm64": "2.5.1", - "@parcel/watcher-darwin-x64": "2.5.1", - "@parcel/watcher-freebsd-x64": "2.5.1", - "@parcel/watcher-linux-arm-glibc": "2.5.1", - "@parcel/watcher-linux-arm-musl": "2.5.1", - "@parcel/watcher-linux-arm64-glibc": "2.5.1", - "@parcel/watcher-linux-arm64-musl": "2.5.1", - "@parcel/watcher-linux-x64-glibc": "2.5.1", - "@parcel/watcher-linux-x64-musl": "2.5.1", - "@parcel/watcher-win32-arm64": "2.5.1", - "@parcel/watcher-win32-ia32": "2.5.1", - "@parcel/watcher-win32-x64": "2.5.1" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", - "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", - "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", - "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", - "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", - "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", - "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", - "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", - "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", - "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", - "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", - "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", - "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmmirror.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", - "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@popperjs/core": { - "name": "@sxzz/popperjs-es", - "version": "2.11.7", - "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", - "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "5.1.4", - "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", - "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.9.tgz", - "integrity": "sha512-qZdlImWXur0CFakn2BJ2znJOdqYZKiedEPEVNTBrpfPjc/YuTGcaYZcdmNFTkUj3DU0ZM/AElcM8Ybww3xVLzA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.9.tgz", - "integrity": "sha512-4KW7P53h6HtJf5Y608T1ISKvNIYLWRKMvfnG0c44M6In4DQVU58HZFEVhWINDZKp7FZps98G3gxwC1sb0wXUUg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.9.tgz", - "integrity": "sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.9.tgz", - "integrity": "sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.9.tgz", - "integrity": "sha512-2lzjQPJbN5UnHm7bHIUKFMulGTQwdvOkouJDpPysJS+QFBGDJqcfh+CxxtG23Ik/9tEvnebQiylYoazFMAgrYw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.9.tgz", - "integrity": "sha512-SLl0hi2Ah2H7xQYd6Qaiu01kFPzQ+hqvdYSoOtHYg/zCIFs6t8sV95kaoqjzjFwuYQLtOI0RZre/Ke0nPaQV+g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.9.tgz", - "integrity": "sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.9.tgz", - "integrity": "sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.9.tgz", - "integrity": "sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.9.tgz", - "integrity": "sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.9.tgz", - "integrity": "sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.9.tgz", - "integrity": "sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.9.tgz", - "integrity": "sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.9.tgz", - "integrity": "sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.9.tgz", - "integrity": "sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.9.tgz", - "integrity": "sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.9.tgz", - "integrity": "sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.9.tgz", - "integrity": "sha512-KB48mPtaoHy1AwDNkAJfHXvHp24H0ryZog28spEs0V48l3H1fr4i37tiyHsgKZJnCmvxsbATdZGBpbmxTE3a9w==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.9.tgz", - "integrity": "sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@transloadit/prettier-bytes": { - "version": "0.0.7", - "resolved": "https://registry.npmmirror.com/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", - "integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==", - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmmirror.com/@types/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==", - "license": "MIT" - }, - "node_modules/@types/lodash": { - "version": "4.17.16", - "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.16.tgz", - "integrity": "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==", - "license": "MIT" - }, - "node_modules/@types/lodash-es": { - "version": "4.17.12", - "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", - "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", - "license": "MIT", - "dependencies": { - "@types/lodash": "*" - } - }, - "node_modules/@types/node": { - "version": "20.17.23", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.17.23.tgz", - "integrity": "sha512-8PCGZ1ZJbEZuYNTMqywO+Sj4vSKjSjT6Ua+6RFOYlEvIvKQABPtrNkoVSLSKDb4obYcMhspVKmsw8Cm10NFRUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.19.2" - } - }, - "node_modules/@types/nprogress": { - "version": "0.2.3", - "resolved": "https://registry.npmmirror.com/@types/nprogress/-/nprogress-0.2.3.tgz", - "integrity": "sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/web-bluetooth": { - "version": "0.0.20", - "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", - "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", - "license": "MIT" - }, - "node_modules/@uppy/companion-client": { - "version": "2.2.2", - "resolved": "https://registry.npmmirror.com/@uppy/companion-client/-/companion-client-2.2.2.tgz", - "integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==", - "license": "MIT", - "dependencies": { - "@uppy/utils": "^4.1.2", - "namespace-emitter": "^2.0.1" - } - }, - "node_modules/@uppy/core": { - "version": "2.3.4", - "resolved": "https://registry.npmmirror.com/@uppy/core/-/core-2.3.4.tgz", - "integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==", - "license": "MIT", - "dependencies": { - "@transloadit/prettier-bytes": "0.0.7", - "@uppy/store-default": "^2.1.1", - "@uppy/utils": "^4.1.3", - "lodash.throttle": "^4.1.1", - "mime-match": "^1.0.2", - "namespace-emitter": "^2.0.1", - "nanoid": "^3.1.25", - "preact": "^10.5.13" - } - }, - "node_modules/@uppy/store-default": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/@uppy/store-default/-/store-default-2.1.1.tgz", - "integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==", - "license": "MIT" - }, - "node_modules/@uppy/utils": { - "version": "4.1.3", - "resolved": "https://registry.npmmirror.com/@uppy/utils/-/utils-4.1.3.tgz", - "integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==", - "license": "MIT", - "dependencies": { - "lodash.throttle": "^4.1.1" - } - }, - "node_modules/@uppy/xhr-upload": { - "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz", - "integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==", - "license": "MIT", - "dependencies": { - "@uppy/companion-client": "^2.2.2", - "@uppy/utils": "^4.1.2", - "nanoid": "^3.1.25" - }, - "peerDependencies": { - "@uppy/core": "^2.3.3" - } - }, - "node_modules/@vitejs/plugin-vue": { - "version": "5.2.1", - "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz", - "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0", - "vue": "^3.2.25" - } - }, - "node_modules/@volar/language-core": { - "version": "1.11.1", - "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-1.11.1.tgz", - "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@volar/source-map": "1.11.1" - } - }, - "node_modules/@volar/source-map": { - "version": "1.11.1", - "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-1.11.1.tgz", - "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", - "dev": true, - "license": "MIT", - "dependencies": { - "muggle-string": "^0.3.1" - } - }, - "node_modules/@volar/typescript": { - "version": "1.11.1", - "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-1.11.1.tgz", - "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@volar/language-core": "1.11.1", - "path-browserify": "^1.0.1" - } - }, - "node_modules/@vue-office/docx": { - "version": "1.6.3", - "resolved": "https://registry.npmmirror.com/@vue-office/docx/-/docx-1.6.3.tgz", - "integrity": "sha512-Cs+3CAaRBOWOiW4XAhTwwxJ0dy8cPIf6DqfNvYcD3YACiLwO4kuawLF2IAXxyijhbuOeoFsfvoVbOc16A/4bZA==", - "hasInstallScript": true, - "license": "MIT", - "peerDependencies": { - "@vue/composition-api": "^1.7.1", - "vue": "^2.0.0 || >=3.0.0", - "vue-demi": "^0.14.6" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, - "node_modules/@vue-office/excel": { - "version": "1.7.14", - "resolved": "https://registry.npmmirror.com/@vue-office/excel/-/excel-1.7.14.tgz", - "integrity": "sha512-pVUgt+emDQUnW7q22CfnQ+jl43mM/7IFwYzOg7lwOwPEbiVB4K4qEQf+y/bc4xGXz75w1/e3Kz3G6wAafmFBFg==", - "hasInstallScript": true, - "license": "MIT", - "peerDependencies": { - "@vue/composition-api": "^1.7.1", - "vue": "^2.0.0 || >=3.0.0", - "vue-demi": "^0.14.6" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, - "node_modules/@vue-office/pdf": { - "version": "1.6.5", - "resolved": "https://registry.npmmirror.com/@vue-office/pdf/-/pdf-1.6.5.tgz", - "integrity": "sha512-3BePzeA5wji2JoZGJhdlc3XEXs6gMcSnBXrBXlGGfhZHjNijxcHa9V5Ibm8dDKoEwPPsfg+kf4TGP9/2GBR8jQ==", - "hasInstallScript": true, - "license": "MIT", - "peerDependencies": { - "@vue/composition-api": "^1.7.1", - "vue": "^2.0.0 || >=3.0.0", - "vue-demi": "^0.14.6" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.5.13", - "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz", - "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.13", - "entities": "^4.5.0", - "estree-walker": "^2.0.2", - "source-map-js": "^1.2.0" - } - }, - "node_modules/@vue/compiler-dom": { - "version": "3.5.13", - "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", - "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", - "license": "MIT", - "dependencies": { - "@vue/compiler-core": "3.5.13", - "@vue/shared": "3.5.13" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.5.13", - "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", - "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.25.3", - "@vue/compiler-core": "3.5.13", - "@vue/compiler-dom": "3.5.13", - "@vue/compiler-ssr": "3.5.13", - "@vue/shared": "3.5.13", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.11", - "postcss": "^8.4.48", - "source-map-js": "^1.2.0" - } - }, - "node_modules/@vue/compiler-ssr": { - "version": "3.5.13", - "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", - "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.5.13", - "@vue/shared": "3.5.13" - } - }, - "node_modules/@vue/devtools-api": { - "version": "6.6.4", - "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", - "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", - "license": "MIT" - }, - "node_modules/@vue/devtools-kit": { - "version": "7.7.2", - "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.2.tgz", - "integrity": "sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==", - "license": "MIT", - "dependencies": { - "@vue/devtools-shared": "^7.7.2", - "birpc": "^0.2.19", - "hookable": "^5.5.3", - "mitt": "^3.0.1", - "perfect-debounce": "^1.0.0", - "speakingurl": "^14.0.1", - "superjson": "^2.2.1" - } - }, - "node_modules/@vue/devtools-shared": { - "version": "7.7.2", - "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.2.tgz", - "integrity": "sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==", - "license": "MIT", - "dependencies": { - "rfdc": "^1.4.1" - } - }, - "node_modules/@vue/language-core": { - "version": "1.8.27", - "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-1.8.27.tgz", - "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@volar/language-core": "~1.11.1", - "@volar/source-map": "~1.11.1", - "@vue/compiler-dom": "^3.3.0", - "@vue/shared": "^3.3.0", - "computeds": "^0.0.1", - "minimatch": "^9.0.3", - "muggle-string": "^0.3.1", - "path-browserify": "^1.0.1", - "vue-template-compiler": "^2.7.14" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@vue/language-core/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@vue/language-core/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@vue/reactivity": { - "version": "3.5.13", - "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.13.tgz", - "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", - "license": "MIT", - "dependencies": { - "@vue/shared": "3.5.13" - } - }, - "node_modules/@vue/runtime-core": { - "version": "3.5.13", - "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.13.tgz", - "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", - "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.5.13", - "@vue/shared": "3.5.13" - } - }, - "node_modules/@vue/runtime-dom": { - "version": "3.5.13", - "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", - "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", - "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.5.13", - "@vue/runtime-core": "3.5.13", - "@vue/shared": "3.5.13", - "csstype": "^3.1.3" - } - }, - "node_modules/@vue/server-renderer": { - "version": "3.5.13", - "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.13.tgz", - "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", - "license": "MIT", - "dependencies": { - "@vue/compiler-ssr": "3.5.13", - "@vue/shared": "3.5.13" - }, - "peerDependencies": { - "vue": "3.5.13" - } - }, - "node_modules/@vue/shared": { - "version": "3.5.13", - "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.13.tgz", - "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", - "license": "MIT" - }, - "node_modules/@vueuse/core": { - "version": "10.11.1", - "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-10.11.1.tgz", - "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", - "license": "MIT", - "dependencies": { - "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "10.11.1", - "@vueuse/shared": "10.11.1", - "vue-demi": ">=0.14.8" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/metadata": { - "version": "10.11.1", - "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-10.11.1.tgz", - "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/shared": { - "version": "10.11.1", - "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-10.11.1.tgz", - "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", - "license": "MIT", - "dependencies": { - "vue-demi": ">=0.14.8" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vxe-ui/core": { - "version": "4.0.33", - "resolved": "https://registry.npmmirror.com/@vxe-ui/core/-/core-4.0.33.tgz", - "integrity": "sha512-TZS4CuIQ60Q5hmaglKP2+BC5/4Gc9exnRt5rMhDx9hY2f7DUMOpnfeVV70cevN0Ik+2T8hw38SP7sfNGUCmwgA==", - "license": "MIT", - "dependencies": { - "dom-zindex": "^1.0.6", - "xe-utils": "^3.7.2" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/@wangeditor/basic-modules": { - "version": "1.1.7", - "resolved": "https://registry.npmmirror.com/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz", - "integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==", - "license": "MIT", - "dependencies": { - "is-url": "^1.2.4" - }, - "peerDependencies": { - "@wangeditor/core": "1.x", - "dom7": "^3.0.0", - "lodash.throttle": "^4.1.1", - "nanoid": "^3.2.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/code-highlight": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz", - "integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==", - "license": "MIT", - "dependencies": { - "prismjs": "^1.23.0" - }, - "peerDependencies": { - "@wangeditor/core": "1.x", - "dom7": "^3.0.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/core": { - "version": "1.1.19", - "resolved": "https://registry.npmmirror.com/@wangeditor/core/-/core-1.1.19.tgz", - "integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==", - "license": "MIT", - "dependencies": { - "@types/event-emitter": "^0.3.3", - "event-emitter": "^0.3.5", - "html-void-elements": "^2.0.0", - "i18next": "^20.4.0", - "scroll-into-view-if-needed": "^2.2.28", - "slate-history": "^0.66.0" - }, - "peerDependencies": { - "@uppy/core": "^2.1.1", - "@uppy/xhr-upload": "^2.0.3", - "dom7": "^3.0.0", - "is-hotkey": "^0.2.0", - "lodash.camelcase": "^4.3.0", - "lodash.clonedeep": "^4.5.0", - "lodash.debounce": "^4.0.8", - "lodash.foreach": "^4.5.0", - "lodash.isequal": "^4.5.0", - "lodash.throttle": "^4.1.1", - "lodash.toarray": "^4.4.0", - "nanoid": "^3.2.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/editor": { - "version": "5.1.23", - "resolved": "https://registry.npmmirror.com/@wangeditor/editor/-/editor-5.1.23.tgz", - "integrity": "sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==", - "license": "MIT", - "dependencies": { - "@uppy/core": "^2.1.1", - "@uppy/xhr-upload": "^2.0.3", - "@wangeditor/basic-modules": "^1.1.7", - "@wangeditor/code-highlight": "^1.0.3", - "@wangeditor/core": "^1.1.19", - "@wangeditor/list-module": "^1.0.5", - "@wangeditor/table-module": "^1.1.4", - "@wangeditor/upload-image-module": "^1.0.2", - "@wangeditor/video-module": "^1.1.4", - "dom7": "^3.0.0", - "is-hotkey": "^0.2.0", - "lodash.camelcase": "^4.3.0", - "lodash.clonedeep": "^4.5.0", - "lodash.debounce": "^4.0.8", - "lodash.foreach": "^4.5.0", - "lodash.isequal": "^4.5.0", - "lodash.throttle": "^4.1.1", - "lodash.toarray": "^4.4.0", - "nanoid": "^3.2.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/editor-for-vue": { - "version": "5.1.12", - "resolved": "https://registry.npmmirror.com/@wangeditor/editor-for-vue/-/editor-for-vue-5.1.12.tgz", - "integrity": "sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==", - "license": "MIT", - "peerDependencies": { - "@wangeditor/editor": ">=5.1.0", - "vue": "^3.0.5" - } - }, - "node_modules/@wangeditor/list-module": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/@wangeditor/list-module/-/list-module-1.0.5.tgz", - "integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==", - "license": "MIT", - "peerDependencies": { - "@wangeditor/core": "1.x", - "dom7": "^3.0.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/table-module": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/@wangeditor/table-module/-/table-module-1.1.4.tgz", - "integrity": "sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==", - "license": "MIT", - "peerDependencies": { - "@wangeditor/core": "1.x", - "dom7": "^3.0.0", - "lodash.isequal": "^4.5.0", - "lodash.throttle": "^4.1.1", - "nanoid": "^3.2.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/upload-image-module": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz", - "integrity": "sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==", - "license": "MIT", - "peerDependencies": { - "@uppy/core": "^2.0.3", - "@uppy/xhr-upload": "^2.0.3", - "@wangeditor/basic-modules": "1.x", - "@wangeditor/core": "1.x", - "dom7": "^3.0.0", - "lodash.foreach": "^4.5.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/@wangeditor/video-module": { - "version": "1.1.4", - "resolved": "https://registry.npmmirror.com/@wangeditor/video-module/-/video-module-1.1.4.tgz", - "integrity": "sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==", - "license": "MIT", - "peerDependencies": { - "@uppy/core": "^2.1.4", - "@uppy/xhr-upload": "^2.0.7", - "@wangeditor/core": "1.x", - "dom7": "^3.0.0", - "nanoid": "^3.2.0", - "slate": "^0.72.0", - "snabbdom": "^3.1.0" - } - }, - "node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmmirror.com/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", - "license": "MIT", - "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "license": "MIT", - "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/archiver-utils/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/async": { - "version": "3.2.6", - "resolved": "https://registry.npmmirror.com/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "license": "MIT" - }, - "node_modules/async-validator": { - "version": "4.2.5", - "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", - "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", - "license": "MIT" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/axios": { - "version": "1.8.1", - "resolved": "https://registry.npmmirror.com/axios/-/axios-1.8.1.tgz", - "integrity": "sha512-NN+fvwH/kV01dYUQ3PTOZns4LWtWhOFCAhQ/pHb88WQ1hNe5V/dvFwc4VJcDL11LT9xSX0QtsR8sWUuyOuOq7g==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/big-integer": { - "version": "1.6.52", - "resolved": "https://registry.npmmirror.com/big-integer/-/big-integer-1.6.52.tgz", - "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", - "license": "Unlicense", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/binary": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/binary/-/binary-0.3.0.tgz", - "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==", - "license": "MIT", - "dependencies": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/birpc": { - "version": "0.2.19", - "resolved": "https://registry.npmmirror.com/birpc/-/birpc-0.2.19.tgz", - "integrity": "sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bluebird": { - "version": "3.4.7", - "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.4.7.tgz", - "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==", - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmmirror.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/buffer-indexof-polyfill": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz", - "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmmirror.com/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==", - "engines": { - "node": ">=0.2.0" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/capital-case": { - "version": "1.0.4", - "resolved": "https://registry.npmmirror.com/capital-case/-/capital-case-1.0.4.tgz", - "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case-first": "^2.0.2" - } - }, - "node_modules/chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmmirror.com/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==", - "license": "MIT/X11", - "dependencies": { - "traverse": ">=0.3.0 <0.4" - }, - "engines": { - "node": "*" - } - }, - "node_modules/change-case": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/change-case/-/change-case-4.1.2.tgz", - "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "camel-case": "^4.1.2", - "capital-case": "^1.0.4", - "constant-case": "^3.0.4", - "dot-case": "^3.0.4", - "header-case": "^2.0.4", - "no-case": "^3.0.4", - "param-case": "^3.0.4", - "pascal-case": "^3.1.2", - "path-case": "^3.0.4", - "sentence-case": "^3.0.4", - "snake-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/china-division": { - "version": "2.7.0", - "resolved": "https://registry.npmmirror.com/china-division/-/china-division-2.7.0.tgz", - "integrity": "sha512-4uUPAT+1WfqDh5jytq7omdCmHNk3j+k76zEG/2IqaGcYB90c2SwcixttcypdsZ3T/9tN1TTpBDoeZn+Yw/qBEA==", - "license": "MIT" - }, - "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/compress-commons": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/compress-commons/-/compress-commons-4.1.2.tgz", - "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", - "license": "MIT", - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/compute-scroll-into-view": { - "version": "1.0.20", - "resolved": "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", - "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==", - "license": "MIT" - }, - "node_modules/computeds": { - "version": "0.0.1", - "resolved": "https://registry.npmmirror.com/computeds/-/computeds-0.0.1.tgz", - "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" - }, - "node_modules/confbox": { - "version": "0.1.8", - "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.1.8.tgz", - "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/consola": { - "version": "3.4.0", - "resolved": "https://registry.npmmirror.com/consola/-/consola-3.4.0.tgz", - "integrity": "sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==", - "license": "MIT", - "engines": { - "node": "^14.18.0 || >=16.10.0" - } - }, - "node_modules/console": { - "version": "0.7.2", - "resolved": "https://registry.npmmirror.com/console/-/console-0.7.2.tgz", - "integrity": "sha512-+JSDwGunA4MTEgAV/4VBKwUHonP8CzJ/6GIuwPi6acKFqFfHUdSGCm89ZxZ5FfGWdZfkdgAroy5bJ5FSeN/t4g==", - "dev": true, - "license": "MIT" - }, - "node_modules/constant-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/constant-case/-/constant-case-3.0.4.tgz", - "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case": "^2.0.2" - } - }, - "node_modules/copy-anything": { - "version": "3.0.5", - "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-3.0.5.tgz", - "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", - "license": "MIT", - "dependencies": { - "is-what": "^4.1.8" - }, - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "license": "Apache-2.0", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/crc32-stream": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/crc32-stream/-/crc32-stream-4.0.3.tgz", - "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", - "license": "MIT", - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/crypto-js": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz", - "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", - "license": "MIT" - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/d": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/d/-/d-1.0.2.tgz", - "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", - "license": "ISC", - "dependencies": { - "es5-ext": "^0.10.64", - "type": "^2.7.2" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/dayjs": { - "version": "1.11.13", - "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", - "license": "MIT" - }, - "node_modules/de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", - "dev": true, - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true, - "license": "Apache-2.0", - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/dom-zindex": { - "version": "1.0.6", - "resolved": "https://registry.npmmirror.com/dom-zindex/-/dom-zindex-1.0.6.tgz", - "integrity": "sha512-FKWIhiU96bi3xpP9ewRMgANsoVmMUBnMnmpCT6dPMZOunVYJQmJhSRruoI0XSPoHeIif3kyEuiHbFrOJwEJaEA==", - "license": "MIT" - }, - "node_modules/dom7": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/dom7/-/dom7-3.0.0.tgz", - "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==", - "license": "MIT", - "dependencies": { - "ssr-window": "^3.0.0-alpha.1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmmirror.com/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", - "license": "BSD-3-Clause", - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/duplexer2/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/duplexer2/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/duplexer2/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/element-china-area-data": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/element-china-area-data/-/element-china-area-data-6.1.0.tgz", - "integrity": "sha512-IkpcjwQv2A/2AxFiSoaISZ+oMw1rZCPUSOg5sOCwT5jKc96TaawmKZeY81xfxXsO0QbKxU5LLc6AirhG52hUmg==", - "license": "MIT", - "dependencies": { - "china-division": "^2.7.0" - } - }, - "node_modules/element-plus": { - "version": "2.9.5", - "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.9.5.tgz", - "integrity": "sha512-r+X79oogLbYq8p9L5f9fHSHhUFNM0AL72aikqiZVxSc2/08mK6m/PotiB9e/D90QmWTIHIaFnFmW65AcXmneig==", - "license": "MIT", - "dependencies": { - "@ctrl/tinycolor": "^3.4.1", - "@element-plus/icons-vue": "^2.3.1", - "@floating-ui/dom": "^1.0.1", - "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", - "@types/lodash": "^4.14.182", - "@types/lodash-es": "^4.17.6", - "@vueuse/core": "^9.1.0", - "async-validator": "^4.2.5", - "dayjs": "^1.11.13", - "escape-html": "^1.0.3", - "lodash": "^4.17.21", - "lodash-es": "^4.17.21", - "lodash-unified": "^1.0.2", - "memoize-one": "^6.0.0", - "normalize-wheel-es": "^1.2.0" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/element-plus/node_modules/@types/web-bluetooth": { - "version": "0.0.16", - "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", - "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", - "license": "MIT" - }, - "node_modules/element-plus/node_modules/@vueuse/core": { - "version": "9.13.0", - "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz", - "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", - "license": "MIT", - "dependencies": { - "@types/web-bluetooth": "^0.0.16", - "@vueuse/metadata": "9.13.0", - "@vueuse/shared": "9.13.0", - "vue-demi": "*" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/element-plus/node_modules/@vueuse/metadata": { - "version": "9.13.0", - "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz", - "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/element-plus/node_modules/@vueuse/shared": { - "version": "9.13.0", - "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz", - "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", - "license": "MIT", - "dependencies": { - "vue-demi": "*" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es5-ext": { - "version": "0.10.64", - "resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.64.tgz", - "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", - "hasInstallScript": true, - "license": "ISC", - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "esniff": "^2.0.1", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "license": "MIT", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.4", - "resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.4.tgz", - "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", - "license": "ISC", - "dependencies": { - "d": "^1.0.2", - "ext": "^1.7.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/esbuild": { - "version": "0.25.0", - "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.0.tgz", - "integrity": "sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.0", - "@esbuild/android-arm": "0.25.0", - "@esbuild/android-arm64": "0.25.0", - "@esbuild/android-x64": "0.25.0", - "@esbuild/darwin-arm64": "0.25.0", - "@esbuild/darwin-x64": "0.25.0", - "@esbuild/freebsd-arm64": "0.25.0", - "@esbuild/freebsd-x64": "0.25.0", - "@esbuild/linux-arm": "0.25.0", - "@esbuild/linux-arm64": "0.25.0", - "@esbuild/linux-ia32": "0.25.0", - "@esbuild/linux-loong64": "0.25.0", - "@esbuild/linux-mips64el": "0.25.0", - "@esbuild/linux-ppc64": "0.25.0", - "@esbuild/linux-riscv64": "0.25.0", - "@esbuild/linux-s390x": "0.25.0", - "@esbuild/linux-x64": "0.25.0", - "@esbuild/netbsd-arm64": "0.25.0", - "@esbuild/netbsd-x64": "0.25.0", - "@esbuild/openbsd-arm64": "0.25.0", - "@esbuild/openbsd-x64": "0.25.0", - "@esbuild/sunos-x64": "0.25.0", - "@esbuild/win32-arm64": "0.25.0", - "@esbuild/win32-ia32": "0.25.0", - "@esbuild/win32-x64": "0.25.0" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/esniff": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/esniff/-/esniff-2.0.1.tgz", - "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", - "license": "ISC", - "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.62", - "event-emitter": "^0.3.5", - "type": "^2.7.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" - }, - "node_modules/event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", - "license": "MIT", - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "node_modules/exceljs": { - "version": "4.4.0", - "resolved": "https://registry.npmmirror.com/exceljs/-/exceljs-4.4.0.tgz", - "integrity": "sha512-XctvKaEMaj1Ii9oDOqbW/6e1gXknSY4g/aLCDicOXqBE4M0nRWkUu0PTp++UPNzoFY12BNHMfs/VadKIS6llvg==", - "license": "MIT", - "dependencies": { - "archiver": "^5.0.0", - "dayjs": "^1.8.34", - "fast-csv": "^4.3.1", - "jszip": "^3.10.1", - "readable-stream": "^3.6.0", - "saxes": "^5.0.1", - "tmp": "^0.2.0", - "unzipper": "^0.10.11", - "uuid": "^8.3.0" - }, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/exsolve": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/exsolve/-/exsolve-1.0.2.tgz", - "integrity": "sha512-ZEcIMbthn2zeX4/wD/DLxDUjuCltHXT8Htvm/JFlTkdYgWh2+HGppgwwNUnIVxzxP7yJOPtuBAec0dLx6lVY8w==", - "dev": true, - "license": "MIT" - }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "license": "ISC", - "dependencies": { - "type": "^2.7.2" - } - }, - "node_modules/fast-csv": { - "version": "4.3.6", - "resolved": "https://registry.npmmirror.com/fast-csv/-/fast-csv-4.3.6.tgz", - "integrity": "sha512-2RNSpuwwsJGP0frGsOmTb9oUF+VkFSM4SyLTDgwf2ciHWTarN0lQTC+F2f/t5J9QjW+c65VFIAAu85GsvMIusw==", - "license": "MIT", - "dependencies": { - "@fast-csv/format": "4.3.5", - "@fast-csv/parse": "4.3.6" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.2.tgz", - "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "license": "MIT" - }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmmirror.com/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "deprecated": "This package is no longer supported.", - "license": "ISC", - "dependencies": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/fuse.js": { - "version": "6.6.2", - "resolved": "https://registry.npmmirror.com/fuse.js/-/fuse.js-6.6.2.tgz", - "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==", - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/header-case": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/header-case/-/header-case-2.0.4.tgz", - "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "capital-case": "^1.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/hookable": { - "version": "5.5.3", - "resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz", - "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", - "license": "MIT" - }, - "node_modules/html-void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-2.0.1.tgz", - "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/i18next": { - "version": "20.6.1", - "resolved": "https://registry.npmmirror.com/i18next/-/i18next-20.6.1.tgz", - "integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", - "license": "MIT" - }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/immutable": { - "version": "5.0.3", - "resolved": "https://registry.npmmirror.com/immutable/-/immutable-5.0.3.tgz", - "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==", - "dev": true, - "license": "MIT" - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hotkey": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/is-hotkey/-/is-hotkey-0.2.0.tgz", - "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==", - "license": "MIT" - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmmirror.com/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "license": "MIT" - }, - "node_modules/is-what": { - "version": "4.1.16", - "resolved": "https://registry.npmmirror.com/is-what/-/is-what-4.1.16.tgz", - "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", - "license": "MIT", - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" - }, - "node_modules/js-base64": { - "version": "3.7.7", - "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-3.7.7.tgz", - "integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==", - "license": "BSD-3-Clause" - }, - "node_modules/js-cookie": { - "version": "3.0.5", - "resolved": "https://registry.npmmirror.com/js-cookie/-/js-cookie-3.0.5.tgz", - "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/js-tokens": { - "version": "9.0.1", - "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-9.0.1.tgz", - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "license": "MIT" - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmmirror.com/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "license": "(MIT OR GPL-3.0-or-later)", - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, - "node_modules/jszip/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/jszip/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/jszip/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/lazystream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "license": "MIT", - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", - "license": "MIT", - "dependencies": { - "uc.micro": "^2.0.0" - } - }, - "node_modules/listenercount": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==", - "license": "ISC" - }, - "node_modules/local-pkg": { - "version": "0.5.1", - "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.5.1.tgz", - "integrity": "sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "mlly": "^1.7.3", - "pkg-types": "^1.2.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" - }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "license": "MIT" - }, - "node_modules/lodash-unified": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", - "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", - "license": "MIT", - "peerDependencies": { - "@types/lodash-es": "*", - "lodash": "*", - "lodash-es": "*" - } - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "license": "MIT" - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "license": "MIT" - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmmirror.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", - "license": "MIT" - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==", - "license": "MIT" - }, - "node_modules/lodash.escaperegexp": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", - "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", - "license": "MIT" - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmmirror.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", - "license": "MIT" - }, - "node_modules/lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==", - "license": "MIT" - }, - "node_modules/lodash.groupby": { - "version": "4.6.0", - "resolved": "https://registry.npmmirror.com/lodash.groupby/-/lodash.groupby-4.6.0.tgz", - "integrity": "sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==", - "license": "MIT" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "license": "MIT" - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.", - "license": "MIT" - }, - "node_modules/lodash.isfunction": { - "version": "3.0.9", - "resolved": "https://registry.npmmirror.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz", - "integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==", - "license": "MIT" - }, - "node_modules/lodash.isnil": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/lodash.isnil/-/lodash.isnil-4.0.0.tgz", - "integrity": "sha512-up2Mzq3545mwVnMhTDMdfoG1OurpA/s5t88JmQX809eH3C8491iu2sfKhTfhQtKY78oPNhiaHJUpT/dUDAAtng==", - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "license": "MIT" - }, - "node_modules/lodash.isundefined": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz", - "integrity": "sha512-MXB1is3s899/cD8jheYYE2V9qTHwKvt+npCwpD+1Sxm3Q3cECXCiYHjeHWXNwr6Q0SOBPrYUDxendrO6goVTEA==", - "license": "MIT" - }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmmirror.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", - "license": "MIT" - }, - "node_modules/lodash.toarray": { - "version": "4.4.0", - "resolved": "https://registry.npmmirror.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz", - "integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==", - "license": "MIT" - }, - "node_modules/lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmmirror.com/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==", - "license": "MIT" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "license": "MIT" - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "node_modules/markdown-it": { - "version": "14.1.0", - "resolved": "https://registry.npmmirror.com/markdown-it/-/markdown-it-14.1.0.tgz", - "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1", - "entities": "^4.4.0", - "linkify-it": "^5.0.0", - "mdurl": "^2.0.0", - "punycode.js": "^2.3.1", - "uc.micro": "^2.1.0" - }, - "bin": { - "markdown-it": "bin/markdown-it.mjs" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", - "license": "MIT" - }, - "node_modules/memoize-one": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", - "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-match": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/mime-match/-/mime-match-1.0.2.tgz", - "integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==", - "license": "ISC", - "dependencies": { - "wildcard": "^1.1.0" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mitt": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz", - "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", - "license": "MIT" - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mlly": { - "version": "1.7.4", - "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.7.4.tgz", - "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.14.0", - "pathe": "^2.0.1", - "pkg-types": "^1.3.0", - "ufo": "^1.5.4" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/muggle-string": { - "version": "0.3.1", - "resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.3.1.tgz", - "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", - "dev": true, - "license": "MIT" - }, - "node_modules/namespace-emitter": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/namespace-emitter/-/namespace-emitter-2.0.1.tgz", - "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==", - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "license": "ISC" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-wheel-es": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", - "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", - "license": "BSD-3-Clause" - }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", - "license": "MIT" - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "license": "(MIT AND Zlib)" - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "license": "MIT" - }, - "node_modules/path-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/path-case/-/path-case-3.0.4.tgz", - "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-to-regexp": { - "version": "6.3.0", - "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-6.3.0.tgz", - "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", - "license": "MIT" - }, - "node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, - "node_modules/perfect-debounce": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", - "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pinia": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/pinia/-/pinia-3.0.1.tgz", - "integrity": "sha512-WXglsDzztOTH6IfcJ99ltYZin2mY8XZCXujkYWVIJlBjqsP6ST7zw+Aarh63E1cDVYeyUcPCxPHzJpEOmzB6Wg==", - "license": "MIT", - "dependencies": { - "@vue/devtools-api": "^7.7.2" - }, - "funding": { - "url": "https://github.com/sponsors/posva" - }, - "peerDependencies": { - "typescript": ">=4.4.4", - "vue": "^2.7.0 || ^3.5.11" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/pinia/node_modules/@vue/devtools-api": { - "version": "7.7.2", - "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-7.7.2.tgz", - "integrity": "sha512-1syn558KhyN+chO5SjlZIwJ8bV/bQ1nOVTG66t2RbG66ZGekyiYNmRO7X9BJCXQqPsFHlnksqvPhce2qpzxFnA==", - "license": "MIT", - "dependencies": { - "@vue/devtools-kit": "^7.7.2" - } - }, - "node_modules/pkg-types": { - "version": "1.3.1", - "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.3.1.tgz", - "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "confbox": "^0.1.8", - "mlly": "^1.7.4", - "pathe": "^2.0.1" - } - }, - "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/preact": { - "version": "10.26.4", - "resolved": "https://registry.npmmirror.com/preact/-/preact-10.26.4.tgz", - "integrity": "sha512-KJhO7LBFTjP71d83trW+Ilnjbo+ySsaAgCfXOXUlmGzJ4ygYPWmysm77yg4emwfmoz3b22yvH5IsVFHbhUaH5w==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/preact" - } - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "license": "MIT" - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" - }, - "node_modules/punycode.js": { - "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/punycode.js/-/punycode.js-2.3.1.tgz", - "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/quansync": { - "version": "0.2.8", - "resolved": "https://registry.npmmirror.com/quansync/-/quansync-0.2.8.tgz", - "integrity": "sha512-4+saucphJMazjt7iOM27mbFCk+D9dd/zmgMDCzRZ8MEoBfYp7lAvoN38et/phRQF6wOPMy/OROBGgoWeSKyluA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/antfu" - }, - { - "type": "individual", - "url": "https://github.com/sponsors/sxzz" - } - ], - "license": "MIT" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdir-glob": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/readdir-glob/-/readdir-glob-1.1.3.tgz", - "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.1.0" - } - }, - "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "license": "MIT" - }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/rollup": { - "version": "4.34.9", - "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.34.9.tgz", - "integrity": "sha512-nF5XYqWWp9hx/LrpC8sZvvvmq0TeTjQgaZHYmAgwysT9nh8sWnZhBnM8ZyVbbJFIQBLwHDNoMqsBZBbUo4U8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.6" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.9", - "@rollup/rollup-android-arm64": "4.34.9", - "@rollup/rollup-darwin-arm64": "4.34.9", - "@rollup/rollup-darwin-x64": "4.34.9", - "@rollup/rollup-freebsd-arm64": "4.34.9", - "@rollup/rollup-freebsd-x64": "4.34.9", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.9", - "@rollup/rollup-linux-arm-musleabihf": "4.34.9", - "@rollup/rollup-linux-arm64-gnu": "4.34.9", - "@rollup/rollup-linux-arm64-musl": "4.34.9", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.9", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.9", - "@rollup/rollup-linux-riscv64-gnu": "4.34.9", - "@rollup/rollup-linux-s390x-gnu": "4.34.9", - "@rollup/rollup-linux-x64-gnu": "4.34.9", - "@rollup/rollup-linux-x64-musl": "4.34.9", - "@rollup/rollup-win32-arm64-msvc": "4.34.9", - "@rollup/rollup-win32-ia32-msvc": "4.34.9", - "@rollup/rollup-win32-x64-msvc": "4.34.9", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/sass": { - "version": "1.85.1", - "resolved": "https://registry.npmmirror.com/sass/-/sass-1.85.1.tgz", - "integrity": "sha512-Uk8WpxM5v+0cMR0XjX9KfRIacmSG86RH4DCCZjLU2rFh5tyutt9siAXJ7G+YfxQ99Q6wrRMbMlVl6KqUms71ag==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "license": "ISC", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/scroll-into-view-if-needed": { - "version": "2.2.31", - "resolved": "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", - "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", - "license": "MIT", - "dependencies": { - "compute-scroll-into-view": "^1.0.20" - } - }, - "node_modules/scule": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz", - "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", - "dev": true, - "license": "MIT" - }, - "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmmirror.com/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/sentence-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/sentence-case/-/sentence-case-3.0.4.tgz", - "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case-first": "^2.0.2" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "license": "MIT" - }, - "node_modules/slate": { - "version": "0.72.8", - "resolved": "https://registry.npmmirror.com/slate/-/slate-0.72.8.tgz", - "integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==", - "license": "MIT", - "dependencies": { - "immer": "^9.0.6", - "is-plain-object": "^5.0.0", - "tiny-warning": "^1.0.3" - } - }, - "node_modules/slate-history": { - "version": "0.66.0", - "resolved": "https://registry.npmmirror.com/slate-history/-/slate-history-0.66.0.tgz", - "integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==", - "license": "MIT", - "dependencies": { - "is-plain-object": "^5.0.0" - }, - "peerDependencies": { - "slate": ">=0.65.3" - } - }, - "node_modules/sm-crypto": { - "version": "0.3.13", - "resolved": "https://registry.npmmirror.com/sm-crypto/-/sm-crypto-0.3.13.tgz", - "integrity": "sha512-ztNF+pZq6viCPMA1A6KKu3bgpkmYti5avykRHbcFIdSipFdkVmfUw2CnpM2kBJyppIalqvczLNM3wR8OQ0pT5w==", - "license": "MIT", - "dependencies": { - "jsbn": "^1.1.0" - } - }, - "node_modules/snabbdom": { - "version": "3.6.2", - "resolved": "https://registry.npmmirror.com/snabbdom/-/snabbdom-3.6.2.tgz", - "integrity": "sha512-ig5qOnCDbugFntKi6c7Xlib8bA6xiJVk8O+WdFrV3wxbMqeHO0hXFQC4nAhPVWfZfi8255lcZkNhtIBINCc4+Q==", - "license": "MIT", - "engines": { - "node": ">=12.17.0" - } - }, - "node_modules/snake-case": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/snake-case/-/snake-case-3.0.4.tgz", - "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead", - "dev": true, - "license": "MIT" - }, - "node_modules/speakingurl": { - "version": "14.0.1", - "resolved": "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz", - "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ssr-window": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-3.0.0.tgz", - "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==", - "license": "MIT" - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/strip-literal": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-2.1.1.tgz", - "integrity": "sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "js-tokens": "^9.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/superjson": { - "version": "2.2.2", - "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.2.tgz", - "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", - "license": "MIT", - "dependencies": { - "copy-anything": "^3.0.2" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "license": "MIT" - }, - "node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", - "license": "MIT", - "engines": { - "node": ">=14.14" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmmirror.com/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==", - "license": "MIT/X11", - "engines": { - "node": "*" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD" - }, - "node_modules/type": { - "version": "2.7.3", - "resolved": "https://registry.npmmirror.com/type/-/type-2.7.3.tgz", - "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", - "license": "ISC" - }, - "node_modules/typescript": { - "version": "5.8.2", - "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.8.2.tgz", - "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", - "devOptional": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/uc.micro": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/uc.micro/-/uc.micro-2.1.0.tgz", - "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", - "license": "MIT" - }, - "node_modules/ufo": { - "version": "1.5.4", - "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.5.4.tgz", - "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true, - "license": "MIT" - }, - "node_modules/unimport": { - "version": "3.14.6", - "resolved": "https://registry.npmmirror.com/unimport/-/unimport-3.14.6.tgz", - "integrity": "sha512-CYvbDaTT04Rh8bmD8jz3WPmHYZRG/NnvYVzwD6V1YAlvvKROlAeNDUBhkBGzNav2RKaeuXvlWYaa1V4Lfi/O0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.1.4", - "acorn": "^8.14.0", - "escape-string-regexp": "^5.0.0", - "estree-walker": "^3.0.3", - "fast-glob": "^3.3.3", - "local-pkg": "^1.0.0", - "magic-string": "^0.30.17", - "mlly": "^1.7.4", - "pathe": "^2.0.1", - "picomatch": "^4.0.2", - "pkg-types": "^1.3.0", - "scule": "^1.3.0", - "strip-literal": "^2.1.1", - "unplugin": "^1.16.1" - } - }, - "node_modules/unimport/node_modules/confbox": { - "version": "0.2.1", - "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.2.1.tgz", - "integrity": "sha512-hkT3yDPFbs95mNCy1+7qNKC6Pro+/ibzYxtM2iqEigpf0sVw+bg4Zh9/snjsBcf990vfIsg5+1U7VyiyBb3etg==", - "dev": true, - "license": "MIT" - }, - "node_modules/unimport/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/unimport/node_modules/local-pkg": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-1.1.1.tgz", - "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mlly": "^1.7.4", - "pkg-types": "^2.0.1", - "quansync": "^0.2.8" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/unimport/node_modules/local-pkg/node_modules/pkg-types": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-2.1.0.tgz", - "integrity": "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "confbox": "^0.2.1", - "exsolve": "^1.0.1", - "pathe": "^2.0.3" - } - }, - "node_modules/unimport/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unplugin": { - "version": "1.16.1", - "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-1.16.1.tgz", - "integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.14.0", - "webpack-virtual-modules": "^0.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/unplugin-auto-import": { - "version": "0.16.7", - "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.16.7.tgz", - "integrity": "sha512-w7XmnRlchq6YUFJVFGSvG1T/6j8GrdYN6Em9Wf0Ye+HXgD/22kont+WnuCAA0UaUoxtuvRR1u/mXKy63g/hfqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@antfu/utils": "^0.7.6", - "@rollup/pluginutils": "^5.0.5", - "fast-glob": "^3.3.1", - "local-pkg": "^0.5.0", - "magic-string": "^0.30.5", - "minimatch": "^9.0.3", - "unimport": "^3.4.0", - "unplugin": "^1.5.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@nuxt/kit": "^3.2.2", - "@vueuse/core": "*" - }, - "peerDependenciesMeta": { - "@nuxt/kit": { - "optional": true - }, - "@vueuse/core": { - "optional": true - } - } - }, - "node_modules/unplugin-auto-import/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/unplugin-auto-import/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/unplugin-vue-components": { - "version": "0.25.2", - "resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-0.25.2.tgz", - "integrity": "sha512-OVmLFqILH6w+eM8fyt/d/eoJT9A6WO51NZLf1vC5c1FZ4rmq2bbGxTy8WP2Jm7xwFdukaIdv819+UI7RClPyCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@antfu/utils": "^0.7.5", - "@rollup/pluginutils": "^5.0.2", - "chokidar": "^3.5.3", - "debug": "^4.3.4", - "fast-glob": "^3.3.0", - "local-pkg": "^0.4.3", - "magic-string": "^0.30.1", - "minimatch": "^9.0.3", - "resolve": "^1.22.2", - "unplugin": "^1.4.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@babel/parser": "^7.15.8", - "@nuxt/kit": "^3.2.2", - "vue": "2 || 3" - }, - "peerDependenciesMeta": { - "@babel/parser": { - "optional": true - }, - "@nuxt/kit": { - "optional": true - } - } - }, - "node_modules/unplugin-vue-components/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/unplugin-vue-components/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/unplugin-vue-components/node_modules/local-pkg": { - "version": "0.4.3", - "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-0.4.3.tgz", - "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/unplugin-vue-components/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/unplugin-vue-components/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/unzipper": { - "version": "0.10.14", - "resolved": "https://registry.npmmirror.com/unzipper/-/unzipper-0.10.14.tgz", - "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==", - "license": "MIT", - "dependencies": { - "big-integer": "^1.6.17", - "binary": "~0.3.0", - "bluebird": "~3.4.1", - "buffer-indexof-polyfill": "~1.0.0", - "duplexer2": "~0.1.4", - "fstream": "^1.0.12", - "graceful-fs": "^4.2.2", - "listenercount": "~1.0.1", - "readable-stream": "~2.3.6", - "setimmediate": "~1.0.4" - } - }, - "node_modules/unzipper/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/unzipper/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/unzipper/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/upper-case": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/upper-case/-/upper-case-2.0.2.tgz", - "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/upper-case-first": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/upper-case-first/-/upper-case-first-2.0.2.tgz", - "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/vite": { - "version": "6.2.0", - "resolved": "https://registry.npmmirror.com/vite/-/vite-6.2.0.tgz", - "integrity": "sha512-7dPxoo+WsT/64rDcwoOjk76XHj+TqNTIvHKcuMQ1k4/SeHDaQt5GFAeLYzrimZrMpn/O6DtdI03WUjdxuPM0oQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "postcss": "^8.5.3", - "rollup": "^4.30.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vite-plugin-style-import": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/vite-plugin-style-import/-/vite-plugin-style-import-2.0.0.tgz", - "integrity": "sha512-qtoHQae5dSUQPo/rYz/8p190VU5y19rtBaeV7ryLa/AYAU/e9CG89NrN/3+k7MR8mJy/GPIu91iJ3zk9foUOSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^4.1.2", - "change-case": "^4.1.2", - "console": "^0.7.2", - "es-module-lexer": "^0.9.3", - "fs-extra": "^10.0.0", - "magic-string": "^0.25.7", - "pathe": "^0.2.0" - }, - "peerDependencies": { - "vite": ">=2.0.0" - } - }, - "node_modules/vite-plugin-style-import/node_modules/@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/vite-plugin-style-import/node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/vite-plugin-style-import/node_modules/pathe": { - "version": "0.2.0", - "resolved": "https://registry.npmmirror.com/pathe/-/pathe-0.2.0.tgz", - "integrity": "sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==", - "dev": true, - "license": "MIT" - }, - "node_modules/vue": { - "version": "3.5.13", - "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.13.tgz", - "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.5.13", - "@vue/compiler-sfc": "3.5.13", - "@vue/runtime-dom": "3.5.13", - "@vue/server-renderer": "3.5.13", - "@vue/shared": "3.5.13" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/vue-demi": { - "version": "0.14.10", - "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, - "node_modules/vue-router": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.0.tgz", - "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", - "license": "MIT", - "dependencies": { - "@vue/devtools-api": "^6.6.4" - }, - "funding": { - "url": "https://github.com/sponsors/posva" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/vue-template-compiler": { - "version": "2.7.16", - "resolved": "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", - "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "de-indent": "^1.0.2", - "he": "^1.2.0" - } - }, - "node_modules/vue-tsc": { - "version": "1.8.27", - "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-1.8.27.tgz", - "integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@volar/typescript": "~1.11.1", - "@vue/language-core": "1.8.27", - "semver": "^7.5.4" - }, - "bin": { - "vue-tsc": "bin/vue-tsc.js" - }, - "peerDependencies": { - "typescript": "*" - } - }, - "node_modules/vxe-pc-ui": { - "version": "4.4.4", - "resolved": "https://registry.npmmirror.com/vxe-pc-ui/-/vxe-pc-ui-4.4.4.tgz", - "integrity": "sha512-aBXXAsgWOk2fnIjPQfUnUa/e4I36wjy2DWPUttDKZXpwiGptM+X0oqxvpgMSQgcNME4VkHz6NiHIhbnJlN039Q==", - "license": "MIT", - "dependencies": { - "@vxe-ui/core": "^4.0.33" - } - }, - "node_modules/vxe-table": { - "version": "4.11.18", - "resolved": "https://registry.npmmirror.com/vxe-table/-/vxe-table-4.11.18.tgz", - "integrity": "sha512-hd5yBmKfsOwU0X5KCoGrHKKH3rp/GVBJvbW/gcq9EO/pfhezPM4Y3POlRgxVCd7QmbQtZzMFhmZcR17nhumo3g==", - "license": "MIT", - "dependencies": { - "vxe-pc-ui": "^4.4.2" - } - }, - "node_modules/vxe-table-plugin-export-xlsx": { - "version": "4.0.7", - "resolved": "https://registry.npmmirror.com/vxe-table-plugin-export-xlsx/-/vxe-table-plugin-export-xlsx-4.0.7.tgz", - "integrity": "sha512-Auulqo27h3gTZCRFUXO+FN4SSqYx4rtkLCDmvo13uJ8HDh07YvxRkquVLwyTA8hiWVaN0aEUP/VWJLNMLCxgyw==", - "license": "MIT", - "peerDependencies": { - "vxe-table": "^4.5.0" - } - }, - "node_modules/webpack-virtual-modules": { - "version": "0.6.2", - "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", - "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/wildcard": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-1.1.2.tgz", - "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==", - "license": "MIT" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/xe-utils": { - "version": "3.7.3", - "resolved": "https://registry.npmmirror.com/xe-utils/-/xe-utils-3.7.3.tgz", - "integrity": "sha512-GEBQy28TKjiQ2gMIc6wbNvoKWsNeNALh+QNH+cOp+qymXIsNpNrfaXA9U6Uv/ZezBIGUgFW4j2FBHph3Eoj/fQ==", - "license": "MIT" - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "license": "MIT" - }, - "node_modules/zip-stream": { - "version": "4.1.1", - "resolved": "https://registry.npmmirror.com/zip-stream/-/zip-stream-4.1.1.tgz", - "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", - "license": "MIT", - "dependencies": { - "archiver-utils": "^3.0.4", - "compress-commons": "^4.1.2", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/zip-stream/node_modules/archiver-utils": { - "version": "3.0.4", - "resolved": "https://registry.npmmirror.com/archiver-utils/-/archiver-utils-3.0.4.tgz", - "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", - "license": "MIT", - "dependencies": { - "glob": "^7.2.3", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - } - } -} diff --git a/abacus-static-framework/package.json b/abacus-static-framework/package.json deleted file mode 100644 index 63fffe6..0000000 --- a/abacus-static-framework/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "abacus-static-framework", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build:prod": "vite build --mode production &&vue-tsc --noEmit", - "build:stage": "vite build --mode staging &&vue-tsc --noEmit", - "preview": "vite preview" - }, - "dependencies": { - "@element-plus/icons-vue": "^2.3.1", - "@vue-office/docx": "^1.6.0", - "@vue-office/excel": "^1.7.2", - "@vue-office/pdf": "^1.6.5", - "@vueuse/core": "^10.2.1", - "@wangeditor/editor": "^5.1.23", - "@wangeditor/editor-for-vue": "^5.1.12", - "axios": "^1.8.1", - "consola": "^3.2.3", - "crypto-js": "^4.2.0", - "element-china-area-data": "^6.1.0", - "element-plus": "^2.9.5", - "exceljs": "^4.4.0", - "fuse.js": "^6.6.2", - "js-base64": "^3.7.7", - "js-cookie": "^3.0.5", - "markdown-it": "^14.1.0", - "nprogress": "^0.2.0", - "path-browserify": "^1.0.1", - "path-to-regexp": "^6.2.1", - "pinia": "^3.0.1", - "sm-crypto": "^0.3.13", - "vue": "^3.5.13", - "vue-router": "^4.5.0", - "vxe-table": "^4.11.18", - "vxe-table-plugin-export-xlsx": "^4.0.7", - "xe-utils": "^3.7.3" - }, - "devDependencies": { - "@types/node": "^20.3.1", - "@types/nprogress": "^0.2.0", - "@vitejs/plugin-vue": "^5.2.1", - "sass": "^1.63.4", - "typescript": "^5.0.2", - "unplugin-auto-import": "^0.16.4", - "unplugin-vue-components": "^0.25.1", - "vite": "^6.0.0", - "vite-plugin-style-import": "^2.0.0", - "vue-tsc": "^1.4.2" - } -} diff --git a/abacus-static-framework/public/data/data.js b/abacus-static-framework/public/data/data.js deleted file mode 100644 index cf3f68f..0000000 --- a/abacus-static-framework/public/data/data.js +++ /dev/null @@ -1,7 +0,0 @@ -// 全局变量 -// 用于定义通用模拟数据 -let publicData={ - currentSubsystemName:'系统管理',//当前子系统中文名称,与后端菜单子系统名称保持一致 - currentSubsystem:'sms',//当前子系统名称,与后端菜单子系统编码保持一致 - externalOldERPIndex:'/sms/sms/',//子系统动静分离版本页面地址配置,用于兼容历史模块使用 -} \ No newline at end of file diff --git a/abacus-static-framework/public/favicon.ico b/abacus-static-framework/public/favicon.ico deleted file mode 100644 index b0b8cfb..0000000 Binary files a/abacus-static-framework/public/favicon.ico and /dev/null differ diff --git a/abacus-static-framework/public/templete/打印控件.zip b/abacus-static-framework/public/templete/打印控件.zip deleted file mode 100644 index f99adde..0000000 Binary files a/abacus-static-framework/public/templete/打印控件.zip and /dev/null differ diff --git a/abacus-static-framework/src/App.vue b/abacus-static-framework/src/App.vue deleted file mode 100644 index 25ab021..0000000 --- a/abacus-static-framework/src/App.vue +++ /dev/null @@ -1,24 +0,0 @@ - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/assets/img/403.png b/abacus-static-framework/src/assets/img/403.png deleted file mode 100644 index 0c5ec7c..0000000 Binary files a/abacus-static-framework/src/assets/img/403.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/404.png b/abacus-static-framework/src/assets/img/404.png deleted file mode 100644 index 2333586..0000000 Binary files a/abacus-static-framework/src/assets/img/404.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/500.png b/abacus-static-framework/src/assets/img/500.png deleted file mode 100644 index 6f3b6bf..0000000 Binary files a/abacus-static-framework/src/assets/img/500.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/favicon.ico b/abacus-static-framework/src/assets/img/favicon.ico deleted file mode 100644 index b0b8cfb..0000000 Binary files a/abacus-static-framework/src/assets/img/favicon.ico and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/head.jpg b/abacus-static-framework/src/assets/img/head.jpg deleted file mode 100644 index fe8c45b..0000000 Binary files a/abacus-static-framework/src/assets/img/head.jpg and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/fold-back.png b/abacus-static-framework/src/assets/img/icon/fold-back.png deleted file mode 100644 index 1295a55..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/fold-back.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/fold.png b/abacus-static-framework/src/assets/img/icon/fold.png deleted file mode 100644 index 796fb5c..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/fold.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/ic_date.png b/abacus-static-framework/src/assets/img/icon/ic_date.png deleted file mode 100644 index 2d77595..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/ic_date.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/ic_manage.png b/abacus-static-framework/src/assets/img/icon/ic_manage.png deleted file mode 100644 index 641e234..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/ic_manage.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/ic_organizations.png b/abacus-static-framework/src/assets/img/icon/ic_organizations.png deleted file mode 100644 index d9a1477..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/ic_organizations.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/ic_set.png b/abacus-static-framework/src/assets/img/icon/ic_set.png deleted file mode 100644 index 7f8845a..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/ic_set.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/ic_taxcenter.png b/abacus-static-framework/src/assets/img/icon/ic_taxcenter.png deleted file mode 100644 index 1a78e23..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/ic_taxcenter.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/ic_user_bss.png b/abacus-static-framework/src/assets/img/icon/ic_user_bss.png deleted file mode 100644 index 0d53415..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/ic_user_bss.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/ic_user_downloadcenter.png b/abacus-static-framework/src/assets/img/icon/ic_user_downloadcenter.png deleted file mode 100644 index 83059fb..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/ic_user_downloadcenter.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/ic_user_files.png b/abacus-static-framework/src/assets/img/icon/ic_user_files.png deleted file mode 100644 index 964fe2f..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/ic_user_files.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/ic_user_logout.png b/abacus-static-framework/src/assets/img/icon/ic_user_logout.png deleted file mode 100644 index e479b13..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/ic_user_logout.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/ic_user_switch.png b/abacus-static-framework/src/assets/img/icon/ic_user_switch.png deleted file mode 100644 index 0b6292e..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/ic_user_switch.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/ic_user_usercenter.png b/abacus-static-framework/src/assets/img/icon/ic_user_usercenter.png deleted file mode 100644 index c07c741..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/ic_user_usercenter.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/id-card-front.png b/abacus-static-framework/src/assets/img/icon/id-card-front.png deleted file mode 100644 index 757484f..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/id-card-front.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/icon/unfold-back.png b/abacus-static-framework/src/assets/img/icon/unfold-back.png deleted file mode 100644 index 0abc8e9..0000000 Binary files a/abacus-static-framework/src/assets/img/icon/unfold-back.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/id-card-front.png b/abacus-static-framework/src/assets/img/id-card-front.png deleted file mode 100644 index 757484f..0000000 Binary files a/abacus-static-framework/src/assets/img/id-card-front.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/logo.png b/abacus-static-framework/src/assets/img/logo.png deleted file mode 100644 index f590688..0000000 Binary files a/abacus-static-framework/src/assets/img/logo.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/menu/coupon.png b/abacus-static-framework/src/assets/img/menu/coupon.png deleted file mode 100644 index 66d3ba7..0000000 Binary files a/abacus-static-framework/src/assets/img/menu/coupon.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/menu/home.png b/abacus-static-framework/src/assets/img/menu/home.png deleted file mode 100644 index a691d2a..0000000 Binary files a/abacus-static-framework/src/assets/img/menu/home.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/img/menu/member.png b/abacus-static-framework/src/assets/img/menu/member.png deleted file mode 100644 index 171104d..0000000 Binary files a/abacus-static-framework/src/assets/img/menu/member.png and /dev/null differ diff --git a/abacus-static-framework/src/assets/vue.svg b/abacus-static-framework/src/assets/vue.svg deleted file mode 100644 index 770e9d3..0000000 --- a/abacus-static-framework/src/assets/vue.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/abacus-static-framework/src/auto-import.d.ts b/abacus-static-framework/src/auto-import.d.ts deleted file mode 100644 index ef84c82..0000000 --- a/abacus-static-framework/src/auto-import.d.ts +++ /dev/null @@ -1,297 +0,0 @@ -/* eslint-disable */ -/* prettier-ignore */ -// @ts-nocheck -// noinspection JSUnusedGlobalSymbols -// Generated by unplugin-auto-import -export {} -declare global { - const EffectScope: typeof import('vue')['EffectScope'] - const ElMessage: typeof import('element-plus/es')['ElMessage'] - const asyncComputed: typeof import('@vueuse/core')['asyncComputed'] - const autoResetRef: typeof import('@vueuse/core')['autoResetRef'] - const computed: typeof import('vue')['computed'] - const computedAsync: typeof import('@vueuse/core')['computedAsync'] - const computedEager: typeof import('@vueuse/core')['computedEager'] - const computedInject: typeof import('@vueuse/core')['computedInject'] - const computedWithControl: typeof import('@vueuse/core')['computedWithControl'] - const controlledComputed: typeof import('@vueuse/core')['controlledComputed'] - const controlledRef: typeof import('@vueuse/core')['controlledRef'] - const createApp: typeof import('vue')['createApp'] - const createEventHook: typeof import('@vueuse/core')['createEventHook'] - const createGlobalState: typeof import('@vueuse/core')['createGlobalState'] - const createInjectionState: typeof import('@vueuse/core')['createInjectionState'] - const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn'] - const createReusableTemplate: typeof import('@vueuse/core')['createReusableTemplate'] - const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable'] - const createTemplatePromise: typeof import('@vueuse/core')['createTemplatePromise'] - const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn'] - const customRef: typeof import('vue')['customRef'] - const debouncedRef: typeof import('@vueuse/core')['debouncedRef'] - const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch'] - const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] - const defineComponent: typeof import('vue')['defineComponent'] - const eagerComputed: typeof import('@vueuse/core')['eagerComputed'] - const effectScope: typeof import('vue')['effectScope'] - const extendRef: typeof import('@vueuse/core')['extendRef'] - const getCurrentInstance: typeof import('vue')['getCurrentInstance'] - const getCurrentScope: typeof import('vue')['getCurrentScope'] - const h: typeof import('vue')['h'] - const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch'] - const inject: typeof import('vue')['inject'] - const injectLocal: typeof import('@vueuse/core')['injectLocal'] - const isDefined: typeof import('@vueuse/core')['isDefined'] - const isProxy: typeof import('vue')['isProxy'] - const isReactive: typeof import('vue')['isReactive'] - const isReadonly: typeof import('vue')['isReadonly'] - const isRef: typeof import('vue')['isRef'] - const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable'] - const markRaw: typeof import('vue')['markRaw'] - const nextTick: typeof import('vue')['nextTick'] - const onActivated: typeof import('vue')['onActivated'] - const onBeforeMount: typeof import('vue')['onBeforeMount'] - const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave'] - const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate'] - const onBeforeUnmount: typeof import('vue')['onBeforeUnmount'] - const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] - const onClickOutside: typeof import('@vueuse/core')['onClickOutside'] - const onDeactivated: typeof import('vue')['onDeactivated'] - const onErrorCaptured: typeof import('vue')['onErrorCaptured'] - const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke'] - const onLongPress: typeof import('@vueuse/core')['onLongPress'] - const onMounted: typeof import('vue')['onMounted'] - const onRenderTracked: typeof import('vue')['onRenderTracked'] - const onRenderTriggered: typeof import('vue')['onRenderTriggered'] - const onScopeDispose: typeof import('vue')['onScopeDispose'] - const onServerPrefetch: typeof import('vue')['onServerPrefetch'] - const onStartTyping: typeof import('@vueuse/core')['onStartTyping'] - const onUnmounted: typeof import('vue')['onUnmounted'] - const onUpdated: typeof import('vue')['onUpdated'] - const onWatcherCleanup: typeof import('vue')['onWatcherCleanup'] - const pausableWatch: typeof import('@vueuse/core')['pausableWatch'] - const provide: typeof import('vue')['provide'] - const provideLocal: typeof import('@vueuse/core')['provideLocal'] - const reactify: typeof import('@vueuse/core')['reactify'] - const reactifyObject: typeof import('@vueuse/core')['reactifyObject'] - const reactive: typeof import('vue')['reactive'] - const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed'] - const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit'] - const reactivePick: typeof import('@vueuse/core')['reactivePick'] - const readonly: typeof import('vue')['readonly'] - const ref: typeof import('vue')['ref'] - const refAutoReset: typeof import('@vueuse/core')['refAutoReset'] - const refDebounced: typeof import('@vueuse/core')['refDebounced'] - const refDefault: typeof import('@vueuse/core')['refDefault'] - const refThrottled: typeof import('@vueuse/core')['refThrottled'] - const refWithControl: typeof import('@vueuse/core')['refWithControl'] - const resolveComponent: typeof import('vue')['resolveComponent'] - const resolveRef: typeof import('@vueuse/core')['resolveRef'] - const resolveUnref: typeof import('@vueuse/core')['resolveUnref'] - const shallowReactive: typeof import('vue')['shallowReactive'] - const shallowReadonly: typeof import('vue')['shallowReadonly'] - const shallowRef: typeof import('vue')['shallowRef'] - const syncRef: typeof import('@vueuse/core')['syncRef'] - const syncRefs: typeof import('@vueuse/core')['syncRefs'] - const templateRef: typeof import('@vueuse/core')['templateRef'] - const throttledRef: typeof import('@vueuse/core')['throttledRef'] - const throttledWatch: typeof import('@vueuse/core')['throttledWatch'] - const toRaw: typeof import('vue')['toRaw'] - const toReactive: typeof import('@vueuse/core')['toReactive'] - const toRef: typeof import('vue')['toRef'] - const toRefs: typeof import('vue')['toRefs'] - const toValue: typeof import('vue')['toValue'] - const triggerRef: typeof import('vue')['triggerRef'] - const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount'] - const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount'] - const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted'] - const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose'] - const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted'] - const unref: typeof import('vue')['unref'] - const unrefElement: typeof import('@vueuse/core')['unrefElement'] - const until: typeof import('@vueuse/core')['until'] - const useActiveElement: typeof import('@vueuse/core')['useActiveElement'] - const useAnimate: typeof import('@vueuse/core')['useAnimate'] - const useArrayDifference: typeof import('@vueuse/core')['useArrayDifference'] - const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery'] - const useArrayFilter: typeof import('@vueuse/core')['useArrayFilter'] - const useArrayFind: typeof import('@vueuse/core')['useArrayFind'] - const useArrayFindIndex: typeof import('@vueuse/core')['useArrayFindIndex'] - const useArrayFindLast: typeof import('@vueuse/core')['useArrayFindLast'] - const useArrayIncludes: typeof import('@vueuse/core')['useArrayIncludes'] - const useArrayJoin: typeof import('@vueuse/core')['useArrayJoin'] - const useArrayMap: typeof import('@vueuse/core')['useArrayMap'] - const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce'] - const useArraySome: typeof import('@vueuse/core')['useArraySome'] - const useArrayUnique: typeof import('@vueuse/core')['useArrayUnique'] - const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue'] - const useAsyncState: typeof import('@vueuse/core')['useAsyncState'] - const useAttrs: typeof import('vue')['useAttrs'] - const useBase64: typeof import('@vueuse/core')['useBase64'] - const useBattery: typeof import('@vueuse/core')['useBattery'] - const useBluetooth: typeof import('@vueuse/core')['useBluetooth'] - const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints'] - const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel'] - const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation'] - const useCached: typeof import('@vueuse/core')['useCached'] - const useClipboard: typeof import('@vueuse/core')['useClipboard'] - const useClipboardItems: typeof import('@vueuse/core')['useClipboardItems'] - const useCloned: typeof import('@vueuse/core')['useCloned'] - const useColorMode: typeof import('@vueuse/core')['useColorMode'] - const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog'] - const useCounter: typeof import('@vueuse/core')['useCounter'] - const useCssModule: typeof import('vue')['useCssModule'] - const useCssVar: typeof import('@vueuse/core')['useCssVar'] - const useCssVars: typeof import('vue')['useCssVars'] - const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement'] - const useCycleList: typeof import('@vueuse/core')['useCycleList'] - const useDark: typeof import('@vueuse/core')['useDark'] - const useDateFormat: typeof import('@vueuse/core')['useDateFormat'] - const useDebounce: typeof import('@vueuse/core')['useDebounce'] - const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn'] - const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory'] - const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion'] - const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation'] - const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio'] - const useDevicesList: typeof import('@vueuse/core')['useDevicesList'] - const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia'] - const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility'] - const useDraggable: typeof import('@vueuse/core')['useDraggable'] - const useDropZone: typeof import('@vueuse/core')['useDropZone'] - const useElementBounding: typeof import('@vueuse/core')['useElementBounding'] - const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint'] - const useElementHover: typeof import('@vueuse/core')['useElementHover'] - const useElementSize: typeof import('@vueuse/core')['useElementSize'] - const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility'] - const useEventBus: typeof import('@vueuse/core')['useEventBus'] - const useEventListener: typeof import('@vueuse/core')['useEventListener'] - const useEventSource: typeof import('@vueuse/core')['useEventSource'] - const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper'] - const useFavicon: typeof import('@vueuse/core')['useFavicon'] - const useFetch: typeof import('@vueuse/core')['useFetch'] - const useFileDialog: typeof import('@vueuse/core')['useFileDialog'] - const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess'] - const useFocus: typeof import('@vueuse/core')['useFocus'] - const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin'] - const useFps: typeof import('@vueuse/core')['useFps'] - const useFullscreen: typeof import('@vueuse/core')['useFullscreen'] - const useGamepad: typeof import('@vueuse/core')['useGamepad'] - const useGeolocation: typeof import('@vueuse/core')['useGeolocation'] - const useId: typeof import('vue')['useId'] - const useIdle: typeof import('@vueuse/core')['useIdle'] - const useImage: typeof import('@vueuse/core')['useImage'] - const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll'] - const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver'] - const useInterval: typeof import('@vueuse/core')['useInterval'] - const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn'] - const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier'] - const useLastChanged: typeof import('@vueuse/core')['useLastChanged'] - const useLink: typeof import('vue-router')['useLink'] - const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage'] - const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys'] - const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory'] - const useMediaControls: typeof import('@vueuse/core')['useMediaControls'] - const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery'] - const useMemoize: typeof import('@vueuse/core')['useMemoize'] - const useMemory: typeof import('@vueuse/core')['useMemory'] - const useModel: typeof import('vue')['useModel'] - const useMounted: typeof import('@vueuse/core')['useMounted'] - const useMouse: typeof import('@vueuse/core')['useMouse'] - const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement'] - const useMousePressed: typeof import('@vueuse/core')['useMousePressed'] - const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver'] - const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage'] - const useNetwork: typeof import('@vueuse/core')['useNetwork'] - const useNow: typeof import('@vueuse/core')['useNow'] - const useObjectUrl: typeof import('@vueuse/core')['useObjectUrl'] - const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination'] - const useOnline: typeof import('@vueuse/core')['useOnline'] - const usePageLeave: typeof import('@vueuse/core')['usePageLeave'] - const useParallax: typeof import('@vueuse/core')['useParallax'] - const useParentElement: typeof import('@vueuse/core')['useParentElement'] - const usePerformanceObserver: typeof import('@vueuse/core')['usePerformanceObserver'] - const usePermission: typeof import('@vueuse/core')['usePermission'] - const usePointer: typeof import('@vueuse/core')['usePointer'] - const usePointerLock: typeof import('@vueuse/core')['usePointerLock'] - const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe'] - const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme'] - const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast'] - const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark'] - const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages'] - const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion'] - const usePrevious: typeof import('@vueuse/core')['usePrevious'] - const useRafFn: typeof import('@vueuse/core')['useRafFn'] - const useRefHistory: typeof import('@vueuse/core')['useRefHistory'] - const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver'] - const useRoute: typeof import('vue-router')['useRoute'] - const useRouter: typeof import('vue-router')['useRouter'] - const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation'] - const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea'] - const useScriptTag: typeof import('@vueuse/core')['useScriptTag'] - const useScroll: typeof import('@vueuse/core')['useScroll'] - const useScrollLock: typeof import('@vueuse/core')['useScrollLock'] - const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage'] - const useShare: typeof import('@vueuse/core')['useShare'] - const useSlots: typeof import('vue')['useSlots'] - const useSorted: typeof import('@vueuse/core')['useSorted'] - const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition'] - const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis'] - const useStepper: typeof import('@vueuse/core')['useStepper'] - const useStorage: typeof import('@vueuse/core')['useStorage'] - const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync'] - const useStyleTag: typeof import('@vueuse/core')['useStyleTag'] - const useSupported: typeof import('@vueuse/core')['useSupported'] - const useSwipe: typeof import('@vueuse/core')['useSwipe'] - const useTemplateRef: typeof import('vue')['useTemplateRef'] - const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList'] - const useTextDirection: typeof import('@vueuse/core')['useTextDirection'] - const useTextSelection: typeof import('@vueuse/core')['useTextSelection'] - const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize'] - const useThrottle: typeof import('@vueuse/core')['useThrottle'] - const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn'] - const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory'] - const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo'] - const useTimeout: typeof import('@vueuse/core')['useTimeout'] - const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn'] - const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll'] - const useTimestamp: typeof import('@vueuse/core')['useTimestamp'] - const useTitle: typeof import('@vueuse/core')['useTitle'] - const useToNumber: typeof import('@vueuse/core')['useToNumber'] - const useToString: typeof import('@vueuse/core')['useToString'] - const useToggle: typeof import('@vueuse/core')['useToggle'] - const useTransition: typeof import('@vueuse/core')['useTransition'] - const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams'] - const useUserMedia: typeof import('@vueuse/core')['useUserMedia'] - const useVModel: typeof import('@vueuse/core')['useVModel'] - const useVModels: typeof import('@vueuse/core')['useVModels'] - const useVibrate: typeof import('@vueuse/core')['useVibrate'] - const useVirtualList: typeof import('@vueuse/core')['useVirtualList'] - const useWakeLock: typeof import('@vueuse/core')['useWakeLock'] - const useWebNotification: typeof import('@vueuse/core')['useWebNotification'] - const useWebSocket: typeof import('@vueuse/core')['useWebSocket'] - const useWebWorker: typeof import('@vueuse/core')['useWebWorker'] - const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn'] - const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus'] - const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll'] - const useWindowSize: typeof import('@vueuse/core')['useWindowSize'] - const watch: typeof import('vue')['watch'] - const watchArray: typeof import('@vueuse/core')['watchArray'] - const watchAtMost: typeof import('@vueuse/core')['watchAtMost'] - const watchDebounced: typeof import('@vueuse/core')['watchDebounced'] - const watchDeep: typeof import('@vueuse/core')['watchDeep'] - const watchEffect: typeof import('vue')['watchEffect'] - const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable'] - const watchImmediate: typeof import('@vueuse/core')['watchImmediate'] - const watchOnce: typeof import('@vueuse/core')['watchOnce'] - const watchPausable: typeof import('@vueuse/core')['watchPausable'] - const watchPostEffect: typeof import('vue')['watchPostEffect'] - const watchSyncEffect: typeof import('vue')['watchSyncEffect'] - const watchThrottled: typeof import('@vueuse/core')['watchThrottled'] - const watchTriggerable: typeof import('@vueuse/core')['watchTriggerable'] - const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter'] - const whenever: typeof import('@vueuse/core')['whenever'] -} -// for type re-export -declare global { - // @ts-ignore - export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue' - import('vue') -} diff --git a/abacus-static-framework/src/framework/api/acas/index.ts b/abacus-static-framework/src/framework/api/acas/index.ts deleted file mode 100644 index a739a40..0000000 --- a/abacus-static-framework/src/framework/api/acas/index.ts +++ /dev/null @@ -1,112 +0,0 @@ -import request from '@/framework/utils/request'; -import { AxiosPromise } from 'axios'; -import { UserInfo } from './types'; - -function replaceAcasService(url){ - if(publicData.replaceAcasService){ - return url.replace('/acas/','/'+publicData.replaceAcasService+'/') - } - return url -} - - - -/** - * 获取路由列表 - */ -export function listRoutes(params: any = {}) { - return request({ - url: replaceAcasService('/acas/user/allowAccessMenuAndModules'), - method: 'get', - params - }); -} - - -/**获取key */ -export function getKey(params: any = {}) { - return request({ - url:replaceAcasService('/acas/pk'), - method: 'get', - params, - }); -} - - -/**刷新*/ -export function baseRefresh(url:string,data: any = {}) { - return request({ - headers: {'Content-Type': 'application/x-www-form-urlencoded'}, - url:replaceAcasService(url), - method: 'post', - data, - }); -} - -/**退出登录 */ -export function baseLogout(url:string,data: any = {}) { - return request({ - headers: {'Content-Type': 'application/x-www-form-urlencoded'}, - url:replaceAcasService(url), - method: 'post', - data, - }); -} - -/**登录后修改密码 */ -export function baseLoginUpdatePwd(url:string,data: any = {}) { - return request({ - headers: {'Content-Type': 'application/x-www-form-urlencoded'}, - url:replaceAcasService(url), - method: 'post', - data, - }); -} - - -/**获取key */ -export function getEmployee(params: any = {}) { - return request({ - url:replaceAcasService('/acas/employee/getEmployee'), - method: 'get', - params, - }); -} - - -/**获取员工管理业务域*/ -export function getBusinessDomain(params: any = {}) { - return request({ - url: replaceAcasService('/acas/user/loginUserdomain'), - method: 'get', - params - }); -} - -/**获取有权限的子系统*/ -export function getAllowAccessSubsystem(params: any = {}) { - return request({ - url: replaceAcasService('/acas/user/allowAccessSubsystem'), - method: 'get', - params - }); -} - -/**获取员工信息 */ -export function getUsermessage(params: any = {}) { - if (import.meta.env.MODE === 'development'){ - return new Promise((resolve) => { - resolve({"user":{"tenantId":"0000","tenantName":"奥博克","userId":"0","userName":"系统管理员","deptId":"01","deptName":"开发部","avatarUrl":""}}); - }); - }else{ - return request({ - url:'/acas/user/message', - method: 'get', - params, - }); - } - -} - - - diff --git a/abacus-static-framework/src/framework/api/acas/types.ts b/abacus-static-framework/src/framework/api/acas/types.ts deleted file mode 100644 index 1ae05cd..0000000 --- a/abacus-static-framework/src/framework/api/acas/types.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * 登录用户信息 - */ -export interface UserInfo { - dept: any; - employee: any; - roles: any; -} - diff --git a/abacus-static-framework/src/framework/api/sms/index.ts b/abacus-static-framework/src/framework/api/sms/index.ts deleted file mode 100644 index 6e40f53..0000000 --- a/abacus-static-framework/src/framework/api/sms/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import request from '@/framework/utils/request'; - -/**获取异步事件列表 */ -export function queryAsyncEvents(params: any = {}) { - return request({ - url:'/sms/asyncEvent/list', - method: 'get', - params, - }); -} - - - diff --git a/abacus-static-framework/src/framework/components/Breadcrumb/index.vue b/abacus-static-framework/src/framework/components/Breadcrumb/index.vue deleted file mode 100644 index 13d5a84..0000000 --- a/abacus-static-framework/src/framework/components/Breadcrumb/index.vue +++ /dev/null @@ -1,105 +0,0 @@ - - - - - diff --git a/abacus-static-framework/src/framework/components/ErrorMessage/403.vue b/abacus-static-framework/src/framework/components/ErrorMessage/403.vue deleted file mode 100644 index 7dbb240..0000000 --- a/abacus-static-framework/src/framework/components/ErrorMessage/403.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - - - diff --git a/abacus-static-framework/src/framework/components/ErrorMessage/404.vue b/abacus-static-framework/src/framework/components/ErrorMessage/404.vue deleted file mode 100644 index ba7edd2..0000000 --- a/abacus-static-framework/src/framework/components/ErrorMessage/404.vue +++ /dev/null @@ -1,21 +0,0 @@ - - - - - diff --git a/abacus-static-framework/src/framework/components/ErrorMessage/500.vue b/abacus-static-framework/src/framework/components/ErrorMessage/500.vue deleted file mode 100644 index 0429e74..0000000 --- a/abacus-static-framework/src/framework/components/ErrorMessage/500.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - - - diff --git a/abacus-static-framework/src/framework/components/ErrorMessage/index.scss b/abacus-static-framework/src/framework/components/ErrorMessage/index.scss deleted file mode 100644 index 7a788b4..0000000 --- a/abacus-static-framework/src/framework/components/ErrorMessage/index.scss +++ /dev/null @@ -1,32 +0,0 @@ -.not-container { - display: flex; - align-items: center; - justify-content: center; - width: 100%; - height: 100%; - .not-img { - margin-right: 120px; - } - .not-detail { - display: flex; - flex-direction: column; - h2, - h4 { - padding: 0; - margin: 0; - } - h2 { - font-size: 60px; - color: var(--el-text-color-primary); - } - h4 { - margin: 30px 0 20px; - font-size: 19px; - font-weight: normal; - color: var(--el-text-color-regular); - } - .el-button { - width: 100px; - } - } -} diff --git a/abacus-static-framework/src/framework/components/Hamburger/index.vue b/abacus-static-framework/src/framework/components/Hamburger/index.vue deleted file mode 100644 index e70ed47..0000000 --- a/abacus-static-framework/src/framework/components/Hamburger/index.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/components/ImgIcon/index.vue b/abacus-static-framework/src/framework/components/ImgIcon/index.vue deleted file mode 100644 index 8f337ee..0000000 --- a/abacus-static-framework/src/framework/components/ImgIcon/index.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/components/ImportExcel/index.vue b/abacus-static-framework/src/framework/components/ImportExcel/index.vue deleted file mode 100644 index b4b490c..0000000 --- a/abacus-static-framework/src/framework/components/ImportExcel/index.vue +++ /dev/null @@ -1,101 +0,0 @@ - - - - diff --git a/abacus-static-framework/src/framework/components/Pagination/index.vue b/abacus-static-framework/src/framework/components/Pagination/index.vue deleted file mode 100644 index 37f1e05..0000000 --- a/abacus-static-framework/src/framework/components/Pagination/index.vue +++ /dev/null @@ -1,93 +0,0 @@ - - - - - diff --git a/abacus-static-framework/src/framework/components/SearchLocalSelect/index.vue b/abacus-static-framework/src/framework/components/SearchLocalSelect/index.vue deleted file mode 100644 index 1a73375..0000000 --- a/abacus-static-framework/src/framework/components/SearchLocalSelect/index.vue +++ /dev/null @@ -1,93 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/components/SearchRemoteSelect/index.vue b/abacus-static-framework/src/framework/components/SearchRemoteSelect/index.vue deleted file mode 100644 index 73057f2..0000000 --- a/abacus-static-framework/src/framework/components/SearchRemoteSelect/index.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/components/Title/index.vue b/abacus-static-framework/src/framework/components/Title/index.vue deleted file mode 100644 index f045e33..0000000 --- a/abacus-static-framework/src/framework/components/Title/index.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - diff --git a/abacus-static-framework/src/framework/components/standard/AbSection/index.vue b/abacus-static-framework/src/framework/components/standard/AbSection/index.vue deleted file mode 100644 index 32801ef..0000000 --- a/abacus-static-framework/src/framework/components/standard/AbSection/index.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/components/standard/ClickCopy/index.vue b/abacus-static-framework/src/framework/components/standard/ClickCopy/index.vue deleted file mode 100644 index 93d55e5..0000000 --- a/abacus-static-framework/src/framework/components/standard/ClickCopy/index.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/components/standard/FilePreviewDialog/index.vue b/abacus-static-framework/src/framework/components/standard/FilePreviewDialog/index.vue deleted file mode 100644 index e032b3c..0000000 --- a/abacus-static-framework/src/framework/components/standard/FilePreviewDialog/index.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/components/standard/FormDynamic/abForm.vue b/abacus-static-framework/src/framework/components/standard/FormDynamic/abForm.vue deleted file mode 100644 index c84a6a2..0000000 --- a/abacus-static-framework/src/framework/components/standard/FormDynamic/abForm.vue +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/components/standard/FormDynamic/abFormItem.vue b/abacus-static-framework/src/framework/components/standard/FormDynamic/abFormItem.vue deleted file mode 100644 index 5d37589..0000000 --- a/abacus-static-framework/src/framework/components/standard/FormDynamic/abFormItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/components/standard/FormDynamic/abQueryForm.vue b/abacus-static-framework/src/framework/components/standard/FormDynamic/abQueryForm.vue deleted file mode 100644 index 799bef7..0000000 --- a/abacus-static-framework/src/framework/components/standard/FormDynamic/abQueryForm.vue +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/components/standard/ImportExcel/index.vue b/abacus-static-framework/src/framework/components/standard/ImportExcel/index.vue deleted file mode 100644 index 22f8bc2..0000000 --- a/abacus-static-framework/src/framework/components/standard/ImportExcel/index.vue +++ /dev/null @@ -1,152 +0,0 @@ - - - - - diff --git a/abacus-static-framework/src/framework/components/standard/Layout/BottomFloat.vue b/abacus-static-framework/src/framework/components/standard/Layout/BottomFloat.vue deleted file mode 100644 index 297b96f..0000000 --- a/abacus-static-framework/src/framework/components/standard/Layout/BottomFloat.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/components/standard/LogShow/index.vue b/abacus-static-framework/src/framework/components/standard/LogShow/index.vue deleted file mode 100644 index 46079d6..0000000 --- a/abacus-static-framework/src/framework/components/standard/LogShow/index.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - diff --git a/abacus-static-framework/src/framework/components/standard/RealTimeSearchSelect/index.vue b/abacus-static-framework/src/framework/components/standard/RealTimeSearchSelect/index.vue deleted file mode 100644 index ced7a6d..0000000 --- a/abacus-static-framework/src/framework/components/standard/RealTimeSearchSelect/index.vue +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/components/standard/SensitiveText/index.vue b/abacus-static-framework/src/framework/components/standard/SensitiveText/index.vue deleted file mode 100644 index fdd5f4d..0000000 --- a/abacus-static-framework/src/framework/components/standard/SensitiveText/index.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - diff --git a/abacus-static-framework/src/framework/components/standard/Text/index.vue b/abacus-static-framework/src/framework/components/standard/Text/index.vue deleted file mode 100644 index d9c9b34..0000000 --- a/abacus-static-framework/src/framework/components/standard/Text/index.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - diff --git a/abacus-static-framework/src/framework/directives/debounce.ts b/abacus-static-framework/src/framework/directives/debounce.ts deleted file mode 100644 index 7b80ba0..0000000 --- a/abacus-static-framework/src/framework/directives/debounce.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * 防抖:在连续的操作中,无论进行了多长时间,只有某一次的操作后在指定的时间内没有再操作,这一次才被判定有效。 - * 使用: - * 按钮防抖 - * 按钮防抖传参 - */ -import { ObjectDirective } from 'vue' -interface DebounceEl extends HTMLElement { - debounceEvent: () => void -} -// 防抖指令封装 -const debounceDirective: ObjectDirective = { - beforeMount(el: DebounceEl, binding: any) { - let timer: number - let delay: number = 1000 - const keys = Object.keys(binding.modifiers) - if (keys) { - const key: string | undefined = keys.find((key) => key.includes('delay'))?.toString() - const value = (key ?? '').match(/(?<=\[).*?(?=\])/) - if (value) delay = parseInt(value[0]) - } - el.debounceEvent = () => { - clearTimeout(timer) - timer = window.setTimeout(() => { - binding.value() - }, delay) - } - el.addEventListener(binding.arg, el.debounceEvent) - }, - beforeUnmount(el: DebounceEl, binding: any) { - el.removeEventListener(binding.arg, el.debounceEvent) - }, -} - -export default debounceDirective diff --git a/abacus-static-framework/src/framework/directives/index.ts b/abacus-static-framework/src/framework/directives/index.ts deleted file mode 100644 index d4d1acd..0000000 --- a/abacus-static-framework/src/framework/directives/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { App, Directive } from "vue"; -import debounce from "./debounce"; -import throttle from "./throttle"; - -const directivesList: { [key: string]: Directive } = { - debounce, - throttle, -}; - -const directives = { - install: function (app: App) { - Object.keys(directivesList).forEach(key => { - app.directive(key, directivesList[key]); - }); - } -}; - -export default directives; \ No newline at end of file diff --git a/abacus-static-framework/src/framework/directives/throttle.ts b/abacus-static-framework/src/framework/directives/throttle.ts deleted file mode 100644 index 073050e..0000000 --- a/abacus-static-framework/src/framework/directives/throttle.ts +++ /dev/null @@ -1,43 +0,0 @@ - -/** - *节流:规定时间内,只触发一次。比如我们设定500ms,在这个时间内,无论点击按钮多少次,它都只会触发一次。 - * 使用: - * 按钮节流 - * el-button v-throttle:click.delay[2000]="()=>testThrottle('throttle')">按钮节流传参 - * - */ -import { ObjectDirective } from 'vue' - -interface ThrottleEl extends HTMLElement { - throttleEvent: () => void -} - -// 节流指令封装 -const throttleDirective: ObjectDirective = { - beforeMount(el: ThrottleEl, binding: any) { - let throttled = false - let delay: number = 1000 - const keys = Object.keys(binding.modifiers) - if (keys) { - const key: string | undefined = keys.find((key) => key.includes('delay'))?.toString() - const value = (key ?? '').match(/(?<=\[).*?(?=\])/) - if (value) delay = parseInt(value[0]) - } - el.throttleEvent = () => { - if (!throttled) { - binding.value() - throttled = true - setTimeout(() => { - throttled = false - }, delay) - } - } - el.addEventListener(binding.arg, el.throttleEvent) - }, - beforeUnmount(el: ThrottleEl, binding: any) { - el.removeEventListener(binding.arg, el.throttleEvent) - }, -} - -export default throttleDirective - diff --git a/abacus-static-framework/src/framework/hooks/useCopy.ts b/abacus-static-framework/src/framework/hooks/useCopy.ts deleted file mode 100644 index 4ae8ed8..0000000 --- a/abacus-static-framework/src/framework/hooks/useCopy.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { useClipboard } from '@vueuse/core' -const { copy } = useClipboard({ legacy: true }); - -export function useCopy(data: string){ - copy(data) - ElMessage({type: 'success',message: '复制成功' }) -} \ No newline at end of file diff --git a/abacus-static-framework/src/framework/hooks/useCrossPageSelect.ts b/abacus-static-framework/src/framework/hooks/useCrossPageSelect.ts deleted file mode 100644 index 2d4a094..0000000 --- a/abacus-static-framework/src/framework/hooks/useCrossPageSelect.ts +++ /dev/null @@ -1,87 +0,0 @@ -/** - * 跨页全选 - * @param multipleTableRef 多选的表格 - * @param showData 显示的数据 - * @param idKey 选中的id名称 - * @param tableFilterData 过滤掉不能选择数据后的全部数据,如果没有不能选中的数据,则为全部数据 - * @returns checkAll: 跨页全选状态 - * checkedIds 选中的所有行的id - * initTableRowCheckStatus 初始化选中行 - * handlMultipageSelect 跨页全选状态操作 - * handleRowSelect 操作行选中 - * handleAllSelect 操作当前页选中 - */ -export function useCrossPageSelect(multipleTableRef: any, showData: any, idKey: string, tableFilterData: any) { - - const checkAll = ref(false) // 跨页全选转态 - const checkedIds = ref([]) // 选中的ids - - // 初始化行选中状态 - const initTableRowCheckStatus = () => { - nextTick(() => { - showData.value.forEach((item: any) => { - if (checkedIds.value.includes(item[idKey])) { - multipleTableRef.value!.toggleRowSelection(item, true) - return - } - multipleTableRef.value!.toggleRowSelection(item, false) - }) - }) - } - - watch(() => showData.value, () => { - initTableRowCheckStatus() - }) - watch([checkedIds, tableFilterData], ([ids, tableData]) => { - ids.length === tableData.length ? (checkAll.value = true) : (checkAll.value = false) - }, { deep: true }) - - // 跨页全选 - const handlMultipageSelect = (status: boolean) => { - if (status) { - checkedIds.value = tableFilterData.value.map((item: any) => item[idKey]) - // checkedIds.value = tableData.value.filter(val => val.channel == "渠道销售").map(item => item.icapplynum) - } else { - checkedIds.value = [] - } - initTableRowCheckStatus() - } - - // 切换选中行 - const handleRowSelect = (selection: any, row: any) => { - const id = row[idKey] - const item = selection.find((item: any) => item[idKey] === id) - - if (item) { - if (!checkedIds.value.includes(id)) { - checkedIds.value.push(id) - } - return - } - const index = checkedIds.value.indexOf(id) - if (index !== -1) { - checkedIds.value.splice(index, 1) - } - checkAll.value = false - } - // 单页全选 - const handleAllSelect = (selection: any) => { - if (selection.length > 0) { - selection.forEach((item: any) => { - if (!checkedIds.value.includes(item[idKey])) { - checkedIds.value.push(item[idKey]) - } - }); - return - } - showData.value.forEach((item: any) => { - const index = checkedIds.value.indexOf(item[idKey]) - if (index != -1) { - checkedIds.value.splice(index, 1) - } - }); - checkAll.value = false - } - - return { checkAll, checkedIds, initTableRowCheckStatus, handlMultipageSelect, handleRowSelect, handleAllSelect } -} \ No newline at end of file diff --git a/abacus-static-framework/src/framework/hooks/useInTableSearch.ts b/abacus-static-framework/src/framework/hooks/useInTableSearch.ts deleted file mode 100644 index 74d0bfc..0000000 --- a/abacus-static-framework/src/framework/hooks/useInTableSearch.ts +++ /dev/null @@ -1,108 +0,0 @@ - -import { refDebounced } from '@vueuse/core' -import XEUtils from 'xe-utils' - -/** - * 表内检索,用于假分页时进行表内搜索 - * @param tableData 全部数据 - * @param keys 需要检索的key - * @returns 检索后的数据,检索关键词,总数,分页对象 - */ -export function useInTableSearchAndPaging(tableData: any, keys: Array = []){ - - const tableKeyword = ref('') - const debounceTableKeyword = refDebounced(tableKeyword, 500) - const total = ref(0); - const paging = ref({ - page: 1, - pageSize: 10 - }) - - const showData = computed(()=>{ - const filterData = tableData.value.filter((item: any) => { - if (keys.length > 0) { - const values = [] - for (const key in item) { - if (keys.includes(key)) { - values.push(item[key]) - } - } - return values.some(val => String(val).includes(debounceTableKeyword.value)) - } - return Object.values(item).some(val => String(val).includes(debounceTableKeyword.value)) - }) - - const data = filterData.slice((paging.value.page - 1) * paging.value.pageSize, (paging.value.page - 1) * paging.value.pageSize + paging.value.pageSize) - total.value = filterData.length - return data - }) - - return {tableKeyword, showData, total, paging} -} - -/** - * VxeGrid表内检索,用于真分页时进行表内搜索 - * @param filterName 关键字对象 - * @param grid 表格对象 - * @param tableData 全部数据对象 - * @param searchProps 需要检索的key - * @param options 选项,{children: 'children'}是否作为子节点展示 - * @param allTreeExpand 是否展开树形结构子节点 - */ -export function useInVxeTableSearch(filterName:any, grid:any, tableData: any, searchProps: Array = [],options:any,allTreeExpand:boolean=false){ - const filterVal = XEUtils.toValueString(filterName.value).trim().toLowerCase() - const $table = grid.value - if(!$table) - return false - if (filterVal) { - if(searchProps.length==0){ - searchProps=Object.keys(tableData.value[0]) - } - const rest = XEUtils.searchTree(tableData.value, item => searchProps.some(key => String(item[key]).toLowerCase().indexOf(filterVal) > -1), options) - grid.value.loadData(rest) - if(allTreeExpand){ - // 搜索之后默认展开所有子节点 - nextTick(() => { - $table.setAllTreeExpand(true) - }) - } - }else { - $table.loadData(tableData.value) - } -} - -/** - * VxeGrid表内检索,用于真分页时进行表内搜索 - * @param filterName 关键字对象 - * @param grid 表格对象 - * @param tableData 全部数据对象 - * @param searchProps 需要检索的key - * @param options 选项,{children: 'children'}是否作为子节点展示 - * @param allTreeExpand 是否展开树形结构子节点 - */ -export function useInVxeTableSearchAndPageing(filterName:any, grid:any, tableData: any, searchProps: Array = [],options:any,allTreeExpand:boolean=false, - page:number,size:number){ - const filterVal = XEUtils.toValueString(filterName.value).trim().toLowerCase() - const $table = grid.value - if(!$table) - return false - if (filterVal) { - if(searchProps.length==0){ - searchProps=Object.keys(tableData.value[0]) - } - const rest = XEUtils.searchTree(tableData.value, item => searchProps.some(key => String(item[key]).toLowerCase().indexOf(filterVal) > -1), options) - grid.value.loadData(rest.slice((page - 1) * size, page * size))//重新加载表格数据 - if(allTreeExpand){ - // 搜索之后默认展开所有子节点 - nextTick(() => { - $table.setAllTreeExpand(true) - }) - } - }else { - grid.value.loadData(tableData.value.slice((page - 1) * size, page * size)) - } -} - -export function useTableDataPageing(tableData: any,page:number,size:number){ - return tableData.slice((page - 1) * size, page * size) -} \ No newline at end of file diff --git a/abacus-static-framework/src/framework/hooks/useRenderHeader.ts b/abacus-static-framework/src/framework/hooks/useRenderHeader.ts deleted file mode 100644 index aa471e9..0000000 --- a/abacus-static-framework/src/framework/hooks/useRenderHeader.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { h } from 'vue' - -export function useRenderHeader(node: any) { - const { column } = node - let realWidth = 0; - let span = document.createElement('span'); - span.innerText = column.label; - document.body.appendChild(span); - realWidth = span.getBoundingClientRect().width; - column.minWidth = realWidth+16; // 可能还有边距/边框等值,需要根据实际情况加上 - document.body.removeChild(span); - - return h('span', column.label) -} \ No newline at end of file diff --git a/abacus-static-framework/src/framework/hooks/useVxeTableHandle.ts b/abacus-static-framework/src/framework/hooks/useVxeTableHandle.ts deleted file mode 100644 index 2772580..0000000 --- a/abacus-static-framework/src/framework/hooks/useVxeTableHandle.ts +++ /dev/null @@ -1,204 +0,0 @@ -import XEUtils from 'xe-utils' - - -/**表格相关数据查询重置 */ -export async function useTableQueryReload(tableRef:any){ - const params = tableRef.params - if(params&¶ms.tableDataCache) params.tableDataCache=[] //重置表格数据缓存 - if(params&¶ms.filterNameRef) params.filterNameRef='' //重置表内搜索内容 - if(!XEUtils.isUndefined(tableRef.proxyConfig)){ - tableRef.commitProxy('reload') //重置表格相关数据 - } - -} - -/** - * vxe代理请求参数处理 - * @param tableData 表所有数据 - * @param page 第几页 - * @param size 每页多少条 - * @returns - */ -export function useQueryParamsHandle(queryFrom:{},page: any, sorts:any, filters:any){ - const queryParams: any = Object.assign({}, queryFrom) - // 处理分页条件 - if (page) { - queryParams.page = page.currentPage - queryParams.size = page.pageSize - } - // 处理排序条件 - const firstSort = sorts[0] - if (firstSort) { - queryParams.sort = firstSort.field - queryParams.order = firstSort.order - } - // 处理筛选条件 - filters.forEach(({ field, values }) => { - queryParams[field] = values.join(',') - }) - return queryParams -} - -/** - * 数据过滤 - * @param $table 表格引用 - * @param tableData 需要过滤的数据 - * @param filterEvent 过滤成功事件 - * @param resetEvent 重置过滤数据事件 - * @returns - */ -function dataFilter($table:any,tableData:[],filterEvent:undefined,resetEvent:undefined){ - let tableParams=$table.params - const filterVal = XEUtils.toValueString(tableParams.filterNameRef).trim().toLowerCase() - if (filterVal) { - let searchProps=tableParams.searchProps - /**如需要检索的key不存在,则从表格对象中获取全部列字段名 */ - if(XEUtils.isUndefined(searchProps)||searchProps.length==0){ - searchProps=$table.getTableColumn().visibleColumn.map(function(vcolumn) { - return vcolumn.field; - }); - } - let options={children: (XEUtils.isUndefined(tableParams.children)||!tableParams.children)?'no':''} - const filterData = XEUtils.searchTree(tableData, item => searchProps.some(key => String(item[key]).toLowerCase().indexOf(filterVal) > -1), options) - if(!XEUtils.isUndefined(filterEvent)&&'function'===typeof filterEvent){ - filterEvent(filterData) - } - return filterData - }else { - if(!XEUtils.isUndefined(resetEvent)&&'function'===typeof resetEvent){ - resetEvent(tableData) - } - return tableData - } -} - - -/** - * VxeTable表内检索 - * @param tableRef 表格对象 - */ -export function useInVxeTableSearch($table:any){ - let tableParams=$table.params - const filterVal = XEUtils.toValueString(tableParams.filterNameRef).trim().toLowerCase() - if (filterVal) { - let searchProps=tableParams.searchProps - /**如需要检索的key不存在,则从表格对象中获取全部列字段名 */ - if(XEUtils.isUndefined(searchProps)||searchProps.length==0){ - searchProps=$table.getTableColumn().visibleColumn.map(function(vcolumn) { - return vcolumn.field; - }); - } - let options={children: (XEUtils.isUndefined(tableParams.children)||!tableParams.children)?'no':''} - const filterData = XEUtils.searchTree(tableParams.tableDataCache, item => searchProps.some(key => String(item[key]).toLowerCase().indexOf(filterVal) > -1), options) - return filterData - }else { - return tableParams.tableDataCache - } -} - -/** - * VxeGrid表内检索 - * 服务端分页(params.clientPage不配置或者配置为false),不会修改当前分页数据 - * @param tableRef 表格对象 - */ -export function useInVxeGridSearch(tableRef:any){ - const $table = tableRef - - if(!$table) { - console.error('表格对象tableRef不存在'); - return false - } - if(!$table.params) { - console.error('自定义参数配置params不存在'); - return false - } - let tableParams=$table.params - /**客户端分页并且使用了代理配置,直接重新加载表格,通过useQueryAndClientPaging方法执行筛选操作 */ - if(tableParams.clientPage&&!XEUtils.isUndefined($table.proxyConfig)){ - $table.commitProxy('reload') - return; - } - let tableData=[] //默认获取表格data中信息 - if(!XEUtils.isUndefined($table.data)){ - $table.data.forEach(function(o) { - tableData.push(o) - }); - } - if(!XEUtils.isUndefined($table.getProxyInfo())&&null!=$table.getProxyInfo()) - tableData=$table.getProxyInfo().data //从表格代理信息中获取当前全量数据 - /**如tableDataRef不存在,则从表格对象中初始化全量数据-----已从表格代理信息中获取当前全量数据,该逻辑暂不使用*/ - // let tableData=tableParams.tableDataCache //待处理数据 - // if(null==tableData||tableData.length==0){ - // let visibleData=$table.getTableData().visibleData - // tableData=new Array() - // visibleData.forEach(function(v,k) { - // tableData.push(v) - // v.children.forEach(function(cv,ck) { - // tableData.push(cv) - // }); - // }); - // tableParams.tableDataCache=tableData - // } - dataFilter($table,tableData, - function(filterData){ - $table.loadData(filterData) - if(tableParams.allTreeExpand){ - // 搜索之后默认展开所有子节点 - nextTick(() => { - $table.setAllTreeExpand(true) - }) - } - },function(resetData){ - $table.loadData(resetData) - } - ) -} - -/** - * 查询数据,并由客户端分页 - * @param tableRef 表格对象 - * @param page 分页信息 - * @param sorts 排序信息 - * @param requestMethod 执行查询的方法 - * @returns - */ -export async function useQueryAndClientPaging(tableRef:any,page: any, sorts:any, requestMethod:any){ - const $table = tableRef.value - if(!$table) { - console.error('表格对象tableRef不存在'); - return false - } - if(!$table.params) { - console.error('自定义参数配置params不存在'); - return false - } - if(!$table.params.clientPage){ - console.error('自定义参数配置params.clientPage应该设置为true'); - return false - } - let cdata=$table.params.tableDataCache - /**缓存中不存在数据,则发起请求,并初始化缓存 */ - if(cdata.length==0){ - let dataPromise= await requestMethod() - $table.params.tableDataCache=dataPromise - cdata=dataPromise - } - /**排序*/ - cdata=XEUtils.orderBy(cdata, sorts.map((sort:any) => [sort.field, sort.order])) - /**如表内搜索存在关键字,则首先过滤数据 */ - cdata=dataFilter($table,cdata) - return new Promise((resolve) => { - resolve({ - total:cdata.length, - data:cdata.slice((page.currentPage - 1) * page.pageSize, page.currentPage * page.pageSize) - }); - }); -} - - - - - - - - diff --git a/abacus-static-framework/src/framework/layout/components/AppMain.vue b/abacus-static-framework/src/framework/layout/components/AppMain.vue deleted file mode 100644 index 6ed409f..0000000 --- a/abacus-static-framework/src/framework/layout/components/AppMain.vue +++ /dev/null @@ -1,31 +0,0 @@ - - - - - diff --git a/abacus-static-framework/src/framework/layout/components/Header/Center.vue b/abacus-static-framework/src/framework/layout/components/Header/Center.vue deleted file mode 100644 index edab762..0000000 --- a/abacus-static-framework/src/framework/layout/components/Header/Center.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout/components/Header/Left.vue b/abacus-static-framework/src/framework/layout/components/Header/Left.vue deleted file mode 100644 index 5a92d4a..0000000 --- a/abacus-static-framework/src/framework/layout/components/Header/Left.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout/components/Header/Right.vue b/abacus-static-framework/src/framework/layout/components/Header/Right.vue deleted file mode 100644 index 2d0ef49..0000000 --- a/abacus-static-framework/src/framework/layout/components/Header/Right.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout/components/Header/Search.vue b/abacus-static-framework/src/framework/layout/components/Header/Search.vue deleted file mode 100644 index 66b9be3..0000000 --- a/abacus-static-framework/src/framework/layout/components/Header/Search.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout/components/Header/index.vue b/abacus-static-framework/src/framework/layout/components/Header/index.vue deleted file mode 100644 index 285ea2a..0000000 --- a/abacus-static-framework/src/framework/layout/components/Header/index.vue +++ /dev/null @@ -1,39 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout/components/MessageNotify/index.vue b/abacus-static-framework/src/framework/layout/components/MessageNotify/index.vue deleted file mode 100644 index fcda1d6..0000000 --- a/abacus-static-framework/src/framework/layout/components/MessageNotify/index.vue +++ /dev/null @@ -1,126 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout/components/Sidebar/index.vue b/abacus-static-framework/src/framework/layout/components/Sidebar/index.vue deleted file mode 100644 index 7dc0924..0000000 --- a/abacus-static-framework/src/framework/layout/components/Sidebar/index.vue +++ /dev/null @@ -1,126 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout/components/TagsView/ScrollPane.vue b/abacus-static-framework/src/framework/layout/components/TagsView/ScrollPane.vue deleted file mode 100644 index ab447b8..0000000 --- a/abacus-static-framework/src/framework/layout/components/TagsView/ScrollPane.vue +++ /dev/null @@ -1,121 +0,0 @@ - - - - - diff --git a/abacus-static-framework/src/framework/layout/components/TagsView/index.vue b/abacus-static-framework/src/framework/layout/components/TagsView/index.vue deleted file mode 100644 index 223632c..0000000 --- a/abacus-static-framework/src/framework/layout/components/TagsView/index.vue +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - diff --git a/abacus-static-framework/src/framework/layout/index.vue b/abacus-static-framework/src/framework/layout/index.vue deleted file mode 100644 index b58166c..0000000 --- a/abacus-static-framework/src/framework/layout/index.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout1/components/AppMain.vue b/abacus-static-framework/src/framework/layout1/components/AppMain.vue deleted file mode 100644 index e78d3be..0000000 --- a/abacus-static-framework/src/framework/layout1/components/AppMain.vue +++ /dev/null @@ -1,69 +0,0 @@ - - - - - diff --git a/abacus-static-framework/src/framework/layout1/components/Header/Center.vue b/abacus-static-framework/src/framework/layout1/components/Header/Center.vue deleted file mode 100644 index a2904e0..0000000 --- a/abacus-static-framework/src/framework/layout1/components/Header/Center.vue +++ /dev/null @@ -1,56 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout1/components/Header/Left.vue b/abacus-static-framework/src/framework/layout1/components/Header/Left.vue deleted file mode 100644 index 07cb7a2..0000000 --- a/abacus-static-framework/src/framework/layout1/components/Header/Left.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout1/components/Header/Right.vue b/abacus-static-framework/src/framework/layout1/components/Header/Right.vue deleted file mode 100644 index c9dd520..0000000 --- a/abacus-static-framework/src/framework/layout1/components/Header/Right.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout1/components/Header/Search.vue b/abacus-static-framework/src/framework/layout1/components/Header/Search.vue deleted file mode 100644 index ba64c7c..0000000 --- a/abacus-static-framework/src/framework/layout1/components/Header/Search.vue +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout1/components/Header/index.vue b/abacus-static-framework/src/framework/layout1/components/Header/index.vue deleted file mode 100644 index 90b367b..0000000 --- a/abacus-static-framework/src/framework/layout1/components/Header/index.vue +++ /dev/null @@ -1,37 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout1/components/MessageNotify/index.vue b/abacus-static-framework/src/framework/layout1/components/MessageNotify/index.vue deleted file mode 100644 index fcda1d6..0000000 --- a/abacus-static-framework/src/framework/layout1/components/MessageNotify/index.vue +++ /dev/null @@ -1,126 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout1/components/Sidebar/index.vue b/abacus-static-framework/src/framework/layout1/components/Sidebar/index.vue deleted file mode 100644 index 4396fa1..0000000 --- a/abacus-static-framework/src/framework/layout1/components/Sidebar/index.vue +++ /dev/null @@ -1,173 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layout1/components/TagsView/ScrollPane.vue b/abacus-static-framework/src/framework/layout1/components/TagsView/ScrollPane.vue deleted file mode 100644 index ab447b8..0000000 --- a/abacus-static-framework/src/framework/layout1/components/TagsView/ScrollPane.vue +++ /dev/null @@ -1,121 +0,0 @@ - - - - - diff --git a/abacus-static-framework/src/framework/layout1/components/TagsView/index.vue b/abacus-static-framework/src/framework/layout1/components/TagsView/index.vue deleted file mode 100644 index 4c5c6a9..0000000 --- a/abacus-static-framework/src/framework/layout1/components/TagsView/index.vue +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - diff --git a/abacus-static-framework/src/framework/layout1/index.vue b/abacus-static-framework/src/framework/layout1/index.vue deleted file mode 100644 index 7026a3c..0000000 --- a/abacus-static-framework/src/framework/layout1/index.vue +++ /dev/null @@ -1,107 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layoutpublic/DownloadCenter/index.vue b/abacus-static-framework/src/framework/layoutpublic/DownloadCenter/index.vue deleted file mode 100644 index cc4fa8a..0000000 --- a/abacus-static-framework/src/framework/layoutpublic/DownloadCenter/index.vue +++ /dev/null @@ -1,123 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layoutpublic/NewUserDropDown/index.vue b/abacus-static-framework/src/framework/layoutpublic/NewUserDropDown/index.vue deleted file mode 100644 index d96b5cb..0000000 --- a/abacus-static-framework/src/framework/layoutpublic/NewUserDropDown/index.vue +++ /dev/null @@ -1,336 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layoutpublic/PersonalCenter/index.vue b/abacus-static-framework/src/framework/layoutpublic/PersonalCenter/index.vue deleted file mode 100644 index 9882130..0000000 --- a/abacus-static-framework/src/framework/layoutpublic/PersonalCenter/index.vue +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layoutpublic/SubSystemSwitch/index.vue b/abacus-static-framework/src/framework/layoutpublic/SubSystemSwitch/index.vue deleted file mode 100644 index e3b7458..0000000 --- a/abacus-static-framework/src/framework/layoutpublic/SubSystemSwitch/index.vue +++ /dev/null @@ -1,114 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/layoutpublic/WebsiteInfo/index.vue b/abacus-static-framework/src/framework/layoutpublic/WebsiteInfo/index.vue deleted file mode 100644 index 6d4d760..0000000 --- a/abacus-static-framework/src/framework/layoutpublic/WebsiteInfo/index.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - - - \ No newline at end of file diff --git a/abacus-static-framework/src/framework/router/dynamicRouter.ts b/abacus-static-framework/src/framework/router/dynamicRouter.ts deleted file mode 100644 index 50e861b..0000000 --- a/abacus-static-framework/src/framework/router/dynamicRouter.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { dynamicRouter } from "@/subsystem/router/dynamicRouter"; -import pinia from "@/framework/store"; -import {useSettingsStore } from "@/framework/store/modules/settings"; - -const layout=useSettingsStore(pinia).currentLayout - -/**生成动态路由 */ -export const generateDynamicRouter = (menu:any) => { - menu.component=layout - menu.children.forEach(c => { - //c.component=() => import('@/framework/views/ext/index.vue') - }); - return menu -} - -/**获取子系统路由 */ -export const getSubSystemRouter = () => { - dynamicRouter.forEach(o => { - o.component=layout - }); - return dynamicRouter -} - diff --git a/abacus-static-framework/src/framework/router/index.ts b/abacus-static-framework/src/framework/router/index.ts deleted file mode 100644 index f7188c7..0000000 --- a/abacus-static-framework/src/framework/router/index.ts +++ /dev/null @@ -1,30 +0,0 @@ -// src/router/index.ts -import { createRouter, createWebHashHistory, RouteRecordRaw,useRouter } from 'vue-router'; -import { staticRouter, errorRouter } from './staticRouter'; - -/** - * 创建路由 - */ -const router = createRouter({ - history: createWebHashHistory(), - routes: [ ...staticRouter, ...errorRouter] as RouteRecordRaw[], - // 刷新时,滚动条位置还原 - scrollBehavior: () => ({ left: 0, top: 0 }) -}); - -/** - * 重置路由 - */ -export function resetRouter() { - router.replace({ path: '/login' }); - location.reload(); -} - -/** - * 获取当前路由 - */ -export function currentRouter() { - return router.currentRoute -} - -export default router; diff --git a/abacus-static-framework/src/framework/router/staticRouter.ts b/abacus-static-framework/src/framework/router/staticRouter.ts deleted file mode 100644 index d1bd07c..0000000 --- a/abacus-static-framework/src/framework/router/staticRouter.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { RouteRecordRaw } from "vue-router"; -import pinia from "@/framework/store"; -import {useSettingsStore } from "@/framework/store/modules/settings"; - -const layout=useSettingsStore(pinia).currentLayout -/** - * staticRouter (静态路由) - */ -export const staticRouter: RouteRecordRaw[] = [ - { - path: '/redirect', - component: layout, - meta: { hidden: true }, - children: [ - { - path: '/redirect/:path(.*)', - component: () => import('@/framework/views/redirect/index.vue'), - meta: { title: '重定向' }, - } - ] - } -]; - -/** - * errorRouter (错误页面路由) - */ -export const errorRouter = [ - { - path: "/403", - name: "403", - component: () => import("@/framework/components/ErrorMessage/403.vue"), - meta: { - title: "403页面" - } - }, - { - path: "/404", - name: "404", - component: () => import("@/framework/components/ErrorMessage/404.vue"), - meta: { - title: "404页面" - } - }, - { - path: "/500", - name: "500", - component: () => import("@/framework/components/ErrorMessage/500.vue"), - meta: { - title: "500页面" - } - }, - // Resolve refresh page, route warnings - { - path: "/:pathMatch(.*)*", - component: () => import("@/framework/components/ErrorMessage/404.vue") - } -]; diff --git a/abacus-static-framework/src/framework/store/index.ts b/abacus-static-framework/src/framework/store/index.ts deleted file mode 100644 index 1f8292d..0000000 --- a/abacus-static-framework/src/framework/store/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { createPinia } from "pinia"; -// import piniaPluginPersistedstate from "pinia-plugin-persistedstate"; - -// pinia persist -const pinia = createPinia(); -// pinia.use(piniaPluginPersistedstate); - -export default pinia; diff --git a/abacus-static-framework/src/framework/store/modules/app.ts b/abacus-static-framework/src/framework/store/modules/app.ts deleted file mode 100644 index 42049f4..0000000 --- a/abacus-static-framework/src/framework/store/modules/app.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { defineStore } from "pinia"; -// import { useStorage } from "@vueuse/core"; -// import defaultSettings from "@/settings"; - -// 导入 Element Plus 中英文语言包 -// import zhCn from "element-plus/es/locale/lang/zh-cn"; -// import en from "element-plus/es/locale/lang/en"; - -// setup -export const useAppStore = defineStore("app", () => { - // state - // const device = useStorage("device", "desktop"); - // const size = useStorage("size", defaultSettings.size); - // const language = useStorage("language", defaultSettings.language); - - // const sidebarStatus = useStorage("sidebarStatus", "closed"); - const sidebar = reactive({ - moduleNumber: 0, - opened: true, - withoutAnimation: false, - }); - - // /** - // * 根据语言标识读取对应的语言包 - // */ - // const locale = computed(() => { - // if (language?.value == "en") { - // return en; - // } else { - // return zhCn; - // } - // }); - - // actions - function toggleSidebar(withoutAnimation: boolean) { - sidebar.opened = !sidebar.opened; - sidebar.withoutAnimation = withoutAnimation; - // if (sidebar.opened) { - // sidebarStatus.value = "opened"; - // } else { - // sidebarStatus.value = "closed"; - // } - } - - function closeSideBar(withoutAnimation: boolean) { - sidebar.opened = false; - sidebar.withoutAnimation = withoutAnimation; - // sidebarStatus.value = "closed"; - } - - function openSideBar(withoutAnimation: boolean) { - sidebar.opened = true; - sidebar.withoutAnimation = withoutAnimation; - // sidebarStatus.value = "opened"; - } - - // function toggleDevice(val: string) { - // device.value = val; - // } - - // function changeSize(val: string) { - // size.value = val; - // } - /** - * 切换语言 - * - * @param val - */ - // function changeLanguage(val: string) { - // language.value = val; - // } - - return { - // device, - sidebar, - // language, - // locale, - // size, - // toggleDevice, - // changeSize, - // changeLanguage, - toggleSidebar, - closeSideBar, - openSideBar, - }; -}); diff --git a/abacus-static-framework/src/framework/store/modules/permission.ts b/abacus-static-framework/src/framework/store/modules/permission.ts deleted file mode 100644 index cf21cc0..0000000 --- a/abacus-static-framework/src/framework/store/modules/permission.ts +++ /dev/null @@ -1,196 +0,0 @@ -import { RouteRecordRaw } from "vue-router"; -import { defineStore } from "pinia"; -import { getSubSystemRouter,generateDynamicRouter } from "@/framework/router/dynamicRouter"; - -import pinia from "@/framework/store"; -import { listRoutes,getBusinessDomain } from "@/framework/api/acas"; -import { Menu } from "@element-plus/icons-vue"; -import { useSettingsStore } from "@/framework/store/modules/settings"; -import { setCurrentBusinessDomain,getCurrentBusinessDomain } from "@/framework/store/modules/user"; - -interface Menu { - id: string; - name: string; - url: string; - modules: Menu[]; -} - -/** - * 匹配一级菜单路由 - * @param menu 一级菜单 - * @param menuRouter 一级菜单路由 - * @returns - */ -const matchMenu = (menu:Menu,menuRouter: RouteRecordRaw[]) => { - const url = menu.url - let temp = null - for (const route of menuRouter) { - if (url === route.path) { - temp = route - temp.meta.title = menu.name - break - } - } - return temp -} - -/** - * 匹配二级菜单路由 - * @param module 二级菜单 - * @param moduleRouter 二级菜单路由 - * @returns - */ -const matchModule = (module:Menu,moduleRouter: RouteRecordRaw[]) => { - let temp=null; - for (const children of moduleRouter) { - if (module.url === children.path) { - children.meta.id = module.id - children.meta.title = module.name - temp=children; - break - } - } - return temp; -} - -/** - * 创建一级菜单路由 - * @param params - */ -const createMenuRouter = (menu:Menu) => { - if(undefined===menu.modules||menu.modules.length==0) - return null - let menuRouter= { - path: '/'+menu.id, - name: menu.id, - // redirect: '/document/dataDictionary', - meta: {title: menu.name}, - } - let children=[] - menu.modules.forEach(m => { - let externalOldERP=false - if('html'===m.url.substring(m.url.length-4,m.url.length)) - externalOldERP=true - children.push({ - path: m.id, - name: m.id, - meta: { - title: m.name, - external: true, //是否引入外部应用,默认false - externalOldERP: externalOldERP, //外部应用是否是老ERP页面,默认false - externalOldERPIndex: publicData.externalOldERPIndex, //老ERP页面主页面,用于提前加载框架js、css等等 - externalUrl: m.url, //外部应用地址,如果是老ERP页面,地址会是:externalOldERPIndex+externalUrl - } - }) - }); - menuRouter.children=children - menuRouter.redirect=menuRouter.path+'/'+menuRouter.children[0].path - return generateDynamicRouter(menuRouter) -} - - -/** - * 递归过滤有权限的异步(动态)路由 - * - * @param routes 接口返回的异步(动态)路由 - * @param roles 用户角色集合 - * @returns 返回用户有权限的异步(动态)路由 - */ -const filterAsyncRoutes = (menus: Menu[], dynamicRouter: RouteRecordRaw[]) => { - const asyncRoutes: RouteRecordRaw[] = []; - menus.forEach(item => { - let cmenu = matchMenu(item,dynamicRouter) - if (cmenu) { - const children = [] - for (const module of item.modules) { - let cmodule=matchModule(module,cmenu.children) - if(cmodule){ - children.push(cmodule) - } - } - cmenu.children = children - if (cmenu.children.length>0) { - cmenu.redirect = cmenu.path+'/'+children[0].path - asyncRoutes.push(cmenu) - } - }else{ - let newmenu=createMenuRouter(item) - if(null!=newmenu) - asyncRoutes.push(newmenu) - } - }) - const route = dynamicRouter.filter(val => val.path==='/')[0] - route.redirect = asyncRoutes[0] ? asyncRoutes[0].redirect : '/404' - asyncRoutes.unshift(route); - return asyncRoutes; -}; - -// setup -export const usePermissionStore = defineStore("permission", () => { - // state - const routes = ref([]); - - // actions - function setRoutes(newRoutes: RouteRecordRaw[]) { - routes.value = getSubSystemRouter().concat(newRoutes); - } - - /** - * 获取并设置当前业务域 - * @returns - */ - function setAndGetBusinessDomain() { - return new Promise((resolve, reject) => { - getBusinessDomain().then((data: any) => { - if(data.length>0){ - let cbd=getCurrentBusinessDomain(); - for (const bd of data) { - if(bd.defstatus&&1===bd.defstatus&&!cbd.id) - setCurrentBusinessDomain(bd) - } - } - resolve(data); - }).catch((error) => { - reject(error); - }); - }); - } - - /** - * 生成动态路由 - * - * @param roles 用户角色集合 - * @returns - */ - function generateRoutes(dynamicRouter: RouteRecordRaw[]) { - return new Promise((resolve, reject) => { - //使用外部本地菜单配置 - if(publicData.extLocalRouter&&publicData.extLocalRouter.length>0){ - const accessedRoutes = filterAsyncRoutes(publicData.extLocalRouter, dynamicRouter); - setRoutes(accessedRoutes); - resolve(accessedRoutes); - }else{ //接口获取授权路由 - let params={subsystem:publicData.currentSubsystem} - const settingsStore = useSettingsStore(pinia); - if(settingsStore.backendServices[publicData.currentSubsystem]) - params.subsystem=settingsStore.backendServices[publicData.currentSubsystem] - listRoutes(params).then(data => { - const menus = data.filter((item: Menu) => item.modules.length>0) - // 根据角色获取有访问权限的路由 - const accessedRoutes = filterAsyncRoutes(menus, dynamicRouter); - setRoutes(accessedRoutes); - resolve(accessedRoutes); - }).catch((error) => { - reject(error); - }); - } - }); - } - routes.value = getSubSystemRouter() - return { routes, setRoutes, generateRoutes,setAndGetBusinessDomain }; -}); - -// 非setup -export function usePermissionStoreHook() { - return usePermissionStore(pinia); -} diff --git a/abacus-static-framework/src/framework/store/modules/routes.ts b/abacus-static-framework/src/framework/store/modules/routes.ts deleted file mode 100644 index 279ba1e..0000000 --- a/abacus-static-framework/src/framework/store/modules/routes.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { defineStore } from 'pinia' -import { ref, reactive, computed } from 'vue' - - -export const useRoutesStore = defineStore('routes', () => { - const hasRoutes = ref(false) - const routes = reactive([]) - - // const getSubRoutes = computed((path: string) => routes.find((item: any) => { - // console.log('哈哈', path); - - // if (item.path === path) { - // return item.children - // } - // })); - - return { hasRoutes, routes } -}) \ No newline at end of file diff --git a/abacus-static-framework/src/framework/store/modules/settings.ts b/abacus-static-framework/src/framework/store/modules/settings.ts deleted file mode 100644 index 9d80fe4..0000000 --- a/abacus-static-framework/src/framework/store/modules/settings.ts +++ /dev/null @@ -1,201 +0,0 @@ -import { defineStore } from "pinia"; -import { getAssetsImages } from '@/framework/utils/index' -export const Layout = () => import('@/framework/layout/index.vue');//顶部菜单布局 -export const Layout1 = () => import('@/framework/layout1/index.vue');//顶部一级菜单、左侧二级菜单局部 - -declare var window: any -/** - * 菜单配色 - * navrbarBackgroundColor(顶部导航栏背景颜色) - * menuFontTextColor(默认菜单名称颜色) - * activeMenuFontTextColor(活动菜单名称颜色)#2467e8 - * - * */ - -const layoutColorBlue={navrbarBackgroundColor:'#428bca',menuFontTextColor:'#ffffff',activeMenuFontTextColor:'#ffffff',activeMenuBackgroundColor:'#5FA8E7', - userBackgroundColor:'#3399CC',userChooseColor:'#5FA8E7',systemChooseColor:'#5FA8E7',} -const layoutColorDarkBlue={navrbarBackgroundColor:'#071635',menuFontTextColor:'#ffffff',activeMenuFontTextColor:'#4D7FE0',activeMenuBackgroundColor:'', - userBackgroundColor:'#10234A',userChooseColor:'rgba(36,103,232,0.2)',systemChooseColor:'#0D2758'} -//菜单布局处理 -const layoutHandle = (realSetting:object,currentLayout:string) => { - if('layout'===currentLayout){ - realSetting.currentLayout = Layout - } -} -//菜单配色处理 -const layoutColorHandle = (realSetting:object,currentLayoutColor:string) => { - if('DarkBlue'===currentLayoutColor){ - realSetting.currentLayoutColor.value = layoutColorDarkBlue - } -} - - -/**获取自定义配置 */ -const getCustConfig = (realSetting:object) => { - if(!publicData.extConfigName) return; - let extConfig=window[publicData.extConfigName] - if(!extConfig||typeof extConfig !== "object") return; - for (let key in realSetting) { - if(extConfig[key]!==undefined){ - if('currentLayout'===key){ - layoutHandle(realSetting,extConfig[key]) - }else if('currentLayoutColor'===key){ - layoutColorHandle(realSetting,extConfig[key]) - }else - realSetting[key].value =extConfig[key] - } - } -} -/**获取默认配置 */ -const getDefaultConfig = (realSetting:object) => { - if (window.frameBaseConfig) { - if(window.frameBaseConfig.tokenKey!==undefined){ - realSetting.tokenKey.value =window.frameBaseConfig.tokenKey - } - if(window.frameBaseConfig.loginResultKey!==undefined){ - realSetting.loginResultKey.value =window.frameBaseConfig.loginResultKey - } - if(window.frameBaseConfig.currentLayout!==undefined){ - if('layout'===window.frameBaseConfig.currentLayout){ - realSetting.currentLayout = Layout - } - } - if(window.frameBaseConfig.currentLayoutColor!==undefined){ - if('DarkBlue'===window.frameBaseConfig.currentLayoutColor){ - realSetting.currentLayoutColor.value = layoutColorDarkBlue - } - } - - if(window.frameBaseConfig.backendServices!==undefined){ - realSetting.backendServices.value =window.frameBaseConfig.backendServices - } - if(window.frameBaseConfig.logoutRemoveToken!==undefined){ - realSetting.logoutRemoveToken.value =window.frameBaseConfig.logoutRemoveToken - } - if(window.frameBaseConfig.loginAddress!==undefined){ - realSetting.loginAddress.value =window.frameBaseConfig.loginAddress - } - if(window.frameBaseConfig.skipLoginAddressTime!==undefined){ - realSetting.skipLoginAddressTime.value =window.frameBaseConfig.skipLoginAddressTime - } - if(window.frameBaseConfig.loginType!==undefined){ - realSetting.loginType.value =window.frameBaseConfig.loginType - } - if(window.frameBaseConfig.navrbarBackgroundColor!==undefined){ - realSetting.navrbarBackgroundColor.value =window.frameBaseConfig.navrbarBackgroundColor - } - if(window.frameBaseConfig.menuFontTextColor!==undefined){ - realSetting.menuFontTextColor.value =window.frameBaseConfig.menuFontTextColor - } - if(window.frameBaseConfig.activeMenuFontTextColor!==undefined){ - realSetting.activeMenuFontTextColor.value =window.frameBaseConfig.activeMenuFontTextColor - } - if(window.frameBaseConfig.showLogo!==undefined){ - realSetting.showLogo.value =window.frameBaseConfig.showLogo - } - if(window.frameBaseConfig.logoAddress!==undefined){ - realSetting.logoAddress.value =window.frameBaseConfig.logoAddress - } - if(window.frameBaseConfig.headAddress!==undefined){ - realSetting.headAddress.value =window.frameBaseConfig.headAddress - } - if(window.frameBaseConfig.showSubSystemTags!==undefined){ - realSetting.showSubSystemTags.value =window.frameBaseConfig.showSubSystemTags - } - if(window.frameBaseConfig.showPersonalCenter!==undefined){ - realSetting.showPersonalCenter.value =window.frameBaseConfig.showPersonalCenter - } - if(window.frameBaseConfig.showDownloadCenter!==undefined){ - realSetting.showDownloadCenter.value =window.frameBaseConfig.showDownloadCenter - } - if(window.frameBaseConfig.showMessageNotify!==undefined){ - realSetting.showMessageNotify.value =window.frameBaseConfig.showMessageNotify - } - if(window.frameBaseConfig.tagsView!==undefined){ - realSetting.tagsView.value =window.frameBaseConfig.tagsView - } - if(window.frameBaseConfig.fixedHeader!==undefined){ - realSetting.fixedHeader.value =window.frameBaseConfig.fixedHeader - } - if(window.frameBaseConfig.fixedTags!==undefined){ - realSetting.fixedTags.value =window.frameBaseConfig.fixedTags - } - if(window.frameBaseConfig.maxTags!==undefined){ - realSetting.maxTags.value =window.frameBaseConfig.maxTags - } - if(window.frameBaseConfig.extModuleSendToken!==undefined){ - realSetting.extModuleSendToken.value =window.frameBaseConfig.extModuleSendToken - } - if(window.frameBaseConfig.websiteInfo!==undefined){ - realSetting.websiteInfo.value =window.frameBaseConfig.websiteInfo - } - } -} - -export const useSettingsStore = defineStore("setting", () => { - //令牌key - const tokenKey=ref('abacus_emp_token') - //登录信息key - const loginResultKey=ref('abacus_login_result' ) - //菜单布局类型 - let currentLayout = Layout1 - //菜单配色类型 layoutColorDarkBlue - const currentLayoutColor=ref(layoutColorBlue) - //后台服务配置{"acas":"example"} - const backendServices=ref({}) - //退出登录是否清理登录令牌 - const logoutRemoveToken = ref(false); - //应用登录地址 - const loginAddress = ref('/abacus/index.html'); - //跳转登录页面延迟时间 - const skipLoginAddressTime = ref(3000); - //登录类型相关配置,acas员工登录默认放第一个 - const loginType = ref([{"id":"employee","name":"员工","prefixUrl":"/acas/user"}]); - //顶部导航栏背景颜色 - const navrbarBackgroundColor = ref('#071635'); - //默认菜单名称颜色 - const menuFontTextColor=ref('#ffffff'); - //活动菜单名称颜色 - const activeMenuFontTextColor=ref('#4D7FE0'); - //是否显示顶部导航栏左侧logo - const showLogo = ref(true); - //左侧logo地址 - const logoAddress= ref(''); - //头像地址 - const headAddress= ref(getAssetsImages('head.jpg')); - //是否显示顶部导航栏左侧子系统选择功能 - const showSubSystemTags = ref(true); - //是否显示个人中心 - const showPersonalCenter = ref(true); - //是否显示下载中心 - const showDownloadCenter = ref(true); - //是否显示顶部导航栏右侧消息通知 - const showMessageNotify = ref(false); - //是否显示多标签导航 - const tagsView = ref(true); - //是否固定头部 - const fixedHeader = ref(true); - //是否固定tags - const fixedTags = ref(true); - //最大标签数量,默认8,配置0代表不限制 - const maxTags = ref(8); - //外部模块发送Token - const extModuleSendToken = ref(false); - //网站相关信息配置 - const websiteInfo=ref({ - //是否显示 - show:false, - //排列规则,不配置:左;center:居中;end:靠右 - //justify:"center", - //党政机关事业单位网站标识 - //conacUrl:{"url":"","size":"30"}, - //其他信息,版本信息、导航与链接等等 - //otherInfo:[{"name":"xxx公司","url":""},{"name":"示例名称","url":"完整链接地址,不配置,则不跳转"},], - }) - - const realSetting={tokenKey,loginResultKey,currentLayout, backendServices, logoutRemoveToken, loginAddress, skipLoginAddressTime, loginType, navrbarBackgroundColor, menuFontTextColor, activeMenuFontTextColor, showLogo, logoAddress, headAddress, showSubSystemTags,showPersonalCenter,showDownloadCenter, showMessageNotify,tagsView,fixedHeader,fixedTags,maxTags,extModuleSendToken,currentLayoutColor,websiteInfo} - getDefaultConfig(realSetting) - getCustConfig(realSetting) - return realSetting - -}); diff --git a/abacus-static-framework/src/framework/store/modules/tagsView.ts b/abacus-static-framework/src/framework/store/modules/tagsView.ts deleted file mode 100644 index 9bfc82c..0000000 --- a/abacus-static-framework/src/framework/store/modules/tagsView.ts +++ /dev/null @@ -1,260 +0,0 @@ -import { defineStore } from "pinia"; -import { RouteLocationNormalized } from "vue-router"; -import { useSettingsStore } from "@/framework/store/modules/settings"; -import { removeSlashes } from "@/framework/utils/standard/dataHandleUtil"; - -export interface TagView extends Partial { - title?: string; -} - -// setup -export const useTagsViewStore = defineStore("tagsView", () => { - // state - const visitedViews = ref([]); - const cachedViews = ref([]); - const externalViews=reactive(new Set()); - const settingsStore = useSettingsStore(); - - // actions - function addVisitedView(view: TagView) { - if (visitedViews.value.some((v) => v.path === view.path)) return; - - if(settingsStore.maxTags===visitedViews.value.length){ - visitedViews.value.shift() - } - if (view.meta && view.meta.affix) { - visitedViews.value.unshift( - Object.assign({}, view, { - title: view.meta?.title || "no-name", - }) - ); - } else { - visitedViews.value.push( - Object.assign({}, view, { - title: view.meta?.title || "no-name", - }) - ); - } - } - - function findExternalViewsByPrefix(prefix: String) { - for (const view of externalViews) { - if (view.startsWith(prefix)) { - return view - } - } - return null - } - - function delExternalViews(view: TagView) { - let url=view.meta.externalUrl - if(view.meta.externalOldERP){ - url = "/"+removeSlashes(view.meta.externalOldERPIndex)+'/vindex.html?mUrl=' - +"/"+removeSlashes(view.meta.externalOldERPIndex)+"/"+removeSlashes(view.meta.externalUrl) as string; - let oldErpUrl=findExternalViewsByPrefix(url); - if(oldErpUrl){ - url=oldErpUrl; - } - } - return new Promise((resolve) => { - externalViews.delete(url) - resolve([...externalViews]); - }); - } - - function addCachedView(view: TagView) { - const viewName = view.name as string; - if (cachedViews.value.includes(viewName)) return; - if (view.meta?.keepAlive) { - cachedViews.value.push(viewName); - } - } - - function delVisitedView(view: TagView) { - return new Promise((resolve) => { - for (const [i, v] of visitedViews.value.entries()) { - if (v.path === view.path) { - visitedViews.value.splice(i, 1); - break; - } - } - resolve([...visitedViews.value]); - }); - } - function delCachedViewByName(name: String) { - return new Promise((resolve) => { - const index = cachedViews.value.indexOf(name); - index > -1 && cachedViews.value.splice(index, 1); - resolve([...cachedViews.value]); - }); - } - function delCachedView(view: TagView) { - const viewName = view.name as string; - return new Promise((resolve) => { - const index = cachedViews.value.indexOf(viewName); - index > -1 && cachedViews.value.splice(index, 1); - resolve([...cachedViews.value]); - }); - } - - function delOtherVisitedViews(view: TagView) { - return new Promise((resolve) => { - visitedViews.value = visitedViews.value.filter((v) => { - return v.meta?.affix || v.path === view.path; - }); - resolve([...visitedViews.value]); - }); - } - - function delOtherCachedViews(view: TagView) { - const viewName = view.name as string; - return new Promise((resolve) => { - const index = cachedViews.value.indexOf(viewName); - if (index > -1) { - cachedViews.value = cachedViews.value.slice(index, index + 1); - } else { - // if index = -1, there is no cached tags - cachedViews.value = []; - } - resolve([...cachedViews.value]); - }); - } - - function updateVisitedView(view: TagView) { - for (let v of visitedViews.value) { - if (v.path === view.path) { - v = Object.assign(v, view); - break; - } - } - } - - function addView(view: TagView) { - addVisitedView(view); - addCachedView(view); - } - - function delView(view: TagView) { - return new Promise((resolve) => { - delVisitedView(view); - delCachedView(view); - resolve({ - visitedViews: [...visitedViews.value], - cachedViews: [...cachedViews.value], - }); - }); - } - - function delOtherViews(view: TagView) { - return new Promise((resolve) => { - delOtherVisitedViews(view); - delOtherCachedViews(view); - resolve({ - visitedViews: [...visitedViews.value], - cachedViews: [...cachedViews.value], - }); - }); - } - - function delLeftViews(view: TagView) { - return new Promise((resolve) => { - const currIndex = visitedViews.value.findIndex( - (v) => v.path === view.path - ); - if (currIndex === -1) { - return; - } - visitedViews.value = visitedViews.value.filter((item, index) => { - // affix:true 固定tag,例如“首页” - if (index >= currIndex || (item.meta && item.meta.affix)) { - return true; - } - - const cacheIndex = cachedViews.value.indexOf(item.name as string); - if (cacheIndex > -1) { - cachedViews.value.splice(cacheIndex, 1); - } - return false; - }); - resolve({ - visitedViews: [...visitedViews.value], - }); - }); - } - function delRightViews(view: TagView) { - return new Promise((resolve) => { - const currIndex = visitedViews.value.findIndex( - (v) => v.path === view.path - ); - if (currIndex === -1) { - return; - } - visitedViews.value = visitedViews.value.filter((item, index) => { - // affix:true 固定tag,例如“首页” - if (index <= currIndex || (item.meta && item.meta.affix)) { - return true; - } - - const cacheIndex = cachedViews.value.indexOf(item.name as string); - if (cacheIndex > -1) { - cachedViews.value.splice(cacheIndex, 1); - } - return false; - }); - resolve({ - visitedViews: [...visitedViews.value], - }); - }); - } - - function delAllViews() { - return new Promise((resolve) => { - const affixTags = visitedViews.value.filter((tag) => tag.meta?.affix); - visitedViews.value = affixTags; - cachedViews.value = []; - resolve({ - visitedViews: [...visitedViews.value], - cachedViews: [...cachedViews.value], - }); - }); - } - - function delAllVisitedViews() { - return new Promise((resolve) => { - const affixTags = visitedViews.value.filter((tag) => tag.meta?.affix); - visitedViews.value = affixTags; - resolve([...visitedViews.value]); - }); - } - - function delAllCachedViews() { - return new Promise((resolve) => { - cachedViews.value = []; - resolve([...cachedViews.value]); - }); - } - - return { - visitedViews, - cachedViews, - externalViews, - addVisitedView, - addCachedView, - delVisitedView, - delCachedView, - delCachedViewByName, - delOtherVisitedViews, - delOtherCachedViews, - updateVisitedView, - addView, - delView, - delOtherViews, - delLeftViews, - delRightViews, - delAllViews, - delAllVisitedViews, - delAllCachedViews, - delExternalViews, - findExternalViewsByPrefix, - }; -}); diff --git a/abacus-static-framework/src/framework/store/modules/user.ts b/abacus-static-framework/src/framework/store/modules/user.ts deleted file mode 100644 index 656b6ae..0000000 --- a/abacus-static-framework/src/framework/store/modules/user.ts +++ /dev/null @@ -1,199 +0,0 @@ -import { defineStore } from "pinia"; -import pinia from "@/framework/store"; -import Cookies from 'js-cookie' -import { ref } from "vue"; -import { useSettingsStore } from "@/framework/store/modules/settings"; -import {currentRouter} from "@/framework/router"; -import { getUsermessage } from '@/framework/api/acas/index' - -const settingsStore = useSettingsStore(pinia); -const USER_KEY='abacus_user'; -const TOKEN_KEY=settingsStore.tokenKey -const BUSINESS_DOMAIN_KEY='abacus_business_domain' - -/**开发环境初始化 */ -function devDataInit(){ - if (import.meta.env.MODE === 'development'){ - const expires = new Date(new Date() * 1 + 86400000); - Cookies.set(TOKEN_KEY, JSON.stringify({"access_token":"666666","refresh_token":"666666","user_type":"employee","scope":"scope","token_type":"token_type","expires_dt":expires.getTime()}), { expires: expires }); - Cookies.set(USER_KEY, "0", { expires: expires }); - } -} - -/**设置当前业务域 */ -export function setCurrentBusinessDomain(businessDomain:Object){ - sessionStorage.setItem(BUSINESS_DOMAIN_KEY, JSON.stringify(businessDomain)) - return businessDomain -} -/**获取当前业务域 */ -export function getCurrentBusinessDomain(){ - let obj=JSON.parse(sessionStorage.getItem(BUSINESS_DOMAIN_KEY)) - if(null===obj||undefined===obj) return {} - return obj -} -/**获取令牌Header信息 */ -export function getTokenHeader(){ - const obj = Cookies.get(TOKEN_KEY); - if (obj) { - return {'Authorization':'Bearer '+JSON.parse(obj).access_token} - } - return null -} - - -/**获取Header公共参数 */ -function getHeaderCommonParam(){ - let commonParam={} - /**获取菜单、模块名称 */ - const cr=currentRouter() - if(undefined!==cr.value.matched){ - if(undefined!==cr.value.matched[0]){ - commonParam.menuName=encodeURI(cr.value.matched[0].meta.title) - } - if(undefined!==cr.value.matched[1]){ - commonParam.moduleName=encodeURI(cr.value.matched[1].meta.title) - } - } - /**获取业务域 */ - const cbd=getCurrentBusinessDomain() - if(undefined!==cbd.id){ - commonParam.businessDomain=cbd.id - } - if(undefined!==cbd.id){ - commonParam.businessDomainName=encodeURI(cbd.name) - } - - return JSON.stringify(commonParam) -} - -/**获取所有需要发送给后端的header信息 */ -export function getAllHeader(){ - const header = getTokenHeader(); - header.commonParam=getHeaderCommonParam(); - return header -} - -/**获取令牌 */ -export function getToken(){ - let obj = Cookies.get(TOKEN_KEY); - if (obj) { - obj=JSON.parse(obj) - if('string'===typeof obj){ - obj=JSON.parse(obj) - } - return obj - } - return null -} -/**删除令牌 */ -export function removeToken(){ - Cookies.remove(TOKEN_KEY) - Cookies.remove(USER_KEY) -} -/**设置令牌 */ -export function setToken(token){ - const exp=token.expires_in*1-10;//提前10秒过期,保证前端存储token先于后台token过期 - const expires = new Date(new Date() * 1 + exp * 1000); - token.expires_dt=expires.getTime() - delete token.expires_in - Cookies.set(TOKEN_KEY, JSON.stringify(token), { expires: expires }) - return token -} -/**用户变化检查 */ -const userChangeCheck=setInterval(function(){ - let userId=Cookies.get(USER_KEY); - let currentUserId=useUserStoreHook().userId; - if(userId&¤tUserId!=userId){ - location.reload(); - } -},5000); - -export const useUserStore = defineStore("user", () => { - devDataInit() - // state - const tenantId = ref(''); - const tenantName = ref(''); - const userId = ref(''); - const userName = ref(''); - const dept = ref(''); - const deptName = ref(''); - const avatarUrl=ref('') - const token = ref(''); - const refreshToken = ref(''); - const tokenExpiredTime = ref(0); - - function handleInfo(alr){ - let userInfo=null; - if(undefined!==alr&&null!==alr&&undefined!==alr.user&&null!==alr.user){ - tenantId.value = alr.user.tenantId; - tenantName.value = alr.user.tenantName; - userId.value = alr.user.userId; - userName.value = alr.user.userName; - dept.value = alr.user.deptId; - deptName.value = alr.user.deptName; - avatarUrl.value=alr.user.avatarUrl; - userInfo={userId:userId.value,userName:userName.value,dept:dept.value,deptName:deptName.value,avatarUrl:avatarUrl} - }else{ - console.error("无登录用户信息") - userInfo={userId:'',userName:'',dept:'',deptName:'',avatarUrl:''} - } - if(!userInfo.avatarUrl.value){ - userInfo.avatarUrl.value=settingsStore.headAddress - } - } - - // 获取登录用户信息 - async function getInfo() { - let userInfo=null; - await getUsermessage().then((data: any) => { - userInfo=handleInfo(data); - }); - return new Promise((resolve, reject) => { - resolve(userInfo); - }); -} - -// 注销 -function logout() { - if(settingsStore.logoutRemoveToken){ - removeToken(); - } - resetToken(); - window.close();//先尝试关闭标签页 - //不能关闭标签页,跳转登录页面 - window.location.href = settingsStore.loginAddress -} - -// 重置 -function resetToken() { - token.value = ""; - tenantId.value = ""; - tenantName.value = ""; - userId.value = ""; - userName.value = ""; - avatarUrl.value=""; - dept.value = ''; - token.value = ''; -} -return { - tenantId, - tenantName, - userId, - userName, - dept, - deptName, - avatarUrl, - token, - refreshToken, - tokenExpiredTime, - - getInfo, - logout, - resetToken, -}; -}); - -// 非setup -export function useUserStoreHook() { - return useUserStore(pinia); -} diff --git a/abacus-static-framework/src/framework/styles/base.scss b/abacus-static-framework/src/framework/styles/base.scss deleted file mode 100644 index 498256a..0000000 --- a/abacus-static-framework/src/framework/styles/base.scss +++ /dev/null @@ -1,114 +0,0 @@ - -// 自定义class样式 - -// 1-80(可以等于80)之间的偶数(双数) -// 能被5除尽的1-80之间的数,如5,10,15,35等 -// 定义内外边距,历遍1-80 -@for $i from 0 through 80 { - - // 能被5除尽的数只要双数和 - @if $i % 2==0 or $i % 5==0 { - - // 得出:ab-margin-30或者ab-m-30 - .ab-margin-#{$i}, - .ab-m-#{$i} { - margin: $i + px !important; - } - - // 得出:ab-padding-30或者ab-p-30 - .ab-padding-#{$i}, - .ab-p-#{$i} { - padding: $i + px !important; - } - - @each $short, - $long in l left, - t top, - r right, - b bottom { - - // 缩写版,结果如: ab-m-l-30 - // 定义外边距 - .ab-m-#{$short}-#{$i} { - margin-#{$long}: $i + px !important; - } - - // 定义内边距 - .ab-p-#{$short}-#{$i} { - padding-#{$long}: $i + px !important; - } - - // 完整版,结果如:ab-margin-left-30 - // 定义外边距 - .ab-margin-#{$long}-#{$i} { - margin-#{$long}: $i + px !important; - } - - // 定义内边距 - .ab-padding-#{$long}-#{$i} { - padding-#{$long}: $i + px !important; - } - } - } -} -// 字体加粗 -.ab-font-bold { - font-weight: 600; -} -// 字体居左 -.ab-text-left { - text-align: left; -} -// 字体居中 -.ab-text-center { - text-align: center; -} -// 字体居右 -.ab-text-right { - text-align: right; -} - -/* start--文本行数限制--start */ -.ab-line-1 { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} - -.ab-line-2 { - -webkit-line-clamp: 2; -} - -.ab-line-3 { - -webkit-line-clamp: 3; -} - -.ab-line-4 { - -webkit-line-clamp: 4; -} - -.ab-line-5 { - -webkit-line-clamp: 5; -} - -.ab-line-2, .ab-line-3, .ab-line-4, .ab-line-5 { - overflow: hidden; - word-break: break-all; - text-overflow: ellipsis; - display: -webkit-box; // 弹性伸缩盒 - -webkit-box-orient: vertical; // 设置伸缩盒子元素排列方式 -} -/* end--文本行数限制--end */ - -// 鼠标手指样式 -.ab-cursor-pointer:hover{ - cursor: pointer; -} - -// 基础边框弧度 -.ab-border-radius-base{ - border-radius: 16px; -} -.ab-b-r-base{ - border-radius: 16px; -} \ No newline at end of file diff --git a/abacus-static-framework/src/framework/styles/config/elmentplus-reset-abacus.scss b/abacus-static-framework/src/framework/styles/config/elmentplus-reset-abacus.scss deleted file mode 100644 index d922b5f..0000000 --- a/abacus-static-framework/src/framework/styles/config/elmentplus-reset-abacus.scss +++ /dev/null @@ -1,44 +0,0 @@ -// 覆盖主题色 -:root { -} - -.el-descriptions__title::before { - content: "| "; - font-weight: 900; - color: var(--el-color-primary); -} -.el-descriptions__header{ - background-color: #fafafa; -} - - - -/*vxetable相关样式*/ -//解决可拖拽列不对齐问题 -.vxe-header--column{ - line-height:0 !important; -} -//去掉表头拖拽竖线 -.vxe-cell--col-resizable::before { - background-color:#fff !important; -} -//去掉表头 -.vxe-cell{ - padding: 0 !important; -} -//标题栏row样式 -.ab-vxetable-header-row{ - background-color: #fff; -} -//标题栏cell样式 -.ab-vxetable-header-cell{ - //padding: 1px 0 !important; - //height: 38px; - color: #555 !important; - border-top: 1px solid #E4E7ED; -} -//内容row样式 -.ab-vxetable-row{ - height: 38px; -} - diff --git a/abacus-static-framework/src/framework/styles/config/elmentplus-reset-hz.scss b/abacus-static-framework/src/framework/styles/config/elmentplus-reset-hz.scss deleted file mode 100644 index b24cb92..0000000 --- a/abacus-static-framework/src/framework/styles/config/elmentplus-reset-hz.scss +++ /dev/null @@ -1,74 +0,0 @@ -// 覆盖主题色 -:root { - --el-color-primary: #2467E8; - // --el-menu-active-color: green; - // --active-color: green; - } - - //修改弹出框样式 - .el-dialog{ - border-radius: 10px !important; - } - - // 修改框架抽屉样式 - .el-drawer__header{ - border-bottom: 1px solid #e4e7ed; - padding-bottom: 10px !important; - margin-bottom: 0 !important; - } - .el-descriptions__title::before { - content: "| "; - font-weight: 900; - color: var(--el-color-primary); - } - .el-descriptions__header{ - background-color: #fafafa; - } - - // 修改框架input样式 - .el-input__wrapper{ - background: #F2F4F7 !important; - border-radius: 10px !important; - box-shadow: none !important; - } - - - // 修改框架button样式 - .el-button{ - border-radius: 10px !important; - } - - /*vxetable相关样式修改*/ - //解决可拖拽列不对齐问题 - .vxe-header--column{ - line-height:0 !important; - } - //去掉表头拖拽竖线 - .vxe-cell--col-resizable::before { - background-color:#fff !important; - } - //去掉表头 - .vxe-cell{ - padding: 0 !important; - height: 40px; - } - //标题栏row样式 - .ab-vxetable-header-row{ - padding-top: 12px; - background-color: #fff; - } - //标题栏cell样式 - .ab-vxetable-header-cell{ - border-top: 1px solid #E4E7ED; - color: #555 !important; - font-size: 14px; - font-weight: 400; - font-family: Microsoft YaHei UI, Microsoft YaHei UI; - } - //内容row样式 - .ab-vxetable-row{ - height: 56px; - color: #222; - font-size: 14px; - } - diff --git a/abacus-static-framework/src/framework/styles/config/style-abacus.scss b/abacus-static-framework/src/framework/styles/config/style-abacus.scss deleted file mode 100644 index 9e05c9e..0000000 --- a/abacus-static-framework/src/framework/styles/config/style-abacus.scss +++ /dev/null @@ -1,30 +0,0 @@ - - -.form-container { - padding: 16px 12px 0 0px; - margin-top: 8px; - background-color: #fff; - position: relative; - - .more-filter{ - position: absolute; - right: 0; - top: 0; - z-index: 5; - font-size: 13px; - display: flex; - align-items: center; - padding: 6px 12px; - background-color: #EAF0FD; - color: #2467E8; - cursor: pointer; - user-select: none; - } - -} - -.table-container{ - padding: 12px 20px; - margin-top: 8px; - background-color: #fff; -} \ No newline at end of file diff --git a/abacus-static-framework/src/framework/styles/config/style-hz.scss b/abacus-static-framework/src/framework/styles/config/style-hz.scss deleted file mode 100644 index c369503..0000000 --- a/abacus-static-framework/src/framework/styles/config/style-hz.scss +++ /dev/null @@ -1,63 +0,0 @@ -// APP容器样式 -.app-main-content-container{ - border-top-left-radius: 24px; - border-top-right-radius: 24px; -} -// 侧边栏样式 -.sidebar-container{ - border-radius: 16px; - .el-menu-item{ - border-radius: 12px; - } - .el-menu-item:hover{ - border-radius: 12px; - } - .el-menu-item.is-active{ - border-radius: 12px; - } -} - -// 多标签页样式 -.tags-view-container{ - border-radius: 16px; - - .tags-item{ - border-radius: 12px; - } -} - -.form-container { - padding: 16px 12px 0 0px; - margin-top: 16px; - background-color: #fff; - border-radius: 16px; - position: relative; - .el-tag{ - background-color: #fff; - } - - .more-filter{ - position: absolute; - right: 0; - top: 0; - z-index: 5; - font-size: 13px; - display: flex; - align-items: center; - padding: 6px 12px; - background-color: #EAF0FD; - border-bottom-left-radius: 10px; - border-top-right-radius: 16px; - color: #2467E8; - cursor: pointer; - user-select: none; - } - -} - -.table-container{ - padding: 12px 20px; - margin-top: 8px; - border-radius: 16px; - background-color: #fff; -} \ No newline at end of file diff --git a/abacus-static-framework/src/framework/styles/index.scss b/abacus-static-framework/src/framework/styles/index.scss deleted file mode 100644 index 4da178e..0000000 --- a/abacus-static-framework/src/framework/styles/index.scss +++ /dev/null @@ -1,21 +0,0 @@ -@use "./base"; -@use "./variables"; -@use "./reset"; - - -.app-container { - position: relative; - overflow: hidden; - background-color: #f4f4f4; - // padding: 16px; - padding-bottom: 0; - - - - -} - - - - - diff --git a/abacus-static-framework/src/framework/styles/reset.scss b/abacus-static-framework/src/framework/styles/reset.scss deleted file mode 100644 index ee3164f..0000000 --- a/abacus-static-framework/src/framework/styles/reset.scss +++ /dev/null @@ -1,94 +0,0 @@ -*, -::before, -::after { - box-sizing: border-box; - border-color: currentcolor; - border-style: solid; - border-width: 0; -} - -#app { - width: 100%; - height: 100%; -} - -html { - box-sizing: border-box; - width: 100%; - height: 100%; - line-height: 1.5; - tab-size: 4; - text-size-adjust: 100%; -} - -body { - width: 100%; - height: 100%; - margin: 0; - font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", - "Microsoft YaHei", "微软雅黑", Arial, sans-serif; - line-height: inherit; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - text-rendering: optimizelegibility; -} - -a { - color: inherit; - text-decoration: inherit; -} - -img, -svg { - display: inline-block; -} - -svg { - vertical-align: -0.15em; //因icon大小被设置为和字体大小一致,而span等标签的下边缘会和字体的基线对齐,故需设置一个往下的偏移比例,来纠正视觉上的未对齐效果 -} - -ul, -li { - padding: 0; - margin: 0; - list-style: none; -} - -*, -*::before, -*::after { - box-sizing: inherit; -} - -a, -a:focus, -a:hover { - color: inherit; - text-decoration: none; - cursor: pointer; -} - -a:focus, -a:active, -div:focus { - outline: none; -} - - -/* 去掉input尾部上下小箭头 start */ -input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{ - -webkit-appearance: none !important; - -moz-appearance: none !important; - -o-appearance: none !important; - -ms-appearance: none !important; - appearance: none !important; - margin: 0; -} -input[type="number"]{ - -webkit-appearance:textfield; - -moz-appearance:textfield; - -o-appearance:textfield; - -ms-appearance:textfield; - appearance:textfield; -} -/* 去掉input尾部上下小箭头 end */ diff --git a/abacus-static-framework/src/framework/styles/variables.module.scss b/abacus-static-framework/src/framework/styles/variables.module.scss deleted file mode 100644 index 769947b..0000000 --- a/abacus-static-framework/src/framework/styles/variables.module.scss +++ /dev/null @@ -1,4 +0,0 @@ -:export { - sideBarWidth: $sideBarWidth; - sideBarHideWidth: $sideBarHideWidth; -} \ No newline at end of file diff --git a/abacus-static-framework/src/framework/styles/variables.scss b/abacus-static-framework/src/framework/styles/variables.scss deleted file mode 100644 index be5cd57..0000000 --- a/abacus-static-framework/src/framework/styles/variables.scss +++ /dev/null @@ -1,6 +0,0 @@ -$bg-color:red; - -// 侧边栏展开的宽度 -$sideBarWidth: 216px; -$sideBarHideWidth: 64px; - diff --git a/abacus-static-framework/src/framework/types/env.d.ts b/abacus-static-framework/src/framework/types/env.d.ts deleted file mode 100644 index 18fd4b0..0000000 --- a/abacus-static-framework/src/framework/types/env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -declare module "*.vue" { - import { DefineComponent } from "vue" - const component: DefineComponent<{}, {}, any> - export default component - } \ No newline at end of file diff --git a/abacus-static-framework/src/framework/types/global.d.ts b/abacus-static-framework/src/framework/types/global.d.ts deleted file mode 100644 index 43c3a94..0000000 --- a/abacus-static-framework/src/framework/types/global.d.ts +++ /dev/null @@ -1,68 +0,0 @@ -declare global { - - /** - * VxeTable自定义参数 - */ - interface VxeTableParam { - clientPage?:boolean; //是否客户端分页 - filterNameRef?:any; //表内搜索引用 - tableDataCache?:any;//表格数据缓存 - searchProps?: Array;//表内需要检索列的key - children?: boolean;//树形表格场景,表内搜索筛选后的数据,是否作为子节点展示,默认否 - allTreeExpand?: boolean;//树形表格场景,表内搜索筛选后的数据,是否自动展开子节点,默认否 - } - - /** - * 分页查询参数 - */ - interface PageQuery { - pageNum: number; - pageSize: number; - } - - /** - * 分页响应对象 - */ - interface PageResult { - /** - * 数据列表 - */ - list: T; - /** - * 数据总数 - */ - total: number; - } - - /** - * 弹窗属性 - */ - interface DialogOption { - /** - * 弹窗标题 - */ - title?: string; - /** - * 是否显示 - */ - visible: boolean; - } - /** - * 组件数据源 - */ - interface OptionType { - /** - * 值 - */ - value: number; - /** - * 文本 - */ - label: string; - /** - * 子列表 - */ - children?: OptionType[]; - } -} -export {}; diff --git a/abacus-static-framework/src/framework/utils/excel.ts b/abacus-static-framework/src/framework/utils/excel.ts deleted file mode 100644 index 8f61bbb..0000000 --- a/abacus-static-framework/src/framework/utils/excel.ts +++ /dev/null @@ -1,345 +0,0 @@ -import ExcelJS from 'exceljs' - -// 导入参数数据类型 -export interface importExcelType { - // 第 i 张工作表 - i?: number; - // 表格表头字段数组 - header: readonly any[]; -} - -// 导出参数数据类型 -export interface exportExcelType { - // 数据 - data: { [key: string]: any }[]; - // 文件名 - name: string; - // 表头字段 - header: string[]; - // 表头字段对应中文 - customHeader: string[]; - // 工作表名 - sheetName?: string; - // 标题 - title?: string; - // 小标题 - subTitle?: string; - // 工作表保护密码 - password?: string; - // 对齐方式 - alignment?: Partial; - // 合并单元格 - mergeList?: mergeListType[]; - // 标题样式 - titleStyle?: Partial; - // 小标题样式 - subTitleStyle?: Partial; - // 表头样式 - headerStyle?: Partial; - // 单元格统一样式 - cellStyle?: Partial; -} - -// 合并单元格数据类型 -export interface mergeListType { - startRow: number; - startColumn: number; - endRow: number; - endColumn: number; -} - -// exceljs相关方法 -export class Excel { - blob?: Blob; // 导入的blob文件 - worksheet?: ExcelJS.Worksheet; // 当前工作表 - header: string[]; // 表头字段数组 - constructor(blob?: Blob) { - this.blob = blob; - this.worksheet = undefined; - this.header = []; - } - // blob转ArrayBuffer(用于后续生成文件数据) - private readFile(): Promise { - return new Promise((resolve, reject) => { - let reader = new FileReader(); - if (!this.blob) { - reject('上传文件异常!'); - } else { - reader.readAsArrayBuffer(this.blob); - reader.onload = (ev) => { - resolve(ev.target!.result as ArrayBuffer); - }; - } - - }); - } - // 导入excel文件获取workbook(workbook属性方法参考exceljs文档) - public async getWorkBook(): Promise { - let buffer = await this.readFile(); - const workbook = new ExcelJS.Workbook(); - return await workbook.xlsx.load(buffer); - } - - // 获取第i张工作表 i 工作表序号 - public async getWorkSheet(i: number = 0): Promise { - const workbook = await this.getWorkBook(); - return workbook.getWorksheet(i); - } - - - // 将 excel 第i张工作表的数据转为对象数据 - // {Promise[]>}传入表头作为字段的对象数组(每个元素对象对应每一行) - public async importExcel(options: importExcelType): Promise[]> { - const { i = 1, header } = options; - const workbook = await this.getWorkBook(); - const worksheet = workbook.getWorksheet(i); - // excel导入后返回的数组 - const excelList: Record<(typeof header)[number], string>[] = []; - worksheet.getSheetValues().filter(temp => !!temp?.length).forEach(item => { - // 移除空行 - // 移除每行首个空元素 - (item as string[]).shift(); - // 定义临时对象存储每一行内容 - let tempObj: Record<(typeof header)[number], string> = {}; - (item as string[]).forEach((item2, index2) => { - tempObj[header[index2]] = item2; - }) - excelList.push(tempObj); - }) - return excelList - } - - // 导出excel,参数信息参考exceljs - // data 数据 - // name 文件名 - // header 表头字段 - // customHeader 表头字段对应中文 - // sheetName 工作表名 - // title 标题 - // subTitle 副标题(日期) - // password 冻结表格密码 - // mergeList 合并单元格数组 - // titleStyle 标题样式(按需补充方法) - // subTitleStyle 小标题样式(按需补充方法) - // headerStyle 表头字段样式(按需补充方法) - // cellStyle 单元格样式(按需补充方法) - - public async exportExcel(options: exportExcelType): Promise { - const { - data, - name, - header, - customHeader, - sheetName = 'sheet1', - title = '', - subTitle = '', - password = '', - mergeList = [], - titleStyle, - subTitleStyle, - headerStyle, - cellStyle } = options; - // 创建工作簿 - const workbook = new ExcelJS.Workbook(); - workbook.creator = '侃侃'; - workbook.created = new Date(); - // 添加sheet - this.worksheet = workbook.addWorksheet(sheetName, { properties: { tabColor: { argb: 'FF00FF00' } } }); - this.header = header; - // 表头行序号 - let headerRowId = 1; - if (!!title) headerRowId++; - if (!!subTitle) headerRowId++; - // 插入单元格数据 - this.setCells(data, customHeader, cellStyle); - // 插入大标题 - this.getTitle(title, titleStyle); - // 插入小标题 - this.getSubTitle(subTitle, subTitleStyle); - // 处理表头 - this.setHeaderStyle(headerRowId, data, headerStyle); - // 更多处理 - this.handleDealExcel(password, mergeList, headerRowId); - // 导出excel(此处也可用file-saver将blob导出到excel文件 fs.saveAs(blob, name+'.xlsx');) - workbook.xlsx.writeBuffer().then((data) => { - let blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); - const a = document.createElement('a'); - a.href = URL.createObjectURL(blob); - a.download = name + '.xlsx'; - document.body.appendChild(a); - a.click(); - document.body.removeChild(a); - window.URL.revokeObjectURL(a.href); - }); - } - - // 合并单元格数组 - // merge1 需要合并的行/列起止对象数组1 - // 例:[{ startRow: 1, endRow: 1},{ startRow: 10, endRow: 10}] - // merge2 需要合并的列/行起止对象数组2 - // 例:[{ startColumn: 1, endColumn: 2 }] - // mergeArr 合并后数组 - // 例:[{ startRow: 1, endRow: 1, startColumn: 1, endColumn: 2},{ startRow: 10, endRow: 10, startColumn: 1, endColumn: 2}] - public merge(merge1: Partial[], merge2: Partial[]): mergeListType[] { - const mergeArr: any[] = []; - merge1.forEach(item1 => { - mergeArr.push(...merge2.map(item2 => { - return { ...item2, ...item1 }; - })) - }) - return mergeArr; - } - - // 单元格数据处理 - // data 表格数据 - // customHeader 表头中文字段 - - private setCells(data: exportExcelType['data'], customHeader: string[], style?: Partial): void { - // 设置列,插入中文表头 - const column: Partial[] = []; - this.header.forEach((item, index) => { - column.push({ - header: customHeader[index], - key: item, - width: style?.width || 25, - }) - }) - this.worksheet!.columns = column; - // 设置行,添加数据 - this.worksheet?.addRows(data); - // 设置行高 - this.worksheet?.eachRow({ includeEmpty: true }, (row, rowNumber) => { - row.height = style?.height || 20; - }) - // 获取每一列数据,再依次对齐 - this.worksheet!.columns.forEach(column => { - column.alignment = style?.alignment || { vertical: 'middle', horizontal: 'center', wrapText: true } - }) - } - - // 添加大标题 - // title 标题 - // style 标题样式 - private getTitle(title: string, style?: Partial): void { - if (!!title) { - // 插入标题 - this.worksheet?.spliceRows(1, 0, [title]); - this.worksheet?.mergeCells(1, 1, 1, this.header.length); - // 调整标题样式 - const titleRow = this.worksheet!.getRow(1); - // 高度 - titleRow.height = style?.height || 40; - // 字体设置 - titleRow.font = style?.font || { - size: 20, - bold: true - } - // 背景色 - titleRow.fill = style?.fill || { - bgColor: { - 'argb': 'FFFFFF00' - }, - type: 'pattern', - pattern: 'none' - } - // 对齐方式 - titleRow.alignment = style?.alignment || { - horizontal: "center", - vertical: "middle" - }; - } - } - - // 添加小标题 - // subTitle 标题 - // style 小标题样式 - - private getSubTitle(subTitle: string, style?: Partial): void { - if (!!subTitle) { - this.worksheet?.spliceRows(2, 0, [subTitle]); - this.worksheet?.mergeCells(2, 1, 2, this.header.length); - // 调整标题样式 - const subtitleRow = this.worksheet!.getRow(2); - // 高度 - subtitleRow.height = style?.height || 20; - // 字体设置 - subtitleRow.font = style?.font || { - size: 14, - } - // 背景色 - subtitleRow.fill = style?.fill || { - bgColor: { - 'argb': 'FFFFFF00' - }, - type: 'pattern', - pattern: 'none' - } - // 对齐方式 - subtitleRow.alignment = style?.alignment || { - horizontal: "right", - vertical: "middle" - }; - } - } - - // 设置表头样式 - // num 表头在第几行 - // data 总数据 - // style 表头样式 - - private setHeaderStyle(num: number, data: any, style?: Partial): void { - if(undefined===style) - return - // 自动筛选器 - this.worksheet!.autoFilter = { - from: { - row: num, - column: 1 - }, - to: { - row: data.length, - column: this.header.length - } - } - // 给表头添加背景色 - let headerRow = this.worksheet!.getRow(num); - headerRow!.height = style?.height || 30; - // 通过 cell 设置背景色,更精准 - headerRow?.eachCell((cell) => { - cell.fill = style?.fill || { - type: 'pattern', - pattern: 'solid', - fgColor: { argb: 'dde0e7' }, - } - cell.font = style?.font || { - size: 12 - } - }) - } - - // 其他内容处理 - // password 密码 - // mergeList 合并行列数组 - // headerRowId 表头行序号 - - private handleDealExcel(password: string, mergeList: mergeListType[], headerRowId: number) { - // 添加工作表保护 - if (!!password) { - this.worksheet?.protect(password, { - autoFilter: true, - selectLockedCells: false, - }); - } - // 合并单元格 - mergeList.forEach(item => { - // 行数为表格数据所在行行数+表头行序号headerRowId - const startRow = item.startRow + headerRowId; - const endRow = item.endRow + headerRowId; - this.worksheet?.mergeCells(startRow, item.startColumn, endRow, item.endColumn); - }) - // 冻结前几行 - this.worksheet!.views = [ - { state: 'frozen', xSplit: 0, ySplit: headerRowId } - ]; - } -} \ No newline at end of file diff --git a/abacus-static-framework/src/framework/utils/index.ts b/abacus-static-framework/src/framework/utils/index.ts deleted file mode 100644 index 33b5c69..0000000 --- a/abacus-static-framework/src/framework/utils/index.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** -* 获取本地图 -* @param name // 文件名 如 doc.png -* @returns {*|string} -*/ -export function getAssetsImages(name: string, path: string = '') { - return new URL(`/src/assets/img${path}/${name}`, import.meta.url).href; -} - -/** - * 是否外部路径 - * @param {string} path - * @returns {Boolean} - */ -export function isExternal(path: string) { - const isExternal = /^(https?:|http?:|mailto:|tel:)/.test(path); - return isExternal; -} - -/** - * - * @param value - * @param data - * @returns - */ -export function formatLabel(value: string | number, data: Array