diff --git a/.editorconfig b/.editorconfig
index ddcefeb..0e24323 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -13,4 +13,4 @@ insert_final_newline = true # 始终在文件末尾插入一个新行
[*.md] # 表示仅 md 文件适用以下规则
max_line_length = off
-trim_trailing_whitespace = false
+trim_trailing_whitespace = false
\ No newline at end of file
diff --git a/.env b/.env
new file mode 100644
index 0000000..6b0fdd0
--- /dev/null
+++ b/.env
@@ -0,0 +1,17 @@
+# port
+VITE_PORT = 5173
+
+# 标题
+VITE_APP_TITLE = 'Vue-Admin'
+
+# open 运行 npm run dev 时自动打开浏览器
+VITE_OPEN = true
+
+# 是否生成包预览文件
+VITE_REPORT = false
+
+# 是否开启gzip压缩
+VITE_BUILD_GZIP = false
+
+# 是否删除生产环境 console
+VITE_DROP_CONSOLE = true
diff --git a/.env.development b/.env.development
new file mode 100644
index 0000000..3db7fa8
--- /dev/null
+++ b/.env.development
@@ -0,0 +1,11 @@
+# 本地环境
+NODE_ENV = 'development'
+
+# 开发环境跨域代理,可以配置多个,请注意不要换行
+# VITE_PROXY=[["/api","http://localhost:3000"]]
+# VITE_PROXY = [["/appApi","http://localhost:3000"],["/upload","http://localhost:3000/upload"]]
+
+# 本地环境接口地址
+# 如果没有跨域问题,直接在这里配置即可
+VITE_APP_BASE_API = 'http://192.168.1.116:8080'
+# VITE_APP_BASE_API = 'https://3lp9319797lh.vicp.fun'
diff --git a/.env.production b/.env.production
new file mode 100644
index 0000000..bd96e6e
--- /dev/null
+++ b/.env.production
@@ -0,0 +1,12 @@
+# 线上环境
+NODE_ENV = "production"
+
+# 线上环境接口地址
+VITE_APP_BASE_API = '/api'
+
+# 是否启用 gzip 或 brotli 压缩打包,如果需要多个压缩规则,可以使用 “,” 分隔
+# Optional: gzip | brotli | none
+VITE_BUILD_COMPRESS = none
+
+# 打包压缩后是否删除源文件
+VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false
diff --git a/.eslintrc.js b/.eslintrc.js
index 09e62f2..a7a4f5b 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,31 +1,22 @@
module.exports = {
- root: true,
env: {
browser: true,
es2021: true,
node: true,
},
- // 指定如何解析语法
- parser: 'vue-eslint-parser',
- // 优先级低于 parse 的语法解析配置
- parserOptions: {
- parser: '@typescript-eslint/parser',
- ecmaVersion: 'latest',
- sourceType: 'module',
- },
- // 继承某些已有的规则
extends: [
'plugin:vue/vue3-essential',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended', // 添加 prettier 插件
],
- plugins: ['vue', '@typescript-eslint', 'import', 'prettier', 'simple-import-sort'],
- overrides: [
- {
- files: ['*.ts', '*.tsx'],
- parser: '@typescript-eslint/parser',
- },
- ],
+ parser: 'vue-eslint-parser',
+ overrides: [],
+ parserOptions: {
+ ecmaVersion: 'latest',
+ parser: '@typescript-eslint/parser',
+ sourceType: 'module',
+ },
+ plugins: ['vue', '@typescript-eslint', 'simple-import-sort'],
rules: {
'@typescript-eslint/ban-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
diff --git a/.husky/commit-msg b/.husky/commit-msg
index 1a089f4..5e563eb 100755
--- a/.husky/commit-msg
+++ b/.husky/commit-msg
@@ -1,4 +1,4 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
-npx --no-install commitlint --edit $1
+npx --no-install commitlint --edit
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..f7e39e6
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,9 @@
+/dist/*
+.local
+.output.js
+/node_modules/**
+
+**/*.svg
+**/*.sh
+
+/public/*
diff --git a/.stylelintrc.js b/.stylelintrc.js
index 8819814..e4626ad 100644
--- a/.stylelintrc.js
+++ b/.stylelintrc.js
@@ -4,9 +4,9 @@ module.exports = {
root: true,
// 继承某些已有的规则
extends: [
- 'stylelint-config-html/vue', // 配置 vue 中 template 样式格式化
+ 'stylelint-config-standard', // 配置 stylelint 拓展插件
'stylelint-config-standard-scss', // 配置 stylelint scss 插件
- 'stylelint-config-recommended-vue/scss', // 配置 vue 中 scss 样式格式化
+ 'stylelint-config-html/vue', // 配置 vue 中 template 样式格式化
'stylelint-config-recess-order', // 配置 stylelint css 属性书写顺序插件,
],
overrides: [
diff --git a/LICENSE b/LICENSE
index 5e07f00..a3f68cc 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2023 三棵杨树
+Copyright (c) 2022 三棵杨树
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index d657d3d..7667f1d 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,157 @@
-# BoatPlatform
+
+ vue-template-admin
+
+使用 Vue3 + TS 构建的后台管理系统
-船货信息智慧共享服务平台
+
+
+
+
+
+
+---
+
+## 简介
+
+🚀🚀🚀 **vue-template-admin** 使用了最新的`Vue3.2`、`Vite4`、`Pinia2`、`Typescript`等主流技术开发,集成 `Dark Mode`(暗黑)模式,并且持久化保存,集成了代码规范检查工具`Eslint`、`Prettier`、`Stylelint`。另外本项目还封装了一些常用组件、Hooks、指令、动态路由、按钮级别权限控制等功能。你可以在此之上直接开发你的业务代码!希望你能喜欢。👋👋👋
+
+**注 1:如果对您有帮助,您可以点右上角 "Star" 支持一下 谢谢!**
+
+**注 2:由于本人工作较忙,所以项目更新频率较慢,但是本项目会长期维护,有问题可以提 issue, 同时也欢迎大家来共建此项目,包括但不限于:bug 修复、代码优化、功能开发等等**
+
+## ✨ 项目功能
+
+- 🚀 使用 Vue3.2 + TypeScript 开发,单文件组件**< script setup >**
+- 🚀 采用 Vite4 作为项目开发、打包工具(配置 Gzip 打包、TSX 语法、跨域代理…)
+- 🚀 整个项目集成了 TypeScript
+- 🚀 使用 Pinia 替代 Vuex,轻量、简单、易用,集成 Pinia 持久化插件
+- 🚀 使用 TypeScript 对 Axios 整个二次封装(请求拦截、取消、常用请求封装…)
+- 🚀 支持 Element 组件大小切换、暗黑模式、i18n 国际化
+- 🚀 使用 VueRouter 进行路由权限拦截、页面按钮权限配置、路由懒加载
+- 🚀 使用 KeepAlive 对页面进行缓存,支持多级嵌套页面缓存
+- 🚀 常用自定义指令开发(权限、复制、水印、拖拽、节流、防抖、长按…)
+- 🚀 使用 Prettier 统一格式化代码,集成 Eslint、Stylelint 代码校验规范(项目规范配置)
+- 🚀 使用 husky、lint-staged、commitlint 规范提交信息(项目规范配置)
+
+## 基础知识
+
+提前了解和学习这些知识会对使用本项目有很大的帮助。
+
+- [Vue3](https://v3.vuejs.org/) - 熟悉 `Vue3` 基础语法
+- [Vite](https://cn.vitejs.dev/) - 熟悉 `Vite` 特性
+- [Pinia](https://pinia.vuejs.org/) - 熟悉 `Pinia` 特性
+- [TypeScript](https://www.typescriptlang.org/) - 熟悉 `TypeScript` 基本语法
+- [Vue-Router](https://router.vuejs.org/) - 熟悉 `Vue-Router` 基本使用
+- [Element Plus](https://element-plus.org/zh-CN/) - 熟悉 `Element Plus` 组件库基本使用
+- [Es6+](http://es6.ruanyifeng.com/) - 熟悉 `ES6` 基本语法
+
+## 配套资源
+
+- [nest-template-cms](https://github.com/sankeyangshu/nest-template-cms) - 使用 Nest + TS 构建的 CMS 开发框架
+- [react-template-admin](https://github.com/sankeyangshu/react-template-admin) - 使用 React + TS 构建的后台管理系统
+
+## 环境准备
+
+本地环境需要安装 [pnpm7.x](https://www.pnpm.cn/)、[Node.js](http://nodejs.org/) 和 [Git](https://git-scm.com/)
+
+- 必须使用[pnpm7.x](https://www.pnpm.cn/),否则依赖可能安装不上。
+- [Node.js](http://nodejs.org/) 版本要求`12.x`以上,这里推荐 `16.x` 及以上。
+
+## Vscode 配套插件
+
+如果你使用的 IDE 是[vscode](https://code.visualstudio.com/)(推荐)的话,可以安装以下工具来提高开发效率及代码格式化
+
+- [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) - vue 开发必备
+- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) - 脚本代码检查
+- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - 代码格式化
+- [Stylelint](https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint) - css 格式化
+
+## 安装和使用
+
+### 🚀 使用脚手架
+
+[Galaxy-CLI](https://github.com/sankeyangshu/galaxy-cli) 是一个用于快速生成各种**前后端项目模版**的脚手架。
+
+```bash
+# 选择合适的包管理工具安装脚手架
+npm i -g galaxy-cli-core
+
+# yarn
+yarn global add galaxy-cli-core
+
+# 推荐使用pnpm进行安装
+pnpm i -g galaxy-cli-core
+
+# 创建项目,按照脚手架提示,选择vue-template-admin模板
+galaxy init
+
+# 进入项目目录
+cd
+
+# 安装依赖 - 推荐使用pnpm
+pnpm install
+
+# 启动服务
+pnpm dev
+
+# 打包发布
+pnpm build
+```
+
+### 克隆使用
+
+```bash
+# 克隆项目
+git clone https://github.com/sankeyangshu/vue-template-admin.git
+
+# 进入项目目录
+cd vue-template-admin
+
+# 安装依赖 - 推荐使用pnpm
+pnpm install
+
+# 启动服务
+pnpm dev
+
+# 打包发布
+pnpm build
+```
+
+## 如何贡献
+
+你可以[提一个 issue](https://github.com/sankeyangshu/vue-template-admin/issues) 或者提交一个 Pull Request。
+
+**Pull Request:**
+
+1. Fork 代码
+2. 创建自己的分支: `git checkout -b feat/xxxx`
+3. 提交你的修改: `git commit -am 'feat(function): add xxxxx'`
+4. 推送您的分支: `git push origin feat/xxxx`
+5. 提交 `pull request`
+
+## Git 贡献提交规范
+
+- `feat`: 新增功能
+- `fix`: 修复 bug
+- `docs`: 文档变更
+- `style`: 代码格式(不影响功能,例如空格、分号等格式修正)
+- `refactor`: 代码重构(不包括 bug 修复、功能新增)
+- `perf`: 性能优化
+- `test`: 添加、修改测试用例
+- `build`: 构建流程、外部依赖变更(如升级 npm 包、修改 webpack 配置等)
+- `ci`: 修改 CI 配置、脚本
+- `chore`: 对构建过程或辅助工具和库的更改(不影响源文件、测试用例)
+- `revert`: 回滚 commit
+
+## 浏览器支持
+
+- 本地开发推荐使用 Chrome 最新版浏览器 [Download](https://www.google.com/intl/zh-CN/chrome/)。
+- 生产环境支持现代浏览器,不在支持 IE 浏览器,更多浏览器可以查看 [Can I Use Es Module](https://caniuse.com/?search=ESModule)。
+
+| [
](http://godban.github.io/browsers-support-badges/)IE | [
](http://godban.github.io/browsers-support-badges/)Edge | [
](http://godban.github.io/browsers-support-badges/)Firefox | [
](http://godban.github.io/browsers-support-badges/)Chrome | [
](http://godban.github.io/browsers-support-badges/)Safari |
+| :----------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
+| not support | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
+
+## 许可证
+
+[MIT License](https://github.com/sankeyangshu/vue-template-admin/blob/master/LICENSE)
diff --git a/build/getEnv.ts b/build/getEnv.ts
new file mode 100644
index 0000000..69378ab
--- /dev/null
+++ b/build/getEnv.ts
@@ -0,0 +1,51 @@
+import path from 'path';
+
+export function isDevFn(mode: string): boolean {
+ return mode === 'development';
+}
+
+export function isProdFn(mode: string): boolean {
+ return mode === 'production';
+}
+
+export function isTestFn(mode: string): boolean {
+ return mode === 'test';
+}
+
+/**
+ * Whether to generate package preview
+ */
+export function isReportMode(): boolean {
+ return process.env.VITE_REPORT === 'true';
+}
+
+// Read all environment variable configuration files to process.env
+// 读取并处理所有环境变量配置文件 .env
+export function wrapperEnv(envConf: Recordable): ViteEnv {
+ const ret: any = {};
+
+ for (const envName of Object.keys(envConf)) {
+ // 去除空格
+ let realName = envConf[envName].replace(/\\n/g, '\n');
+ realName = realName === 'true' ? true : realName === 'false' ? false : realName;
+
+ if (envName === 'VITE_PORT') {
+ realName = Number(realName);
+ }
+ if (envName === 'VITE_PROXY') {
+ try {
+ realName = JSON.parse(realName);
+ } catch (error) {}
+ }
+ ret[envName] = realName;
+ }
+ return ret;
+}
+
+/**
+ * Get user root directory
+ * @param dir file path
+ */
+export function getRootPath(...dir: string[]) {
+ return path.resolve(process.cwd(), ...dir);
+}
diff --git a/build/plugins/compress.ts b/build/plugins/compress.ts
new file mode 100644
index 0000000..6d52a62
--- /dev/null
+++ b/build/plugins/compress.ts
@@ -0,0 +1,37 @@
+/**
+ * 用于打包和输出gzip。请注意,这在Vite中无法正常工作,具体原因仍在调查中
+ * https://github.com/anncwb/vite-plugin-compression
+ */
+import type { PluginOption } from 'vite';
+import viteCompression from 'vite-plugin-compression';
+
+/**
+ * 根据 compress 配置,生成不同的压缩规则
+ */
+export const configCompressPlugin = (viteEnv: ViteEnv): PluginOption | PluginOption[] => {
+ const { VITE_BUILD_COMPRESS = 'none', VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false } = viteEnv;
+ const compressList = VITE_BUILD_COMPRESS.split(',');
+ const plugins: PluginOption[] = [];
+
+ if (compressList.includes('gzip')) {
+ plugins.push(
+ viteCompression({
+ ext: '.gz',
+ algorithm: 'gzip',
+ deleteOriginFile: VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE,
+ })
+ );
+ }
+
+ if (compressList.includes('brotli')) {
+ plugins.push(
+ viteCompression({
+ ext: '.br',
+ algorithm: 'brotliCompress',
+ deleteOriginFile: VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE,
+ })
+ );
+ }
+
+ return plugins;
+};
diff --git a/build/plugins/index.ts b/build/plugins/index.ts
new file mode 100644
index 0000000..1997b49
--- /dev/null
+++ b/build/plugins/index.ts
@@ -0,0 +1,37 @@
+import vue from '@vitejs/plugin-vue';
+import type { PluginOption } from 'vite';
+import { configCompressPlugin } from './compress';
+import { configSvgIconsPlugin } from './svgPlugin';
+// 按需加载 Element Plus
+// import AutoImport from 'unplugin-auto-import/vite';
+// import Components from 'unplugin-vue-components/vite';
+// import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';
+
+/**
+ * 配置 vite 插件
+ * @param {ViteEnv} viteEnv vite 环境变量配置文件键值队 object
+ */
+export const createVitePlugins = (viteEnv: ViteEnv): (PluginOption | PluginOption[])[] => {
+ return [
+ vue(),
+ // 按需加载 Element Plus
+ // AutoImport({
+ // // 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式)
+ // resolvers: [ElementPlusResolver()],
+ // dts: resolve('src/types/auto-imports.d.ts'),
+ // }),
+ // Components({
+ // resolvers: [
+ // // 自动导入 Element Plus 组件
+ // ElementPlusResolver(),
+ // ],
+ // dts: resolve('src/types/components.d.ts'),
+ // }),
+
+ // 使用 svg 图标
+ configSvgIconsPlugin(),
+
+ // 创建打包压缩配置
+ configCompressPlugin(viteEnv),
+ ];
+};
diff --git a/build/plugins/svgPlugin.ts b/build/plugins/svgPlugin.ts
new file mode 100644
index 0000000..1a71e2d
--- /dev/null
+++ b/build/plugins/svgPlugin.ts
@@ -0,0 +1,16 @@
+import path from 'path';
+import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
+
+/**
+ * 配置svg vite 插件
+ */
+export function configSvgIconsPlugin() {
+ // 使用 svg 图标
+ const svgIconsPlugin = createSvgIconsPlugin({
+ // 指定需要缓存的图标文件夹
+ iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
+ // 指定symbolId格式
+ symbolId: 'icon-[dir]-[name]',
+ });
+ return svgIconsPlugin;
+}
diff --git a/build/proxy.ts b/build/proxy.ts
new file mode 100644
index 0000000..336b88c
--- /dev/null
+++ b/build/proxy.ts
@@ -0,0 +1,32 @@
+import type { ProxyOptions } from 'vite';
+
+type ProxyItem = [string, string];
+
+type ProxyList = ProxyItem[];
+
+type ProxyTargetList = Record;
+
+const httpsRE = /^https:\/\//;
+
+/**
+ * 创建代理,用于解析 .env.development 代理配置
+ * @param {ProxyList} list 代理地址列表
+ */
+export function createProxy(list: ProxyList = []) {
+ const ret: ProxyTargetList = {};
+ for (const [prefix, target] of list) {
+ const isHttps = httpsRE.test(target);
+
+ // https://github.com/http-party/node-http-proxy#options
+ ret[prefix] = {
+ target: target,
+ changeOrigin: true,
+ ws: true,
+ rewrite: (path) => path.replace(new RegExp(`^${prefix}`), ''),
+ // https is require secure=false
+ // 如果您secure="true"只允许来自 HTTPS 的请求,则secure="false"意味着允许来自 HTTP 和 HTTPS 的请求。
+ ...(isHttps ? { secure: false } : {}),
+ };
+ }
+ return ret;
+}
diff --git a/commitlint.config.ts b/commitlint.config.js
similarity index 100%
rename from commitlint.config.ts
rename to commitlint.config.js
diff --git a/package.json b/package.json
index f5f9587..9061d69 100644
--- a/package.json
+++ b/package.json
@@ -1,18 +1,15 @@
{
- "name": "vue-template-base",
- "private": true,
- "version": "0.0.0",
- "description": "使用 Vue3 + TS 构建的项目基础模版",
+ "name": "vue-template-admin",
+ "version": "0.0.1",
+ "description": "使用 Vue3 + TS 构建的后台管理系统",
"author": "sankeyangshu",
"license": "MIT",
- "keywords": [
- "vue",
- "typescript"
- ],
+ "private": true,
"scripts": {
"dev": "vite",
- "build": "vite build",
- "type-check": "vue-tsc --noEmit --skipLibCheck",
+ "build:dev": "vite build --mode development",
+ "build:prod": "vite build --mode production",
+ "build:test": "vite build --mode test",
"preview": "vite preview",
"lint:lint-staged": "lint-staged",
"lint:eslint": "eslint \"src/**/*.{vue,ts,tsx}\" --fix",
@@ -20,6 +17,19 @@
"lint:stylelint": "stylelint --fix \"**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/",
"prepare": "husky install"
},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sankeyangshu/vue-template-admin.git"
+ },
+ "keywords": [
+ "vue",
+ "typescript",
+ "admin"
+ ],
+ "bugs": {
+ "url": "https://github.com/sankeyangshu/vue-template-admin/issues"
+ },
+ "homepage": "https://github.com/sankeyangshu/vue-template-admin#readme",
"lint-staged": {
"*.{js,jsx,ts,tsx}": [
"eslint --fix",
@@ -46,46 +56,56 @@
},
"dependencies": {
"@element-plus/icons-vue": "^2.3.1",
+ "@wangeditor/editor": "^5.1.23",
+ "@wangeditor/editor-for-vue": "^5.1.12",
+ "axios": "^1.6.8",
+ "dayjs": "^1.11.11",
"echarts": "^5.5.1",
- "element-plus": "^2.8.5",
+ "element-plus": "^2.7.2",
"nprogress": "^0.2.0",
"path-browserify": "^1.0.1",
"pinia": "^2.1.7",
+ "pinia-plugin-persistedstate": "^3.2.1",
"vue": "^3.4.27",
"vue-echarts": "^7.0.3",
- "vue-router": "^4.3.3"
+ "vue-hooks-plus": "^2.0.1",
+ "vue-router": "^4.3.2"
},
"devDependencies": {
"@commitlint/cli": "^19.3.0",
"@commitlint/config-conventional": "^19.2.2",
- "@types/node": "^20.14.2",
+ "@types/node": "^18.19.33",
"@types/nprogress": "^0.2.3",
- "@types/path-browserify": "^1.0.3",
- "@typescript-eslint/eslint-plugin": "^7.13.0",
- "@typescript-eslint/parser": "^7.13.0",
- "@vitejs/plugin-vue": "^5.0.5",
+ "@types/path-browserify": "^1.0.2",
+ "@typescript-eslint/eslint-plugin": "^7.8.0",
+ "@typescript-eslint/parser": "^7.8.0",
+ "@vitejs/plugin-vue": "^5.0.4",
"autoprefixer": "^10.4.19",
- "eslint": "^8.57.0",
+ "eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.29.1",
+ "eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-simple-import-sort": "^12.1.0",
"eslint-plugin-vue": "^9.26.0",
"husky": "^9.0.11",
- "lint-staged": "^15.2.7",
+ "lint-staged": "^15.2.2",
"postcss": "^8.4.38",
"postcss-html": "^1.7.0",
- "prettier": "^3.3.2",
- "sass": "^1.77.5",
- "stylelint": "^16.6.1",
+ "prettier": "^3.2.5",
+ "sass": "^1.77.1",
+ "stylelint": "^16.5.0",
"stylelint-config-html": "^1.1.0",
"stylelint-config-recess-order": "^5.0.1",
- "stylelint-config-recommended-scss": "^14.0.0",
- "stylelint-config-recommended-vue": "^1.5.0",
+ "stylelint-config-standard": "^36.0.0",
"stylelint-config-standard-scss": "^13.1.0",
"typescript": "^5.4.5",
- "vite": "^5.2.13",
+ "unplugin-auto-import": "^0.17.6",
+ "unplugin-vue-components": "^0.27.0",
+ "vite": "^5.2.11",
+ "vite-plugin-compression": "^0.5.1",
"vite-plugin-svg-icons": "^2.0.1",
- "vue-tsc": "^2.0.21"
+ "vue-eslint-parser": "^9.4.2",
+ "vue-tsc": "^2.0.17"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 48a697f..f388d2c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -11,12 +11,24 @@ importers:
'@element-plus/icons-vue':
specifier: ^2.3.1
version: 2.3.1(vue@3.4.27(typescript@5.4.5))
+ '@wangeditor/editor':
+ specifier: ^5.1.23
+ version: 5.1.23
+ '@wangeditor/editor-for-vue':
+ specifier: ^5.1.12
+ version: 5.1.12(@wangeditor/editor@5.1.23)(vue@3.4.27(typescript@5.4.5))
+ axios:
+ specifier: ^1.6.8
+ version: 1.6.8
+ dayjs:
+ specifier: ^1.11.11
+ version: 1.11.11
echarts:
specifier: ^5.5.1
version: 5.5.1
element-plus:
- specifier: ^2.8.5
- version: 2.8.5(vue@3.4.27(typescript@5.4.5))
+ specifier: ^2.7.2
+ version: 2.7.2(vue@3.4.27(typescript@5.4.5))
nprogress:
specifier: ^0.2.0
version: 0.2.0
@@ -26,55 +38,64 @@ importers:
pinia:
specifier: ^2.1.7
version: 2.1.7(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+ pinia-plugin-persistedstate:
+ specifier: ^3.2.1
+ version: 3.2.1(pinia@2.1.7(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)))
vue:
specifier: ^3.4.27
version: 3.4.27(typescript@5.4.5)
vue-echarts:
specifier: ^7.0.3
version: 7.0.3(@vue/runtime-core@3.4.27)(echarts@5.5.1)(vue@3.4.27(typescript@5.4.5))
+ vue-hooks-plus:
+ specifier: ^2.0.1
+ version: 2.0.1(vue@3.4.27(typescript@5.4.5))
vue-router:
- specifier: ^4.3.3
- version: 4.3.3(vue@3.4.27(typescript@5.4.5))
+ specifier: ^4.3.2
+ version: 4.3.2(vue@3.4.27(typescript@5.4.5))
devDependencies:
'@commitlint/cli':
specifier: ^19.3.0
- version: 19.3.0(@types/node@20.14.2)(typescript@5.4.5)
+ version: 19.3.0(@types/node@18.19.33)(typescript@5.4.5)
'@commitlint/config-conventional':
specifier: ^19.2.2
version: 19.2.2
'@types/node':
- specifier: ^20.14.2
- version: 20.14.2
+ specifier: ^18.19.33
+ version: 18.19.33
'@types/nprogress':
specifier: ^0.2.3
version: 0.2.3
'@types/path-browserify':
- specifier: ^1.0.3
- version: 1.0.3
+ specifier: ^1.0.2
+ version: 1.0.2
'@typescript-eslint/eslint-plugin':
- specifier: ^7.13.0
- version: 7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
+ specifier: ^7.8.0
+ version: 7.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
'@typescript-eslint/parser':
- specifier: ^7.13.0
- version: 7.13.0(eslint@8.57.0)(typescript@5.4.5)
+ specifier: ^7.8.0
+ version: 7.8.0(eslint@8.57.0)(typescript@5.4.5)
'@vitejs/plugin-vue':
- specifier: ^5.0.5
- version: 5.0.5(vite@5.2.13(@types/node@20.14.2)(sass@1.77.5))(vue@3.4.27(typescript@5.4.5))
+ specifier: ^5.0.4
+ version: 5.0.4(vite@5.2.11(@types/node@18.19.33)(sass@1.77.1))(vue@3.4.27(typescript@5.4.5))
autoprefixer:
specifier: ^10.4.19
version: 10.4.19(postcss@8.4.38)
eslint:
- specifier: ^8.57.0
+ specifier: ^8.56.0
version: 8.57.0
eslint-config-prettier:
specifier: ^9.1.0
version: 9.1.0(eslint@8.57.0)
eslint-plugin-import:
specifier: ^2.29.1
- version: 2.29.1(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)
+ version: 2.29.1(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)
+ eslint-plugin-node:
+ specifier: ^11.1.0
+ version: 11.1.0(eslint@8.57.0)
eslint-plugin-prettier:
specifier: ^5.1.3
- version: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2)
+ version: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5)
eslint-plugin-simple-import-sort:
specifier: ^12.1.0
version: 12.1.0(eslint@8.57.0)
@@ -85,8 +106,8 @@ importers:
specifier: ^9.0.11
version: 9.0.11
lint-staged:
- specifier: ^15.2.7
- version: 15.2.7
+ specifier: ^15.2.2
+ version: 15.2.2
postcss:
specifier: ^8.4.38
version: 8.4.38
@@ -94,44 +115,56 @@ importers:
specifier: ^1.7.0
version: 1.7.0
prettier:
- specifier: ^3.3.2
- version: 3.3.2
+ specifier: ^3.2.5
+ version: 3.2.5
sass:
- specifier: ^1.77.5
- version: 1.77.5
+ specifier: ^1.77.1
+ version: 1.77.1
stylelint:
- specifier: ^16.6.1
- version: 16.6.1(typescript@5.4.5)
+ specifier: ^16.5.0
+ version: 16.5.0(typescript@5.4.5)
stylelint-config-html:
specifier: ^1.1.0
- version: 1.1.0(postcss-html@1.7.0)(stylelint@16.6.1(typescript@5.4.5))
+ version: 1.1.0(postcss-html@1.7.0)(stylelint@16.5.0(typescript@5.4.5))
stylelint-config-recess-order:
specifier: ^5.0.1
- version: 5.0.1(stylelint@16.6.1(typescript@5.4.5))
- stylelint-config-recommended-scss:
- specifier: ^14.0.0
- version: 14.0.0(postcss@8.4.38)(stylelint@16.6.1(typescript@5.4.5))
- stylelint-config-recommended-vue:
- specifier: ^1.5.0
- version: 1.5.0(postcss-html@1.7.0)(stylelint@16.6.1(typescript@5.4.5))
+ version: 5.0.1(stylelint@16.5.0(typescript@5.4.5))
+ stylelint-config-standard:
+ specifier: ^36.0.0
+ version: 36.0.0(stylelint@16.5.0(typescript@5.4.5))
stylelint-config-standard-scss:
specifier: ^13.1.0
- version: 13.1.0(postcss@8.4.38)(stylelint@16.6.1(typescript@5.4.5))
+ version: 13.1.0(postcss@8.4.38)(stylelint@16.5.0(typescript@5.4.5))
typescript:
specifier: ^5.4.5
version: 5.4.5
+ unplugin-auto-import:
+ specifier: ^0.17.6
+ version: 0.17.6(@vueuse/core@10.9.0(vue@3.4.27(typescript@5.4.5)))(rollup@4.17.2)
+ unplugin-vue-components:
+ specifier: ^0.27.0
+ version: 0.27.0(@babel/parser@7.24.5)(rollup@4.17.2)(vue@3.4.27(typescript@5.4.5))
vite:
- specifier: ^5.2.13
- version: 5.2.13(@types/node@20.14.2)(sass@1.77.5)
+ specifier: ^5.2.11
+ version: 5.2.11(@types/node@18.19.33)(sass@1.77.1)
+ vite-plugin-compression:
+ specifier: ^0.5.1
+ version: 0.5.1(vite@5.2.11(@types/node@18.19.33)(sass@1.77.1))
vite-plugin-svg-icons:
specifier: ^2.0.1
- version: 2.0.1(vite@5.2.13(@types/node@20.14.2)(sass@1.77.5))
+ version: 2.0.1(vite@5.2.11(@types/node@18.19.33)(sass@1.77.1))
+ vue-eslint-parser:
+ specifier: ^9.4.2
+ version: 9.4.2(eslint@8.57.0)
vue-tsc:
- specifier: ^2.0.21
- version: 2.0.21(typescript@5.4.5)
+ specifier: ^2.0.17
+ version: 2.0.17(typescript@5.4.5)
packages:
+ '@antfu/utils@0.7.8':
+ resolution: {integrity: sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg==}
+
'@babel/code-frame@7.21.4':
resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==}
engines: {node: '>=6.9.0'}
@@ -148,11 +181,15 @@ packages:
resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.24.7':
- resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==}
+ '@babel/parser@7.24.5':
+ resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==}
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/runtime@7.26.0':
+ resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
+ engines: {node: '>=6.9.0'}
+
'@babel/types@7.21.4':
resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==}
engines: {node: '>=6.9.0'}
@@ -243,14 +280,14 @@ packages:
'@csstools/css-parser-algorithms': ^2.6.3
'@csstools/css-tokenizer': ^2.3.1
- '@csstools/selector-specificity@3.1.1':
- resolution: {integrity: sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==}
+ '@csstools/selector-specificity@3.1.0':
+ resolution: {integrity: sha512-tGDFEHZ4XJeIt5NF7/nAfLGqPckmDZSnYne5gl67p4agQolE5s4rofdQ3e+VkeukfR91lVtSQ/Jt9DqM1ICiIQ==}
engines: {node: ^14 || ^16 || >=18}
peerDependencies:
postcss-selector-parser: ^6.0.13
- '@ctrl/tinycolor@3.6.1':
- resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==}
+ '@ctrl/tinycolor@3.6.0':
+ resolution: {integrity: sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==}
engines: {node: '>=10'}
'@dual-bundle/import-meta-resolve@4.1.0':
@@ -405,8 +442,8 @@ packages:
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- '@eslint-community/regexpp@4.10.1':
- resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==}
+ '@eslint-community/regexpp@4.10.0':
+ resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
'@eslint/eslintrc@2.1.4':
@@ -417,14 +454,11 @@ packages:
resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- '@floating-ui/core@1.6.8':
- resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
+ '@floating-ui/core@1.2.6':
+ resolution: {integrity: sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==}
- '@floating-ui/dom@1.6.11':
- resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==}
-
- '@floating-ui/utils@0.2.8':
- resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==}
+ '@floating-ui/dom@1.2.6':
+ resolution: {integrity: sha512-02vxFDuvuVPs22iJICacezYJyf7zwwOCWkPNkWNBr1U0Qt1cKFYzWvxts0AmqcOQGwt/3KJWcWIgtbUU38keyw==}
'@humanwhocodes/config-array@0.11.14':
resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
@@ -456,98 +490,110 @@ packages:
resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
- '@rollup/rollup-android-arm-eabi@4.18.0':
- resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==}
+ '@rollup/pluginutils@5.1.0':
+ resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/rollup-android-arm-eabi@4.17.2':
+ resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.18.0':
- resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==}
+ '@rollup/rollup-android-arm64@4.17.2':
+ resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.18.0':
- resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==}
+ '@rollup/rollup-darwin-arm64@4.17.2':
+ resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.18.0':
- resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==}
+ '@rollup/rollup-darwin-x64@4.17.2':
+ resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-linux-arm-gnueabihf@4.18.0':
- resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.17.2':
+ resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==}
cpu: [arm]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-arm-musleabihf@4.18.0':
- resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==}
+ '@rollup/rollup-linux-arm-musleabihf@4.17.2':
+ resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==}
cpu: [arm]
os: [linux]
libc: [musl]
- '@rollup/rollup-linux-arm64-gnu@4.18.0':
- resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==}
+ '@rollup/rollup-linux-arm64-gnu@4.17.2':
+ resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-arm64-musl@4.18.0':
- resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==}
+ '@rollup/rollup-linux-arm64-musl@4.17.2':
+ resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@rollup/rollup-linux-powerpc64le-gnu@4.18.0':
- resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==}
+ '@rollup/rollup-linux-powerpc64le-gnu@4.17.2':
+ resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-riscv64-gnu@4.18.0':
- resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==}
+ '@rollup/rollup-linux-riscv64-gnu@4.17.2':
+ resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-s390x-gnu@4.18.0':
- resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==}
+ '@rollup/rollup-linux-s390x-gnu@4.17.2':
+ resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-x64-gnu@4.18.0':
- resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==}
+ '@rollup/rollup-linux-x64-gnu@4.17.2':
+ resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-x64-musl@4.18.0':
- resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==}
+ '@rollup/rollup-linux-x64-musl@4.17.2':
+ resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@rollup/rollup-win32-arm64-msvc@4.18.0':
- resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==}
+ '@rollup/rollup-win32-arm64-msvc@4.17.2':
+ resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==}
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.18.0':
- resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==}
+ '@rollup/rollup-win32-ia32-msvc@4.17.2':
+ resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==}
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.18.0':
- resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==}
+ '@rollup/rollup-win32-x64-msvc@4.17.2':
+ resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==}
cpu: [x64]
os: [win32]
'@sxzz/popperjs-es@2.11.7':
resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==}
+ '@transloadit/prettier-bytes@0.0.7':
+ resolution: {integrity: sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==}
+
'@trysound/sax@0.2.0':
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'}
@@ -555,26 +601,41 @@ packages:
'@types/conventional-commits-parser@5.0.0':
resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==}
+ '@types/estree@1.0.1':
+ resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==}
+
'@types/estree@1.0.5':
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+ '@types/event-emitter@0.3.5':
+ resolution: {integrity: sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==}
+
+ '@types/js-cookie@3.0.3':
+ resolution: {integrity: sha512-Xe7IImK09HP1sv2M/aI+48a20VX+TdRJucfq4vfRVy6nWN8PYPOEnlMRSgxJAgYQIXJVL8dZ4/ilAM7dWNaOww==}
+
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+
'@types/json5@0.0.29':
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
- '@types/lodash-es@4.17.12':
- resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
+ '@types/lodash-es@4.17.7':
+ resolution: {integrity: sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==}
- '@types/lodash@4.17.10':
- resolution: {integrity: sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ==}
+ '@types/lodash@4.14.194':
+ resolution: {integrity: sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==}
- '@types/node@20.14.2':
- resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==}
+ '@types/node@18.19.33':
+ resolution: {integrity: sha512-NR9+KrpSajr2qBVp/Yt5TU/rp+b5Mayi3+OlMlcg2cVCfRmcG5PWZ7S4+MG9PZ5gWBoc9Pd0BKSRViuBCRPu0A==}
'@types/nprogress@0.2.3':
resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==}
- '@types/path-browserify@1.0.3':
- resolution: {integrity: sha512-ZmHivEbNCBtAfcrFeBCiTjdIc2dey0l7oCGNGpSuRTy8jP6UVND7oUowlvDujBy8r2Hoa8bfFUOCiPWfmtkfxw==}
+ '@types/path-browserify@1.0.2':
+ resolution: {integrity: sha512-ZkC5IUqqIFPXx3ASTTybTzmQdwHwe2C0u3eL75ldQ6T9E9IWFJodn6hIfbZGab73DfyiHN4Xw15gNxUq2FbvBA==}
+
+ '@types/semver@7.5.8':
+ resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
'@types/svgo@2.6.4':
resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==}
@@ -582,8 +643,11 @@ packages:
'@types/web-bluetooth@0.0.16':
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
- '@typescript-eslint/eslint-plugin@7.13.0':
- resolution: {integrity: sha512-FX1X6AF0w8MdVFLSdqwqN/me2hyhuQg4ykN6ZpVhh1ij/80pTvDKclX1sZB9iqex8SjQfVhwMKs3JtnnMLzG9w==}
+ '@types/web-bluetooth@0.0.20':
+ resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
+
+ '@typescript-eslint/eslint-plugin@7.8.0':
+ resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
'@typescript-eslint/parser': ^7.0.0
@@ -593,8 +657,8 @@ packages:
typescript:
optional: true
- '@typescript-eslint/parser@7.13.0':
- resolution: {integrity: sha512-EjMfl69KOS9awXXe83iRN7oIEXy9yYdqWfqdrFAYAAr6syP8eLEFI7ZE4939antx2mNgPRW/o1ybm2SFYkbTVA==}
+ '@typescript-eslint/parser@7.8.0':
+ resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
@@ -603,12 +667,12 @@ packages:
typescript:
optional: true
- '@typescript-eslint/scope-manager@7.13.0':
- resolution: {integrity: sha512-ZrMCe1R6a01T94ilV13egvcnvVJ1pxShkE0+NDjDzH4nvG1wXpwsVI5bZCvE7AEDH1mXEx5tJSVR68bLgG7Dng==}
+ '@typescript-eslint/scope-manager@7.8.0':
+ resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==}
engines: {node: ^18.18.0 || >=20.0.0}
- '@typescript-eslint/type-utils@7.13.0':
- resolution: {integrity: sha512-xMEtMzxq9eRkZy48XuxlBFzpVMDurUAfDu5Rz16GouAtXm0TaAoTFzqWUFPPuQYXI/CDaH/Bgx/fk/84t/Bc9A==}
+ '@typescript-eslint/type-utils@7.8.0':
+ resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
@@ -617,12 +681,12 @@ packages:
typescript:
optional: true
- '@typescript-eslint/types@7.13.0':
- resolution: {integrity: sha512-QWuwm9wcGMAuTsxP+qz6LBBd3Uq8I5Nv8xb0mk54jmNoCyDspnMvVsOxI6IsMmway5d1S9Su2+sCKv1st2l6eA==}
+ '@typescript-eslint/types@7.8.0':
+ resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==}
engines: {node: ^18.18.0 || >=20.0.0}
- '@typescript-eslint/typescript-estree@7.13.0':
- resolution: {integrity: sha512-cAvBvUoobaoIcoqox1YatXOnSl3gx92rCZoMRPzMNisDiM12siGilSM4+dJAekuuHTibI2hVC2fYK79iSFvWjw==}
+ '@typescript-eslint/typescript-estree@7.8.0':
+ resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
typescript: '*'
@@ -630,34 +694,51 @@ packages:
typescript:
optional: true
- '@typescript-eslint/utils@7.13.0':
- resolution: {integrity: sha512-jceD8RgdKORVnB4Y6BqasfIkFhl4pajB1wVxrF4akxD2QPM8GNYjgGwEzYS+437ewlqqrg7Dw+6dhdpjMpeBFQ==}
+ '@typescript-eslint/utils@7.8.0':
+ resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==}
engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
eslint: ^8.56.0
- '@typescript-eslint/visitor-keys@7.13.0':
- resolution: {integrity: sha512-nxn+dozQx+MK61nn/JP+M4eCkHDSxSLDpgE3WcQo0+fkjEolnaB5jswvIKC4K56By8MMgIho7f1PVxERHEo8rw==}
+ '@typescript-eslint/visitor-keys@7.8.0':
+ resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==}
engines: {node: ^18.18.0 || >=20.0.0}
'@ungap/structured-clone@1.2.0':
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
- '@vitejs/plugin-vue@5.0.5':
- resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==}
+ '@uppy/companion-client@2.2.2':
+ resolution: {integrity: sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==}
+
+ '@uppy/core@2.3.4':
+ resolution: {integrity: sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==}
+
+ '@uppy/store-default@2.1.1':
+ resolution: {integrity: sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==}
+
+ '@uppy/utils@4.1.3':
+ resolution: {integrity: sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==}
+
+ '@uppy/xhr-upload@2.1.3':
+ resolution: {integrity: sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==}
+ peerDependencies:
+ '@uppy/core': ^2.3.3
+
+ '@vitejs/plugin-vue@5.0.4':
+ resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==}
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
vite: ^5.0.0
vue: ^3.2.25
- '@volar/language-core@2.3.0':
- resolution: {integrity: sha512-pvhL24WUh3VDnv7Yw5N1sjhPtdx7q9g+Wl3tggmnkMcyK8GcCNElF2zHiKznryn0DiUGk+eez/p2qQhz+puuHw==}
+ '@volar/language-core@2.2.2':
+ resolution: {integrity: sha512-GuvEL4JdxbnLVhPLICncCGT+tVW4cIz9GxXNeDofNnJ4iNTKhr5suGVsA1GLOne9PbraSjn8PlLt+pvLxuRVeQ==}
- '@volar/source-map@2.3.0':
- resolution: {integrity: sha512-G/228aZjAOGhDjhlyZ++nDbKrS9uk+5DMaEstjvzglaAw7nqtDyhnQAsYzUg6BMP9BtwZ59RIw5HGePrutn00Q==}
+ '@volar/source-map@2.2.2':
+ resolution: {integrity: sha512-vUwvZuSW6iN4JI9QRinh9EjFasx1TUtnaWMKwgWx08xz1PyYuNkLlWlrZXBZ5GGBhML0u230M/7X+AHY2h9yKg==}
- '@volar/typescript@2.3.0':
- resolution: {integrity: sha512-PtUwMM87WsKVeLJN33GSTUjBexlKfKgouWlOUIv7pjrOnTwhXHZNSmpc312xgXdTjQPpToK6KXSIcKu9sBQ5LQ==}
+ '@volar/typescript@2.2.2':
+ resolution: {integrity: sha512-WcwOREz7+uOrpjUrKhOMaOKKmyPdtqF95HWX7SE0d9hhBB1KkfahxhaAex5U9Bn43LfINHlycLoYCNEtfeKm0g==}
'@vue/compiler-core@3.4.27':
resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==}
@@ -674,11 +755,11 @@ packages:
'@vue/devtools-api@6.5.0':
resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==}
- '@vue/devtools-api@6.6.3':
- resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==}
+ '@vue/devtools-api@6.6.1':
+ resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
- '@vue/language-core@2.0.21':
- resolution: {integrity: sha512-vjs6KwnCK++kIXT+eI63BGpJHfHNVJcUCr3RnvJsccT3vbJnZV5IhHR2puEkoOkIbDdp0Gqi1wEnv3hEd3WsxQ==}
+ '@vue/language-core@2.0.17':
+ resolution: {integrity: sha512-tHw2J6G9yL4kn3jN5MftOHEq86Y6qnuohBQ1OHkJ73fAv3OYgwDI1cfX7ds0OEJEycOMG64BA3ql5bDgDa41zw==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
@@ -702,15 +783,111 @@ packages:
'@vue/shared@3.4.27':
resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==}
+ '@vueuse/core@10.9.0':
+ resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==}
+
'@vueuse/core@9.13.0':
resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==}
+ '@vueuse/metadata@10.9.0':
+ resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==}
+
'@vueuse/metadata@9.13.0':
resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
+ '@vueuse/shared@10.9.0':
+ resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==}
+
'@vueuse/shared@9.13.0':
resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
+ '@wangeditor/basic-modules@1.1.7':
+ resolution: {integrity: sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==}
+ 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
+
+ '@wangeditor/code-highlight@1.0.3':
+ resolution: {integrity: sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==}
+ peerDependencies:
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+
+ '@wangeditor/core@1.1.19':
+ resolution: {integrity: sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==}
+ 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
+
+ '@wangeditor/editor-for-vue@5.1.12':
+ resolution: {integrity: sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==}
+ peerDependencies:
+ '@wangeditor/editor': '>=5.1.0'
+ vue: ^3.0.5
+
+ '@wangeditor/editor@5.1.23':
+ resolution: {integrity: sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==}
+
+ '@wangeditor/list-module@1.0.5':
+ resolution: {integrity: sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==}
+ peerDependencies:
+ '@wangeditor/core': 1.x
+ dom7: ^3.0.0
+ slate: ^0.72.0
+ snabbdom: ^3.1.0
+
+ '@wangeditor/table-module@1.1.4':
+ resolution: {integrity: sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==}
+ 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
+
+ '@wangeditor/upload-image-module@1.0.2':
+ resolution: {integrity: sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==}
+ 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
+
+ '@wangeditor/video-module@1.1.4':
+ resolution: {integrity: sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==}
+ 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
+
JSONStream@1.3.5:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
hasBin: true
@@ -725,11 +902,6 @@ packages:
engines: {node: '>=0.4.0'}
hasBin: true
- acorn@8.8.2:
- resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
@@ -833,6 +1005,9 @@ packages:
async-validator@4.2.5:
resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
atob@2.1.2:
resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
engines: {node: '>= 4.5.0'}
@@ -849,6 +1024,9 @@ packages:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
+ axios@1.6.8:
+ resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==}
+
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
@@ -886,12 +1064,8 @@ packages:
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
engines: {node: '>=8'}
- braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
-
- browserslist@4.23.1:
- resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==}
+ browserslist@4.23.0:
+ resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
@@ -899,9 +1073,6 @@ packages:
resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==}
engines: {node: '>=0.10.0'}
- call-bind@1.0.2:
- resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
-
call-bind@1.0.7:
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
engines: {node: '>= 0.4'}
@@ -910,8 +1081,8 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
- caniuse-lite@1.0.30001632:
- resolution: {integrity: sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg==}
+ caniuse-lite@1.0.30001617:
+ resolution: {integrity: sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==}
chalk@1.1.3:
resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
@@ -933,6 +1104,10 @@ packages:
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
engines: {node: '>= 8.10.0'}
+ chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
+
class-utils@0.3.6:
resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==}
engines: {node: '>=0.10.0'}
@@ -976,9 +1151,13 @@ packages:
colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
- commander@12.1.0:
- resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
- engines: {node: '>=18'}
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
+ commander@11.1.0:
+ resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
+ engines: {node: '>=16'}
commander@7.2.0:
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
@@ -990,12 +1169,18 @@ packages:
component-emitter@1.3.0:
resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==}
+ compute-scroll-into-view@1.0.20:
+ resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==}
+
computeds@0.0.1:
resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==}
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ confbox@0.1.7:
+ resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
+
conventional-changelog-angular@7.0.0:
resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==}
engines: {node: '>=16'}
@@ -1069,6 +1254,10 @@ packages:
csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ d@1.0.2:
+ resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==}
+ engines: {node: '>=0.12'}
+
dargs@8.1.0:
resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==}
engines: {node: '>=12'}
@@ -1085,8 +1274,8 @@ packages:
resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
engines: {node: '>= 0.4'}
- dayjs@1.11.13:
- resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
+ dayjs@1.11.11:
+ resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==}
de-indent@1.0.2:
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
@@ -1147,6 +1336,10 @@ packages:
resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==}
engines: {node: '>=0.10.0'}
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
dir-glob@3.0.1:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
@@ -1168,6 +1361,9 @@ packages:
dom-serializer@2.0.0:
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
+ dom7@3.0.0:
+ resolution: {integrity: sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==}
+
domelementtype@1.3.1:
resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==}
@@ -1201,11 +1397,11 @@ packages:
echarts@5.5.1:
resolution: {integrity: sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==}
- electron-to-chromium@1.4.800:
- resolution: {integrity: sha512-G8yyAReBP8m0XaW9BBH5NOJe4ZGYDDsPYkgLCG8xU6HwGKzrT0Jj51uAHkt1D+9ZxHPoGFSSZqqSN7HxAiP+0g==}
+ electron-to-chromium@1.4.763:
+ resolution: {integrity: sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ==}
- element-plus@2.8.5:
- resolution: {integrity: sha512-Px+kPbRTVvn5oa5+9saa7QEOnUweKXm0JVI7yJHzKF/doQGixwcFMsQEF2+3Fy62EA/7dRRKVuhsNGGZYNk3cw==}
+ element-plus@2.7.2:
+ resolution: {integrity: sha512-AdEzBU/A68iUleio0MkQ46JeU5SeQvFFd915GJFScJmUEo5AmYg3OQ4pVjcu+p3b3Nupg9MC5Wa4xjAiC51kUg==}
peerDependencies:
vue: ^3.2.0
@@ -1266,15 +1462,22 @@ packages:
resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
engines: {node: '>= 0.4'}
+ es5-ext@0.10.64:
+ resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==}
+ engines: {node: '>=0.10'}
+
+ es6-iterator@2.0.3:
+ resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
+
+ es6-symbol@3.1.4:
+ resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
+ engines: {node: '>=0.12'}
+
esbuild@0.20.2:
resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
engines: {node: '>=12'}
hasBin: true
- escalade@3.1.1:
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
- engines: {node: '>=6'}
-
escalade@3.1.2:
resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
engines: {node: '>=6'}
@@ -1290,6 +1493,10 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
eslint-config-prettier@9.1.0:
resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
hasBin: true
@@ -1299,8 +1506,8 @@ packages:
eslint-import-resolver-node@0.3.9:
resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
- eslint-module-utils@2.8.1:
- resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
+ eslint-module-utils@2.8.0:
+ resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
@@ -1320,6 +1527,12 @@ packages:
eslint-import-resolver-webpack:
optional: true
+ eslint-plugin-es@3.0.1:
+ resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==}
+ engines: {node: '>=8.10.0'}
+ peerDependencies:
+ eslint: '>=4.19.1'
+
eslint-plugin-import@2.29.1:
resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
engines: {node: '>=4'}
@@ -1330,6 +1543,12 @@ packages:
'@typescript-eslint/parser':
optional: true
+ eslint-plugin-node@11.1.0:
+ resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==}
+ engines: {node: '>=8.10.0'}
+ peerDependencies:
+ eslint: '>=5.16.0'
+
eslint-plugin-prettier@5.1.3:
resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==}
engines: {node: ^14.18.0 || >=16.0.0}
@@ -1355,14 +1574,22 @@ packages:
peerDependencies:
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
- eslint-scope@7.1.1:
- resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
+ eslint-scope@7.2.0:
+ resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
eslint-scope@7.2.2:
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ eslint-utils@2.1.0:
+ resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==}
+ engines: {node: '>=6'}
+
+ eslint-visitor-keys@1.3.0:
+ resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==}
+ engines: {node: '>=4'}
+
eslint-visitor-keys@3.4.0:
resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -1376,6 +1603,10 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
+ esniff@2.0.1:
+ resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
+ engines: {node: '>=0.10'}
+
espree@9.5.1:
resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -1399,6 +1630,9 @@ packages:
estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
esutils@2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
@@ -1407,6 +1641,9 @@ packages:
resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
engines: {node: '>= 0.6'}
+ event-emitter@0.3.5:
+ resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
+
eventemitter3@5.0.1:
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
@@ -1418,6 +1655,9 @@ packages:
resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==}
engines: {node: '>=0.10.0'}
+ ext@1.7.0:
+ resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
+
extend-shallow@2.0.1:
resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
engines: {node: '>=0.10.0'}
@@ -1457,9 +1697,9 @@ packages:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
- file-entry-cache@9.0.0:
- resolution: {integrity: sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==}
- engines: {node: '>=18'}
+ file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
fill-range@4.0.0:
resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==}
@@ -1469,9 +1709,9 @@ packages:
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
engines: {node: '>=8'}
- fill-range@7.1.1:
- resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
- engines: {node: '>=8'}
+ filter-obj@1.1.0:
+ resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==}
+ engines: {node: '>=0.10.0'}
find-up@5.0.0:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
@@ -1481,20 +1721,26 @@ packages:
resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==}
engines: {node: '>=18'}
- flat-cache@3.0.4:
- resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
+ flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
engines: {node: ^10.12.0 || >=12.0.0}
- flat-cache@5.0.0:
- resolution: {integrity: sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==}
- engines: {node: '>=18'}
-
- flatted@3.2.7:
- resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
+ flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
flatted@3.3.1:
resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ follow-redirects@1.15.6:
+ resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
@@ -1502,6 +1748,10 @@ packages:
resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==}
engines: {node: '>=0.10.0'}
+ form-data@4.0.0:
+ resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
+ engines: {node: '>= 6'}
+
fraction.js@4.3.7:
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
@@ -1526,9 +1776,6 @@ packages:
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
- function-bind@1.1.1:
- resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
-
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
@@ -1547,9 +1794,6 @@ packages:
resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
engines: {node: '>=18'}
- get-intrinsic@1.2.0:
- resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==}
-
get-intrinsic@1.2.4:
resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
engines: {node: '>= 0.4'}
@@ -1581,7 +1825,6 @@ packages:
glob@7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- deprecated: Glob versions prior to v9 are no longer supported
global-directory@4.0.1:
resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==}
@@ -1595,10 +1838,6 @@ packages:
resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==}
engines: {node: '>=6'}
- globals@13.20.0:
- resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
- engines: {node: '>=8'}
-
globals@13.24.0:
resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
engines: {node: '>=8'}
@@ -1642,16 +1881,9 @@ packages:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
- has-property-descriptors@1.0.0:
- resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
-
has-property-descriptors@1.0.2:
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
- has-proto@1.0.1:
- resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
- engines: {node: '>= 0.4'}
-
has-proto@1.0.3:
resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
engines: {node: '>= 0.4'}
@@ -1700,6 +1932,9 @@ packages:
resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
engines: {node: '>=8'}
+ html-void-elements@2.0.1:
+ resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==}
+
htmlparser2@3.10.1:
resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==}
@@ -1715,6 +1950,9 @@ packages:
engines: {node: '>=18'}
hasBin: true
+ i18next@20.6.1:
+ resolution: {integrity: sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==}
+
ignore@5.2.4:
resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
engines: {node: '>= 4'}
@@ -1728,6 +1966,9 @@ packages:
engines: {node: '>=0.10.0'}
hasBin: true
+ immer@9.0.21:
+ resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==}
+
immutable@4.3.0:
resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==}
@@ -1744,7 +1985,6 @@ packages:
inflight@1.0.6:
resolution: {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.
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
@@ -1848,6 +2088,9 @@ packages:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
+ is-hotkey@0.2.0:
+ resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==}
+
is-negative-zero@2.0.3:
resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
engines: {node: '>= 0.4'}
@@ -1912,6 +2155,9 @@ packages:
resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
engines: {node: '>= 0.4'}
+ is-url@1.2.4:
+ resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==}
+
is-weakref@1.0.2:
resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
@@ -1936,13 +2182,17 @@ packages:
resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
engines: {node: '>=0.10.0'}
- jiti@1.21.6:
- resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
+ jiti@1.21.0:
+ resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
hasBin: true
js-base64@2.6.4:
resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==}
+ js-cookie@3.0.5:
+ resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==}
+ engines: {node: '>=14'}
+
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@@ -1998,33 +2248,37 @@ packages:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
engines: {node: '>=0.10.0'}
- known-css-properties@0.31.0:
- resolution: {integrity: sha512-sBPIUGTNF0czz0mwGGUoKKJC8Q7On1GPbCSFPfyEsfHb2DyBG0Y4QtV+EVWpINSaiGKZblDNuF5AezxSgOhesQ==}
+ known-css-properties@0.30.0:
+ resolution: {integrity: sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==}
levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
- lilconfig@3.1.2:
- resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
+ lilconfig@3.0.0:
+ resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==}
engines: {node: '>=14'}
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- lint-staged@15.2.7:
- resolution: {integrity: sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==}
+ lint-staged@15.2.2:
+ resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==}
engines: {node: '>=18.12.0'}
hasBin: true
- listr2@8.2.1:
- resolution: {integrity: sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==}
+ listr2@8.0.1:
+ resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==}
engines: {node: '>=18.0.0'}
loader-utils@1.4.2:
resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==}
engines: {node: '>=4.0.0'}
+ local-pkg@0.5.0:
+ resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
+ engines: {node: '>=14'}
+
locate-path@6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
@@ -2046,6 +2300,18 @@ packages:
lodash.camelcase@4.3.0:
resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
+ lodash.clonedeep@4.5.0:
+ resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==}
+
+ lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+
+ lodash.foreach@4.5.0:
+ resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==}
+
+ lodash.isequal@4.5.0:
+ resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==}
+
lodash.isplainobject@4.0.6:
resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
@@ -2064,6 +2330,12 @@ packages:
lodash.startcase@4.4.0:
resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
+ lodash.throttle@4.1.1:
+ resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
+
+ lodash.toarray@4.4.0:
+ resolution: {integrity: sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==}
+
lodash.truncate@4.4.2:
resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==}
@@ -2130,10 +2402,21 @@ packages:
resolution: {integrity: sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==}
engines: {node: '>=0.10.0'}
- micromatch@4.0.7:
- resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
+ micromatch@4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
engines: {node: '>=8.6'}
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-match@1.0.2:
+ resolution: {integrity: sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
mimic-fn@2.1.0:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
@@ -2156,15 +2439,24 @@ packages:
resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==}
engines: {node: '>=0.10.0'}
+ mlly@1.7.0:
+ resolution: {integrity: sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==}
+
ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
muggle-string@0.4.1:
resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
+ namespace-emitter@2.0.1:
+ resolution: {integrity: sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==}
+
nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
@@ -2177,6 +2469,9 @@ packages:
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ next-tick@1.1.0:
+ resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
+
node-releases@2.0.14:
resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
@@ -2316,8 +2611,11 @@ packages:
pathe@0.2.0:
resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==}
- picocolors@1.0.1:
- resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
+ pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
+
+ picocolors@1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
@@ -2328,6 +2626,11 @@ packages:
engines: {node: '>=0.10'}
hasBin: true
+ pinia-plugin-persistedstate@3.2.1:
+ resolution: {integrity: sha512-MK++8LRUsGF7r45PjBFES82ISnPzyO6IZx3CH5vyPseFLZCk1g2kgx6l/nW8pEBKxxd4do0P6bJw+mUSZIEZUQ==}
+ peerDependencies:
+ pinia: ^2.0.0
+
pinia@2.1.7:
resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==}
peerDependencies:
@@ -2340,6 +2643,9 @@ packages:
typescript:
optional: true
+ pkg-types@1.1.1:
+ resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==}
+
posix-character-classes@0.1.1:
resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==}
engines: {node: '>=0.10.0'}
@@ -2381,8 +2687,8 @@ packages:
peerDependencies:
postcss: ^8.4.29
- postcss-selector-parser@6.1.0:
- resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==}
+ postcss-selector-parser@6.0.16:
+ resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
engines: {node: '>=4'}
postcss-sorting@8.0.2:
@@ -2418,6 +2724,9 @@ packages:
resolution: {integrity: sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==}
engines: {node: '>=0.10.0'}
+ preact@10.24.3:
+ resolution: {integrity: sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA==}
+
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -2426,19 +2735,34 @@ packages:
resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
engines: {node: '>=6.0.0'}
- prettier@3.3.2:
- resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==}
+ prettier@3.2.5:
+ resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
engines: {node: '>=14'}
hasBin: true
+ prismjs@1.29.0:
+ resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
+ engines: {node: '>=6'}
+
+ proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+
punycode@2.3.0:
resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
engines: {node: '>=6'}
+ qs@6.11.1:
+ resolution: {integrity: sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==}
+ engines: {node: '>=0.6'}
+
query-string@4.3.4:
resolution: {integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==}
engines: {node: '>=0.10.0'}
+ query-string@7.1.3:
+ resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==}
+ engines: {node: '>=6'}
+
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -2450,6 +2774,9 @@ packages:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
+ regenerator-runtime@0.14.1:
+ resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+
regex-not@1.0.2:
resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==}
engines: {node: '>=0.10.0'}
@@ -2458,6 +2785,10 @@ packages:
resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
engines: {node: '>= 0.4'}
+ regexpp@3.2.0:
+ resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
+ engines: {node: '>=8'}
+
repeat-element@1.1.4:
resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==}
engines: {node: '>=0.10.0'}
@@ -2486,6 +2817,10 @@ packages:
resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==}
deprecated: https://github.com/lydell/resolve-url#deprecated
+ resolve@1.22.2:
+ resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
+ hasBin: true
+
resolve@1.22.8:
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
hasBin: true
@@ -2502,16 +2837,15 @@ packages:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- rfdc@1.4.1:
- resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+ rfdc@1.3.0:
+ resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==}
rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- deprecated: Rimraf versions prior to v4 are no longer supported
hasBin: true
- rollup@4.18.0:
- resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==}
+ rollup@4.17.2:
+ resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
@@ -2532,17 +2866,31 @@ packages:
safe-regex@1.1.0:
resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==}
- sass@1.77.5:
- resolution: {integrity: sha512-oDfX1mukIlxacPdQqNb6mV2tVCrnE+P3nVYioy72V5tlk56CPNcO4TCuFcaCRKKfJ1M3lH95CleRS+dVKL2qMg==}
+ sass@1.77.1:
+ resolution: {integrity: sha512-OMEyfirt9XEfyvocduUIOlUSkWOXS/LAt6oblR/ISXCTukyavjex+zQNm51pPCOiFKY1QpWvEH1EeCkgyV3I6w==}
engines: {node: '>=14.0.0'}
hasBin: true
+ screenfull@5.2.0:
+ resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==}
+ engines: {node: '>=0.10.0'}
+
+ scroll-into-view-if-needed@2.2.31:
+ resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==}
+
+ scule@1.3.0:
+ resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
+
+ semver@6.3.0:
+ resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
+ hasBin: true
+
semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
- semver@7.3.8:
- resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
+ semver@7.5.0:
+ resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==}
engines: {node: '>=10'}
hasBin: true
@@ -2577,10 +2925,6 @@ packages:
signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
- signal-exit@4.0.2:
- resolution: {integrity: sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==}
- engines: {node: '>=14'}
-
signal-exit@4.1.0:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
@@ -2589,6 +2933,14 @@ packages:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
+ slate-history@0.66.0:
+ resolution: {integrity: sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==}
+ peerDependencies:
+ slate: '>=0.65.3'
+
+ slate@0.72.8:
+ resolution: {integrity: sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==}
+
slice-ansi@4.0.0:
resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==}
engines: {node: '>=10'}
@@ -2601,6 +2953,10 @@ packages:
resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
engines: {node: '>=18'}
+ snabbdom@3.6.2:
+ resolution: {integrity: sha512-ig5qOnCDbugFntKi6c7Xlib8bA6xiJVk8O+WdFrV3wxbMqeHO0hXFQC4nAhPVWfZfi8255lcZkNhtIBINCc4+Q==}
+ engines: {node: '>=12.17.0'}
+
snapdragon-node@2.1.1:
resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==}
engines: {node: '>=0.10.0'}
@@ -2637,6 +2993,10 @@ packages:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
+ split-on-first@1.1.0:
+ resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==}
+ engines: {node: '>=6'}
+
split-string@3.1.0:
resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
engines: {node: '>=0.10.0'}
@@ -2645,6 +3005,9 @@ packages:
resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
engines: {node: '>= 10.x'}
+ ssr-window@3.0.0:
+ resolution: {integrity: sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==}
+
stable@0.1.8:
resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
@@ -2657,6 +3020,10 @@ packages:
resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==}
engines: {node: '>=0.10.0'}
+ strict-uri-encode@2.0.0:
+ resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==}
+ engines: {node: '>=4'}
+
string-argv@0.3.2:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
engines: {node: '>=0.6.19'}
@@ -2707,6 +3074,9 @@ packages:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
+ strip-literal@1.3.0:
+ resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==}
+
stylelint-config-html@1.1.0:
resolution: {integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==}
engines: {node: ^12 || >=14}
@@ -2729,19 +3099,6 @@ packages:
postcss:
optional: true
- stylelint-config-recommended-vue@1.5.0:
- resolution: {integrity: sha512-65TAK/clUqkNtkZLcuytoxU0URQYlml+30Nhop7sRkCZ/mtWdXt7T+spPSB3KMKlb+82aEVJ4OrcstyDBdbosg==}
- engines: {node: ^12 || >=14}
- peerDependencies:
- postcss-html: ^1.0.0
- stylelint: '>=14.0.0'
-
- stylelint-config-recommended@13.0.0:
- resolution: {integrity: sha512-EH+yRj6h3GAe/fRiyaoO2F9l9Tgg50AOFhaszyfov9v6ayXJ1IkSHwTxd7lB48FmOeSGDPLjatjO11fJpmarkQ==}
- engines: {node: ^14.13.1 || >=16.0.0}
- peerDependencies:
- stylelint: ^15.10.0
-
stylelint-config-recommended@14.0.0:
resolution: {integrity: sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ==}
engines: {node: '>=18.12.0'}
@@ -2769,14 +3126,14 @@ packages:
peerDependencies:
stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1
- stylelint-scss@6.3.1:
- resolution: {integrity: sha512-w/czBoWUZxJNk5fBRPODcXSN4qcPv3WHjTSSpFovVY+TE3MZTMR0yRlbmaDYrm8tTWHvpwQAuEBZ0lk2wwkboQ==}
+ stylelint-scss@6.3.0:
+ resolution: {integrity: sha512-8OSpiuf1xC7f8kllJsBOFAOYp/mR/C1FXMVeOFjtJPw+AFvEmC93FaklHt7MlOqU4poxuQ1TkYMyfI0V+1SxjA==}
engines: {node: '>=18.12.0'}
peerDependencies:
stylelint: ^16.0.2
- stylelint@16.6.1:
- resolution: {integrity: sha512-yNgz2PqWLkhH2hw6X9AweV9YvoafbAD5ZsFdKN9BvSDVwGvPh+AUIrn7lYwy1S7IHmtFin75LLfX1m0D2tHu8Q==}
+ stylelint@16.5.0:
+ resolution: {integrity: sha512-IlCBtVrG+qTy3v+tZTk50W8BIomjY/RUuzdrDqdnlCYwVuzXtPbiGfxYqtyYAyOMcb+195zRsuHn6tgfPmFfbw==}
engines: {node: '>=18.12.0'}
hasBin: true
@@ -2833,6 +3190,9 @@ packages:
through@2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+ tiny-warning@1.0.3:
+ resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
+
to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
@@ -2868,8 +3228,8 @@ packages:
tslib@2.3.0:
resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==}
- tslib@2.6.3:
- resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
+ tslib@2.6.2:
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
@@ -2879,6 +3239,9 @@ packages:
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
engines: {node: '>=10'}
+ type@2.7.3:
+ resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==}
+
typed-array-buffer@1.0.2:
resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
engines: {node: '>= 0.4'}
@@ -2900,6 +3263,9 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
+ ufo@1.5.3:
+ resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
+
unbox-primitive@1.0.2:
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
@@ -2910,6 +3276,9 @@ packages:
resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
engines: {node: '>=18'}
+ unimport@3.7.1:
+ resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==}
+
union-value@1.0.1:
resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==}
engines: {node: '>=0.10.0'}
@@ -2918,12 +3287,41 @@ packages:
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
engines: {node: '>= 10.0.0'}
+ unplugin-auto-import@0.17.6:
+ resolution: {integrity: sha512-dmX0Pex5DzMzVuALkexboOZvh51fL/BD6aoPO7qHoTYGlQp0GRKsREv2KMF1lzYI9SXKQiRxAjwzbQnrFFNydQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@nuxt/kit': ^3.2.2
+ '@vueuse/core': '*'
+ peerDependenciesMeta:
+ '@nuxt/kit':
+ optional: true
+ '@vueuse/core':
+ optional: true
+
+ unplugin-vue-components@0.27.0:
+ resolution: {integrity: sha512-77eTEy23sQ0UpzGWnZ9I2mY3cnmXwklz4ITcn3JfxjCoX643ghImkiZ4nFm58sxbdVcc4Fo/o4LIoFnlqEqsSg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@babel/parser': ^7.15.8
+ '@nuxt/kit': ^3.2.2
+ vue: 2 || 3
+ peerDependenciesMeta:
+ '@babel/parser':
+ optional: true
+ '@nuxt/kit':
+ optional: true
+
+ unplugin@1.10.1:
+ resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==}
+ engines: {node: '>=14.0.0'}
+
unset-value@1.0.0:
resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==}
engines: {node: '>=0.10.0'}
- update-browserslist-db@1.0.16:
- resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==}
+ update-browserslist-db@1.0.15:
+ resolution: {integrity: sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
@@ -2946,13 +3344,18 @@ packages:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}
+ vite-plugin-compression@0.5.1:
+ resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==}
+ peerDependencies:
+ vite: '>=2.0.0'
+
vite-plugin-svg-icons@2.0.1:
resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==}
peerDependencies:
vite: '>=2.0.0'
- vite@5.2.13:
- resolution: {integrity: sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==}
+ vite@5.2.11:
+ resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@@ -2979,9 +3382,6 @@ packages:
terser:
optional: true
- vscode-uri@3.0.8:
- resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
-
vue-demi@0.13.11:
resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
engines: {node: '>=12'}
@@ -2993,8 +3393,8 @@ packages:
'@vue/composition-api':
optional: true
- vue-demi@0.14.8:
- resolution: {integrity: sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==}
+ vue-demi@0.14.7:
+ resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
engines: {node: '>=12'}
hasBin: true
peerDependencies:
@@ -3014,22 +3414,27 @@ packages:
'@vue/runtime-core':
optional: true
- vue-eslint-parser@9.4.3:
- resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==}
+ vue-eslint-parser@9.4.2:
+ resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
- vue-router@4.3.3:
- resolution: {integrity: sha512-8Q+u+WP4N2SXY38FDcF2H1dUEbYVHVPtPCPZj/GTZx8RCbiB8AtJP9+YIxn4Vs0svMTNQcLIzka4GH7Utkx9xQ==}
+ vue-hooks-plus@2.0.1:
+ resolution: {integrity: sha512-19EszfkhNz6kj/dBi7cW2MphURqw7jNt5cRb/CduslZUWK0QqJsamRWenciPzZbix+qcbv8FfvOymY0UUGLO7Q==}
+ peerDependencies:
+ vue: ^3.2.25
+
+ vue-router@4.3.2:
+ resolution: {integrity: sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==}
peerDependencies:
vue: ^3.2.0
vue-template-compiler@2.7.14:
resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==}
- vue-tsc@2.0.21:
- resolution: {integrity: sha512-E6x1p1HaHES6Doy8pqtm7kQern79zRtIewkf9fiv7Y43Zo4AFDS5hKi+iHi2RwEhqRmuiwliB1LCEFEGwvxQnw==}
+ vue-tsc@2.0.17:
+ resolution: {integrity: sha512-RRZsiCBD1hvATQb321xV+SkRDKsK5hgFQ4WXy5wuYsyyjz8xAK4DjxHkpH7PFoJKUbZTbeW8KzhejzXZS49Tzw==}
hasBin: true
peerDependencies:
typescript: '*'
@@ -3042,6 +3447,13 @@ packages:
typescript:
optional: true
+ webpack-sources@3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
+
+ webpack-virtual-modules@0.6.1:
+ resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==}
+
which-boxed-primitive@1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
@@ -3058,6 +3470,9 @@ packages:
engines: {node: '>= 8'}
hasBin: true
+ wildcard@1.1.2:
+ resolution: {integrity: sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==}
+
word-wrap@1.2.5:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
@@ -3088,10 +3503,9 @@ packages:
yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- yaml@2.4.5:
- resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==}
+ yaml@2.3.4:
+ resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
engines: {node: '>= 14'}
- hasBin: true
yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
@@ -3114,6 +3528,8 @@ packages:
snapshots:
+ '@antfu/utils@0.7.8': {}
+
'@babel/code-frame@7.21.4':
dependencies:
'@babel/highlight': 7.18.6
@@ -3128,21 +3544,25 @@ snapshots:
chalk: 2.4.2
js-tokens: 4.0.0
- '@babel/parser@7.24.7':
+ '@babel/parser@7.24.5':
dependencies:
'@babel/types': 7.21.4
+ '@babel/runtime@7.26.0':
+ dependencies:
+ regenerator-runtime: 0.14.1
+
'@babel/types@7.21.4':
dependencies:
'@babel/helper-string-parser': 7.19.4
'@babel/helper-validator-identifier': 7.19.1
to-fast-properties: 2.0.0
- '@commitlint/cli@19.3.0(@types/node@20.14.2)(typescript@5.4.5)':
+ '@commitlint/cli@19.3.0(@types/node@18.19.33)(typescript@5.4.5)':
dependencies:
'@commitlint/format': 19.3.0
'@commitlint/lint': 19.2.2
- '@commitlint/load': 19.2.0(@types/node@20.14.2)(typescript@5.4.5)
+ '@commitlint/load': 19.2.0(@types/node@18.19.33)(typescript@5.4.5)
'@commitlint/read': 19.2.1
'@commitlint/types': 19.0.3
execa: 8.0.1
@@ -3189,7 +3609,7 @@ snapshots:
'@commitlint/rules': 19.0.3
'@commitlint/types': 19.0.3
- '@commitlint/load@19.2.0(@types/node@20.14.2)(typescript@5.4.5)':
+ '@commitlint/load@19.2.0(@types/node@18.19.33)(typescript@5.4.5)':
dependencies:
'@commitlint/config-validator': 19.0.3
'@commitlint/execute-rule': 19.0.0
@@ -3197,7 +3617,7 @@ snapshots:
'@commitlint/types': 19.0.3
chalk: 5.3.0
cosmiconfig: 9.0.0(typescript@5.4.5)
- cosmiconfig-typescript-loader: 5.0.0(@types/node@20.14.2)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5)
+ cosmiconfig-typescript-loader: 5.0.0(@types/node@18.19.33)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5)
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
lodash.uniq: 4.5.0
@@ -3260,11 +3680,11 @@ snapshots:
'@csstools/css-parser-algorithms': 2.6.3(@csstools/css-tokenizer@2.3.1)
'@csstools/css-tokenizer': 2.3.1
- '@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.1.0)':
+ '@csstools/selector-specificity@3.1.0(postcss-selector-parser@6.0.16)':
dependencies:
- postcss-selector-parser: 6.1.0
+ postcss-selector-parser: 6.0.16
- '@ctrl/tinycolor@3.6.1': {}
+ '@ctrl/tinycolor@3.6.0': {}
'@dual-bundle/import-meta-resolve@4.1.0': {}
@@ -3346,15 +3766,15 @@ snapshots:
eslint: 8.57.0
eslint-visitor-keys: 3.4.3
- '@eslint-community/regexpp@4.10.1': {}
+ '@eslint-community/regexpp@4.10.0': {}
'@eslint/eslintrc@2.1.4':
dependencies:
ajv: 6.12.6
debug: 4.3.4
espree: 9.6.1
- globals: 13.20.0
- ignore: 5.2.4
+ globals: 13.24.0
+ ignore: 5.3.1
import-fresh: 3.3.0
js-yaml: 4.1.0
minimatch: 3.1.2
@@ -3364,16 +3784,11 @@ snapshots:
'@eslint/js@8.57.0': {}
- '@floating-ui/core@1.6.8':
- dependencies:
- '@floating-ui/utils': 0.2.8
+ '@floating-ui/core@1.2.6': {}
- '@floating-ui/dom@1.6.11':
+ '@floating-ui/dom@1.2.6':
dependencies:
- '@floating-ui/core': 1.6.8
- '@floating-ui/utils': 0.2.8
-
- '@floating-ui/utils@0.2.8': {}
+ '@floating-ui/core': 1.2.6
'@humanwhocodes/config-array@0.11.14':
dependencies:
@@ -3403,110 +3818,135 @@ snapshots:
'@pkgr/core@0.1.1': {}
- '@rollup/rollup-android-arm-eabi@4.18.0':
+ '@rollup/pluginutils@5.1.0(rollup@4.17.2)':
+ dependencies:
+ '@types/estree': 1.0.1
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+ optionalDependencies:
+ rollup: 4.17.2
+
+ '@rollup/rollup-android-arm-eabi@4.17.2':
optional: true
- '@rollup/rollup-android-arm64@4.18.0':
+ '@rollup/rollup-android-arm64@4.17.2':
optional: true
- '@rollup/rollup-darwin-arm64@4.18.0':
+ '@rollup/rollup-darwin-arm64@4.17.2':
optional: true
- '@rollup/rollup-darwin-x64@4.18.0':
+ '@rollup/rollup-darwin-x64@4.17.2':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.18.0':
+ '@rollup/rollup-linux-arm-gnueabihf@4.17.2':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.18.0':
+ '@rollup/rollup-linux-arm-musleabihf@4.17.2':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.18.0':
+ '@rollup/rollup-linux-arm64-gnu@4.17.2':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.18.0':
+ '@rollup/rollup-linux-arm64-musl@4.17.2':
optional: true
- '@rollup/rollup-linux-powerpc64le-gnu@4.18.0':
+ '@rollup/rollup-linux-powerpc64le-gnu@4.17.2':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.18.0':
+ '@rollup/rollup-linux-riscv64-gnu@4.17.2':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.18.0':
+ '@rollup/rollup-linux-s390x-gnu@4.17.2':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.18.0':
+ '@rollup/rollup-linux-x64-gnu@4.17.2':
optional: true
- '@rollup/rollup-linux-x64-musl@4.18.0':
+ '@rollup/rollup-linux-x64-musl@4.17.2':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.18.0':
+ '@rollup/rollup-win32-arm64-msvc@4.17.2':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.18.0':
+ '@rollup/rollup-win32-ia32-msvc@4.17.2':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.18.0':
+ '@rollup/rollup-win32-x64-msvc@4.17.2':
optional: true
'@sxzz/popperjs-es@2.11.7': {}
+ '@transloadit/prettier-bytes@0.0.7': {}
+
'@trysound/sax@0.2.0': {}
'@types/conventional-commits-parser@5.0.0':
dependencies:
- '@types/node': 20.14.2
+ '@types/node': 18.19.33
+
+ '@types/estree@1.0.1': {}
'@types/estree@1.0.5': {}
+ '@types/event-emitter@0.3.5': {}
+
+ '@types/js-cookie@3.0.3': {}
+
+ '@types/json-schema@7.0.15': {}
+
'@types/json5@0.0.29': {}
- '@types/lodash-es@4.17.12':
+ '@types/lodash-es@4.17.7':
dependencies:
- '@types/lodash': 4.17.10
+ '@types/lodash': 4.14.194
- '@types/lodash@4.17.10': {}
+ '@types/lodash@4.14.194': {}
- '@types/node@20.14.2':
+ '@types/node@18.19.33':
dependencies:
undici-types: 5.26.5
'@types/nprogress@0.2.3': {}
- '@types/path-browserify@1.0.3': {}
+ '@types/path-browserify@1.0.2': {}
+
+ '@types/semver@7.5.8': {}
'@types/svgo@2.6.4':
dependencies:
- '@types/node': 20.14.2
+ '@types/node': 18.19.33
'@types/web-bluetooth@0.0.16': {}
- '@typescript-eslint/eslint-plugin@7.13.0(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)':
+ '@types/web-bluetooth@0.0.20':
+ optional: true
+
+ '@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)':
dependencies:
- '@eslint-community/regexpp': 4.10.1
- '@typescript-eslint/parser': 7.13.0(eslint@8.57.0)(typescript@5.4.5)
- '@typescript-eslint/scope-manager': 7.13.0
- '@typescript-eslint/type-utils': 7.13.0(eslint@8.57.0)(typescript@5.4.5)
- '@typescript-eslint/utils': 7.13.0(eslint@8.57.0)(typescript@5.4.5)
- '@typescript-eslint/visitor-keys': 7.13.0
+ '@eslint-community/regexpp': 4.10.0
+ '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
+ '@typescript-eslint/scope-manager': 7.8.0
+ '@typescript-eslint/type-utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
+ '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
+ '@typescript-eslint/visitor-keys': 7.8.0
+ debug: 4.3.4
eslint: 8.57.0
graphemer: 1.4.0
ignore: 5.3.1
natural-compare: 1.4.0
+ semver: 7.6.2
ts-api-utils: 1.3.0(typescript@5.4.5)
optionalDependencies:
typescript: 5.4.5
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5)':
+ '@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5)':
dependencies:
- '@typescript-eslint/scope-manager': 7.13.0
- '@typescript-eslint/types': 7.13.0
- '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5)
- '@typescript-eslint/visitor-keys': 7.13.0
+ '@typescript-eslint/scope-manager': 7.8.0
+ '@typescript-eslint/types': 7.8.0
+ '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
+ '@typescript-eslint/visitor-keys': 7.8.0
debug: 4.3.4
eslint: 8.57.0
optionalDependencies:
@@ -3514,15 +3954,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@7.13.0':
+ '@typescript-eslint/scope-manager@7.8.0':
dependencies:
- '@typescript-eslint/types': 7.13.0
- '@typescript-eslint/visitor-keys': 7.13.0
+ '@typescript-eslint/types': 7.8.0
+ '@typescript-eslint/visitor-keys': 7.8.0
- '@typescript-eslint/type-utils@7.13.0(eslint@8.57.0)(typescript@5.4.5)':
+ '@typescript-eslint/type-utils@7.8.0(eslint@8.57.0)(typescript@5.4.5)':
dependencies:
- '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5)
- '@typescript-eslint/utils': 7.13.0(eslint@8.57.0)(typescript@5.4.5)
+ '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
+ '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
debug: 4.3.4
eslint: 8.57.0
ts-api-utils: 1.3.0(typescript@5.4.5)
@@ -3531,12 +3971,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@7.13.0': {}
+ '@typescript-eslint/types@7.8.0': {}
- '@typescript-eslint/typescript-estree@7.13.0(typescript@5.4.5)':
+ '@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5)':
dependencies:
- '@typescript-eslint/types': 7.13.0
- '@typescript-eslint/visitor-keys': 7.13.0
+ '@typescript-eslint/types': 7.8.0
+ '@typescript-eslint/visitor-keys': 7.8.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
@@ -3548,46 +3988,77 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@7.13.0(eslint@8.57.0)(typescript@5.4.5)':
+ '@typescript-eslint/utils@7.8.0(eslint@8.57.0)(typescript@5.4.5)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
- '@typescript-eslint/scope-manager': 7.13.0
- '@typescript-eslint/types': 7.13.0
- '@typescript-eslint/typescript-estree': 7.13.0(typescript@5.4.5)
+ '@types/json-schema': 7.0.15
+ '@types/semver': 7.5.8
+ '@typescript-eslint/scope-manager': 7.8.0
+ '@typescript-eslint/types': 7.8.0
+ '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
eslint: 8.57.0
+ semver: 7.6.2
transitivePeerDependencies:
- supports-color
- typescript
- '@typescript-eslint/visitor-keys@7.13.0':
+ '@typescript-eslint/visitor-keys@7.8.0':
dependencies:
- '@typescript-eslint/types': 7.13.0
+ '@typescript-eslint/types': 7.8.0
eslint-visitor-keys: 3.4.3
'@ungap/structured-clone@1.2.0': {}
- '@vitejs/plugin-vue@5.0.5(vite@5.2.13(@types/node@20.14.2)(sass@1.77.5))(vue@3.4.27(typescript@5.4.5))':
+ '@uppy/companion-client@2.2.2':
dependencies:
- vite: 5.2.13(@types/node@20.14.2)(sass@1.77.5)
+ '@uppy/utils': 4.1.3
+ namespace-emitter: 2.0.1
+
+ '@uppy/core@2.3.4':
+ 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.3.7
+ preact: 10.24.3
+
+ '@uppy/store-default@2.1.1': {}
+
+ '@uppy/utils@4.1.3':
+ dependencies:
+ lodash.throttle: 4.1.1
+
+ '@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4)':
+ dependencies:
+ '@uppy/companion-client': 2.2.2
+ '@uppy/core': 2.3.4
+ '@uppy/utils': 4.1.3
+ nanoid: 3.3.7
+
+ '@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@18.19.33)(sass@1.77.1))(vue@3.4.27(typescript@5.4.5))':
+ dependencies:
+ vite: 5.2.11(@types/node@18.19.33)(sass@1.77.1)
vue: 3.4.27(typescript@5.4.5)
- '@volar/language-core@2.3.0':
+ '@volar/language-core@2.2.2':
dependencies:
- '@volar/source-map': 2.3.0
+ '@volar/source-map': 2.2.2
- '@volar/source-map@2.3.0':
+ '@volar/source-map@2.2.2':
dependencies:
muggle-string: 0.4.1
- '@volar/typescript@2.3.0':
+ '@volar/typescript@2.2.2':
dependencies:
- '@volar/language-core': 2.3.0
+ '@volar/language-core': 2.2.2
path-browserify: 1.0.1
- vscode-uri: 3.0.8
'@vue/compiler-core@3.4.27':
dependencies:
- '@babel/parser': 7.24.7
+ '@babel/parser': 7.24.5
'@vue/shared': 3.4.27
entities: 4.5.0
estree-walker: 2.0.2
@@ -3600,7 +4071,7 @@ snapshots:
'@vue/compiler-sfc@3.4.27':
dependencies:
- '@babel/parser': 7.24.7
+ '@babel/parser': 7.24.5
'@vue/compiler-core': 3.4.27
'@vue/compiler-dom': 3.4.27
'@vue/compiler-ssr': 3.4.27
@@ -3617,11 +4088,11 @@ snapshots:
'@vue/devtools-api@6.5.0': {}
- '@vue/devtools-api@6.6.3': {}
+ '@vue/devtools-api@6.6.1': {}
- '@vue/language-core@2.0.21(typescript@5.4.5)':
+ '@vue/language-core@2.0.17(typescript@5.4.5)':
dependencies:
- '@volar/language-core': 2.3.0
+ '@volar/language-core': 2.2.2
'@vue/compiler-dom': 3.4.27
'@vue/shared': 3.4.27
computeds: 0.0.1
@@ -3654,24 +4125,154 @@ snapshots:
'@vue/shared@3.4.27': {}
+ '@vueuse/core@10.9.0(vue@3.4.27(typescript@5.4.5))':
+ dependencies:
+ '@types/web-bluetooth': 0.0.20
+ '@vueuse/metadata': 10.9.0
+ '@vueuse/shared': 10.9.0(vue@3.4.27(typescript@5.4.5))
+ vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+ optional: true
+
'@vueuse/core@9.13.0(vue@3.4.27(typescript@5.4.5))':
dependencies:
'@types/web-bluetooth': 0.0.16
'@vueuse/metadata': 9.13.0
'@vueuse/shared': 9.13.0(vue@3.4.27(typescript@5.4.5))
- vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5))
+ vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
+ '@vueuse/metadata@10.9.0':
+ optional: true
+
'@vueuse/metadata@9.13.0': {}
- '@vueuse/shared@9.13.0(vue@3.4.27(typescript@5.4.5))':
+ '@vueuse/shared@10.9.0(vue@3.4.27(typescript@5.4.5))':
dependencies:
- vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5))
+ vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
+ optional: true
+
+ '@vueuse/shared@9.13.0(vue@3.4.27(typescript@5.4.5))':
+ dependencies:
+ vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5))
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - vue
+
+ '@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ is-url: 1.2.4
+ lodash.throttle: 4.1.1
+ nanoid: 3.3.7
+ slate: 0.72.8
+ snabbdom: 3.6.2
+
+ '@wangeditor/code-highlight@1.0.3(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ prismjs: 1.29.0
+ slate: 0.72.8
+ snabbdom: 3.6.2
+
+ '@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@types/event-emitter': 0.3.5
+ '@uppy/core': 2.3.4
+ '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4)
+ dom7: 3.0.0
+ event-emitter: 0.3.5
+ html-void-elements: 2.0.1
+ i18next: 20.6.1
+ 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.3.7
+ scroll-into-view-if-needed: 2.2.31
+ slate: 0.72.8
+ slate-history: 0.66.0(slate@0.72.8)
+ snabbdom: 3.6.2
+
+ '@wangeditor/editor-for-vue@5.1.12(@wangeditor/editor@5.1.23)(vue@3.4.27(typescript@5.4.5))':
+ dependencies:
+ '@wangeditor/editor': 5.1.23
+ vue: 3.4.27(typescript@5.4.5)
+
+ '@wangeditor/editor@5.1.23':
+ dependencies:
+ '@uppy/core': 2.3.4
+ '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4)
+ '@wangeditor/basic-modules': 1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/code-highlight': 1.0.3(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/list-module': 1.0.5(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/table-module': 1.1.4(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/upload-image-module': 1.0.2(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.foreach@4.5.0)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/video-module': 1.1.4(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ 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.3.7
+ slate: 0.72.8
+ snabbdom: 3.6.2
+
+ '@wangeditor/list-module@1.0.5(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ slate: 0.72.8
+ snabbdom: 3.6.2
+
+ '@wangeditor/table-module@1.1.4(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ lodash.isequal: 4.5.0
+ lodash.throttle: 4.1.1
+ nanoid: 3.3.7
+ slate: 0.72.8
+ snabbdom: 3.6.2
+
+ '@wangeditor/upload-image-module@1.0.2(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.foreach@4.5.0)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@uppy/core': 2.3.4
+ '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4)
+ '@wangeditor/basic-modules': 1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ lodash.foreach: 4.5.0
+ slate: 0.72.8
+ snabbdom: 3.6.2
+
+ '@wangeditor/video-module@1.1.4(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)':
+ dependencies:
+ '@uppy/core': 2.3.4
+ '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4)
+ '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.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.3.7)(slate@0.72.8)(snabbdom@3.6.2)
+ dom7: 3.0.0
+ nanoid: 3.3.7
+ slate: 0.72.8
+ snabbdom: 3.6.2
JSONStream@1.3.5:
dependencies:
@@ -3682,14 +4283,8 @@ snapshots:
dependencies:
acorn: 8.11.3
- acorn-jsx@5.3.2(acorn@8.8.2):
- dependencies:
- acorn: 8.8.2
-
acorn@8.11.3: {}
- acorn@8.8.2: {}
-
ajv@6.12.6:
dependencies:
fast-deep-equal: 3.1.3
@@ -3768,14 +4363,14 @@ snapshots:
array.prototype.flat@1.3.2:
dependencies:
- call-bind: 1.0.2
+ call-bind: 1.0.7
define-properties: 1.2.0
es-abstract: 1.23.3
es-shim-unscopables: 1.0.0
array.prototype.flatmap@1.3.2:
dependencies:
- call-bind: 1.0.2
+ call-bind: 1.0.7
define-properties: 1.2.0
es-abstract: 1.23.3
es-shim-unscopables: 1.0.0
@@ -3797,15 +4392,17 @@ snapshots:
async-validator@4.2.5: {}
+ asynckit@0.4.0: {}
+
atob@2.1.2: {}
autoprefixer@10.4.19(postcss@8.4.38):
dependencies:
- browserslist: 4.23.1
- caniuse-lite: 1.0.30001632
+ browserslist: 4.23.0
+ caniuse-lite: 1.0.30001617
fraction.js: 4.3.7
normalize-range: 0.1.2
- picocolors: 1.0.1
+ picocolors: 1.0.0
postcss: 8.4.38
postcss-value-parser: 4.2.0
@@ -3813,6 +4410,14 @@ snapshots:
dependencies:
possible-typed-array-names: 1.0.0
+ axios@1.6.8:
+ dependencies:
+ follow-redirects: 1.15.6
+ form-data: 4.0.0
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
+
balanced-match@1.0.2: {}
balanced-match@2.0.0: {}
@@ -3863,16 +4468,12 @@ snapshots:
dependencies:
fill-range: 7.0.1
- braces@3.0.3:
+ browserslist@4.23.0:
dependencies:
- fill-range: 7.1.1
-
- browserslist@4.23.1:
- dependencies:
- caniuse-lite: 1.0.30001632
- electron-to-chromium: 1.4.800
+ caniuse-lite: 1.0.30001617
+ electron-to-chromium: 1.4.763
node-releases: 2.0.14
- update-browserslist-db: 1.0.16(browserslist@4.23.1)
+ update-browserslist-db: 1.0.15(browserslist@4.23.0)
cache-base@1.0.1:
dependencies:
@@ -3886,11 +4487,6 @@ snapshots:
union-value: 1.0.1
unset-value: 1.0.0
- call-bind@1.0.2:
- dependencies:
- function-bind: 1.1.1
- get-intrinsic: 1.2.0
-
call-bind@1.0.7:
dependencies:
es-define-property: 1.0.0
@@ -3901,7 +4497,7 @@ snapshots:
callsites@3.1.0: {}
- caniuse-lite@1.0.30001632: {}
+ caniuse-lite@1.0.30001617: {}
chalk@1.1.3:
dependencies:
@@ -3936,6 +4532,18 @@ snapshots:
optionalDependencies:
fsevents: 2.3.2
+ chokidar@3.6.0:
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.2
+
class-utils@0.3.6:
dependencies:
arr-union: 3.1.0
@@ -3981,7 +4589,11 @@ snapshots:
colorette@2.0.20: {}
- commander@12.1.0: {}
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
+ commander@11.1.0: {}
commander@7.2.0: {}
@@ -3992,10 +4604,14 @@ snapshots:
component-emitter@1.3.0: {}
+ compute-scroll-into-view@1.0.20: {}
+
computeds@0.0.1: {}
concat-map@0.0.1: {}
+ confbox@0.1.7: {}
+
conventional-changelog-angular@7.0.0:
dependencies:
compare-func: 2.0.0
@@ -4018,11 +4634,11 @@ snapshots:
object-assign: 4.1.1
vary: 1.1.2
- cosmiconfig-typescript-loader@5.0.0(@types/node@20.14.2)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5):
+ cosmiconfig-typescript-loader@5.0.0(@types/node@18.19.33)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5):
dependencies:
- '@types/node': 20.14.2
+ '@types/node': 18.19.33
cosmiconfig: 9.0.0(typescript@5.4.5)
- jiti: 1.21.6
+ jiti: 1.21.0
typescript: 5.4.5
cosmiconfig@9.0.0(typescript@5.4.5):
@@ -4070,6 +4686,11 @@ snapshots:
csstype@3.1.3: {}
+ d@1.0.2:
+ dependencies:
+ es5-ext: 0.10.64
+ type: 2.7.3
+
dargs@8.1.0: {}
data-view-buffer@1.0.1:
@@ -4090,7 +4711,7 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.1
- dayjs@1.11.13: {}
+ dayjs@1.11.11: {}
de-indent@1.0.2: {}
@@ -4100,7 +4721,7 @@ snapshots:
debug@3.2.7:
dependencies:
- ms: 2.1.2
+ ms: 2.1.3
debug@4.3.4:
dependencies:
@@ -4118,13 +4739,13 @@ snapshots:
define-properties@1.2.0:
dependencies:
- has-property-descriptors: 1.0.0
+ has-property-descriptors: 1.0.2
object-keys: 1.1.1
define-properties@1.2.1:
dependencies:
define-data-property: 1.1.4
- has-property-descriptors: 1.0.0
+ has-property-descriptors: 1.0.2
object-keys: 1.1.1
define-property@0.2.5:
@@ -4140,6 +4761,8 @@ snapshots:
is-descriptor: 1.0.2
isobject: 3.0.1
+ delayed-stream@1.0.0: {}
+
dir-glob@3.0.1:
dependencies:
path-type: 4.0.0
@@ -4169,6 +4792,10 @@ snapshots:
domhandler: 5.0.3
entities: 4.5.0
+ dom7@3.0.0:
+ dependencies:
+ ssr-window: 3.0.0
+
domelementtype@1.3.1: {}
domelementtype@2.3.0: {}
@@ -4211,23 +4838,23 @@ snapshots:
tslib: 2.3.0
zrender: 5.6.0
- electron-to-chromium@1.4.800: {}
+ electron-to-chromium@1.4.763: {}
- element-plus@2.8.5(vue@3.4.27(typescript@5.4.5)):
+ element-plus@2.7.2(vue@3.4.27(typescript@5.4.5)):
dependencies:
- '@ctrl/tinycolor': 3.6.1
+ '@ctrl/tinycolor': 3.6.0
'@element-plus/icons-vue': 2.3.1(vue@3.4.27(typescript@5.4.5))
- '@floating-ui/dom': 1.6.11
+ '@floating-ui/dom': 1.2.6
'@popperjs/core': '@sxzz/popperjs-es@2.11.7'
- '@types/lodash': 4.17.10
- '@types/lodash-es': 4.17.12
+ '@types/lodash': 4.14.194
+ '@types/lodash-es': 4.17.7
'@vueuse/core': 9.13.0(vue@3.4.27(typescript@5.4.5))
async-validator: 4.2.5
- dayjs: 1.11.13
+ dayjs: 1.11.11
escape-html: 1.0.3
lodash: 4.17.21
lodash-es: 4.17.21
- lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21)
+ lodash-unified: 1.0.3(@types/lodash-es@4.17.7)(lodash-es@4.17.21)(lodash@4.17.21)
memoize-one: 6.0.0
normalize-wheel-es: 1.2.0
vue: 3.4.27(typescript@5.4.5)
@@ -4331,6 +4958,24 @@ snapshots:
is-date-object: 1.0.5
is-symbol: 1.0.4
+ es5-ext@0.10.64:
+ dependencies:
+ es6-iterator: 2.0.3
+ es6-symbol: 3.1.4
+ esniff: 2.0.1
+ next-tick: 1.1.0
+
+ es6-iterator@2.0.3:
+ dependencies:
+ d: 1.0.2
+ es5-ext: 0.10.64
+ es6-symbol: 3.1.4
+
+ es6-symbol@3.1.4:
+ dependencies:
+ d: 1.0.2
+ ext: 1.7.0
+
esbuild@0.20.2:
optionalDependencies:
'@esbuild/aix-ppc64': 0.20.2
@@ -4357,8 +5002,6 @@ snapshots:
'@esbuild/win32-ia32': 0.20.2
'@esbuild/win32-x64': 0.20.2
- escalade@3.1.1: {}
-
escalade@3.1.2: {}
escape-html@1.0.3: {}
@@ -4367,6 +5010,8 @@ snapshots:
escape-string-regexp@4.0.0: {}
+ escape-string-regexp@5.0.0: {}
+
eslint-config-prettier@9.1.0(eslint@8.57.0):
dependencies:
eslint: 8.57.0
@@ -4379,17 +5024,23 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.8.1(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
+ eslint-module-utils@2.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 7.13.0(eslint@8.57.0)(typescript@5.4.5)
+ '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0):
+ eslint-plugin-es@3.0.1(eslint@8.57.0):
+ dependencies:
+ eslint: 8.57.0
+ eslint-utils: 2.1.0
+ regexpp: 3.2.0
+
+ eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0):
dependencies:
array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5
@@ -4399,7 +5050,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.13.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
hasown: 2.0.2
is-core-module: 2.13.1
is-glob: 4.0.3
@@ -4410,16 +5061,26 @@ snapshots:
semver: 6.3.1
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 7.13.0(eslint@8.57.0)(typescript@5.4.5)
+ '@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2):
+ eslint-plugin-node@11.1.0(eslint@8.57.0):
dependencies:
eslint: 8.57.0
- prettier: 3.3.2
+ eslint-plugin-es: 3.0.1(eslint@8.57.0)
+ eslint-utils: 2.1.0
+ ignore: 5.2.4
+ minimatch: 3.1.2
+ resolve: 1.22.2
+ semver: 6.3.0
+
+ eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5):
+ dependencies:
+ eslint: 8.57.0
+ prettier: 3.2.5
prettier-linter-helpers: 1.0.0
synckit: 0.8.8
optionalDependencies:
@@ -4436,14 +5097,14 @@ snapshots:
globals: 13.24.0
natural-compare: 1.4.0
nth-check: 2.1.1
- postcss-selector-parser: 6.1.0
+ postcss-selector-parser: 6.0.16
semver: 7.6.2
- vue-eslint-parser: 9.4.3(eslint@8.57.0)
+ vue-eslint-parser: 9.4.2(eslint@8.57.0)
xml-name-validator: 4.0.0
transitivePeerDependencies:
- supports-color
- eslint-scope@7.1.1:
+ eslint-scope@7.2.0:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
@@ -4453,6 +5114,12 @@ snapshots:
esrecurse: 4.3.0
estraverse: 5.3.0
+ eslint-utils@2.1.0:
+ dependencies:
+ eslint-visitor-keys: 1.3.0
+
+ eslint-visitor-keys@1.3.0: {}
+
eslint-visitor-keys@3.4.0: {}
eslint-visitor-keys@3.4.3: {}
@@ -4460,7 +5127,7 @@ snapshots:
eslint@8.57.0:
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
- '@eslint-community/regexpp': 4.10.1
+ '@eslint-community/regexpp': 4.10.0
'@eslint/eslintrc': 2.1.4
'@eslint/js': 8.57.0
'@humanwhocodes/config-array': 0.11.14
@@ -4482,9 +5149,9 @@ snapshots:
file-entry-cache: 6.0.1
find-up: 5.0.0
glob-parent: 6.0.2
- globals: 13.20.0
+ globals: 13.24.0
graphemer: 1.4.0
- ignore: 5.2.4
+ ignore: 5.3.1
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
@@ -4500,11 +5167,18 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ esniff@2.0.1:
+ dependencies:
+ d: 1.0.2
+ es5-ext: 0.10.64
+ event-emitter: 0.3.5
+ type: 2.7.3
+
espree@9.5.1:
dependencies:
- acorn: 8.8.2
- acorn-jsx: 5.3.2(acorn@8.8.2)
- eslint-visitor-keys: 3.4.0
+ acorn: 8.11.3
+ acorn-jsx: 5.3.2(acorn@8.11.3)
+ eslint-visitor-keys: 3.4.3
espree@9.6.1:
dependencies:
@@ -4524,10 +5198,19 @@ snapshots:
estree-walker@2.0.2: {}
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.1
+
esutils@2.0.3: {}
etag@1.8.1: {}
+ event-emitter@0.3.5:
+ dependencies:
+ d: 1.0.2
+ es5-ext: 0.10.64
+
eventemitter3@5.0.1: {}
execa@8.0.1:
@@ -4554,6 +5237,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ ext@1.7.0:
+ dependencies:
+ type: 2.7.3
+
extend-shallow@2.0.1:
dependencies:
is-extendable: 0.1.1
@@ -4586,7 +5273,7 @@ snapshots:
'@nodelib/fs.walk': 1.2.8
glob-parent: 5.1.2
merge2: 1.4.1
- micromatch: 4.0.7
+ micromatch: 4.0.5
fast-json-stable-stringify@2.1.0: {}
@@ -4600,11 +5287,11 @@ snapshots:
file-entry-cache@6.0.1:
dependencies:
- flat-cache: 3.0.4
+ flat-cache: 3.2.0
- file-entry-cache@9.0.0:
+ file-entry-cache@8.0.0:
dependencies:
- flat-cache: 5.0.0
+ flat-cache: 4.0.1
fill-range@4.0.0:
dependencies:
@@ -4617,9 +5304,7 @@ snapshots:
dependencies:
to-regex-range: 5.0.1
- fill-range@7.1.1:
- dependencies:
- to-regex-range: 5.0.1
+ filter-obj@1.1.0: {}
find-up@5.0.0:
dependencies:
@@ -4632,26 +5317,33 @@ snapshots:
path-exists: 5.0.0
unicorn-magic: 0.1.0
- flat-cache@3.0.4:
+ flat-cache@3.2.0:
dependencies:
- flatted: 3.2.7
+ flatted: 3.3.1
+ keyv: 4.5.4
rimraf: 3.0.2
- flat-cache@5.0.0:
+ flat-cache@4.0.1:
dependencies:
flatted: 3.3.1
keyv: 4.5.4
- flatted@3.2.7: {}
-
flatted@3.3.1: {}
+ follow-redirects@1.15.6: {}
+
for-each@0.3.3:
dependencies:
is-callable: 1.2.7
for-in@1.0.2: {}
+ form-data@4.0.0:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+
fraction.js@4.3.7: {}
fragment-cache@0.2.1:
@@ -4672,8 +5364,6 @@ snapshots:
fsevents@2.3.3:
optional: true
- function-bind@1.1.1: {}
-
function-bind@1.1.2: {}
function.prototype.name@1.1.6:
@@ -4689,17 +5379,11 @@ snapshots:
get-east-asian-width@1.2.0: {}
- get-intrinsic@1.2.0:
- dependencies:
- function-bind: 1.1.1
- has: 1.0.3
- has-symbols: 1.0.3
-
get-intrinsic@1.2.4:
dependencies:
es-errors: 1.3.0
function-bind: 1.1.2
- has-proto: 1.0.1
+ has-proto: 1.0.3
has-symbols: 1.0.3
hasown: 2.0.2
@@ -4750,10 +5434,6 @@ snapshots:
kind-of: 6.0.3
which: 1.3.1
- globals@13.20.0:
- dependencies:
- type-fest: 0.20.2
-
globals@13.24.0:
dependencies:
type-fest: 0.20.2
@@ -4793,16 +5473,10 @@ snapshots:
has-flag@4.0.0: {}
- has-property-descriptors@1.0.0:
- dependencies:
- get-intrinsic: 1.2.4
-
has-property-descriptors@1.0.2:
dependencies:
es-define-property: 1.0.0
- has-proto@1.0.1: {}
-
has-proto@1.0.3: {}
has-symbols@1.0.3: {}
@@ -4836,7 +5510,7 @@ snapshots:
has@1.0.3:
dependencies:
- function-bind: 1.1.1
+ function-bind: 1.1.2
hasown@2.0.2:
dependencies:
@@ -4846,6 +5520,8 @@ snapshots:
html-tags@3.3.1: {}
+ html-void-elements@2.0.1: {}
+
htmlparser2@3.10.1:
dependencies:
domelementtype: 1.3.1
@@ -4866,12 +5542,18 @@ snapshots:
husky@9.0.11: {}
+ i18next@20.6.1:
+ dependencies:
+ '@babel/runtime': 7.26.0
+
ignore@5.2.4: {}
ignore@5.3.1: {}
image-size@0.5.5: {}
+ immer@9.0.21: {}
+
immutable@4.3.0: {}
import-fresh@3.3.0:
@@ -4984,6 +5666,8 @@ snapshots:
dependencies:
is-extglob: 2.1.1
+ is-hotkey@0.2.0: {}
+
is-negative-zero@2.0.3: {}
is-number-object@1.0.7:
@@ -5035,6 +5719,8 @@ snapshots:
dependencies:
which-typed-array: 1.1.15
+ is-url@1.2.4: {}
+
is-weakref@1.0.2:
dependencies:
call-bind: 1.0.7
@@ -5053,10 +5739,12 @@ snapshots:
isobject@3.0.1: {}
- jiti@1.21.6: {}
+ jiti@1.21.0: {}
js-base64@2.6.4: {}
+ js-cookie@3.0.5: {}
+
js-tokens@4.0.0: {}
js-tokens@9.0.0: {}
@@ -5103,39 +5791,39 @@ snapshots:
kind-of@6.0.3: {}
- known-css-properties@0.31.0: {}
+ known-css-properties@0.30.0: {}
levn@0.4.1:
dependencies:
prelude-ls: 1.2.1
type-check: 0.4.0
- lilconfig@3.1.2: {}
+ lilconfig@3.0.0: {}
lines-and-columns@1.2.4: {}
- lint-staged@15.2.7:
+ lint-staged@15.2.2:
dependencies:
chalk: 5.3.0
- commander: 12.1.0
+ commander: 11.1.0
debug: 4.3.4
execa: 8.0.1
- lilconfig: 3.1.2
- listr2: 8.2.1
- micromatch: 4.0.7
+ lilconfig: 3.0.0
+ listr2: 8.0.1
+ micromatch: 4.0.5
pidtree: 0.6.0
string-argv: 0.3.2
- yaml: 2.4.5
+ yaml: 2.3.4
transitivePeerDependencies:
- supports-color
- listr2@8.2.1:
+ listr2@8.0.1:
dependencies:
cli-truncate: 4.0.0
colorette: 2.0.20
eventemitter3: 5.0.1
log-update: 6.0.0
- rfdc: 1.4.1
+ rfdc: 1.3.0
wrap-ansi: 9.0.0
loader-utils@1.4.2:
@@ -5144,6 +5832,11 @@ snapshots:
emojis-list: 3.0.0
json5: 1.0.2
+ local-pkg@0.5.0:
+ dependencies:
+ mlly: 1.7.0
+ pkg-types: 1.1.1
+
locate-path@6.0.0:
dependencies:
p-locate: 5.0.0
@@ -5154,14 +5847,22 @@ snapshots:
lodash-es@4.17.21: {}
- lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21):
+ lodash-unified@1.0.3(@types/lodash-es@4.17.7)(lodash-es@4.17.21)(lodash@4.17.21):
dependencies:
- '@types/lodash-es': 4.17.12
+ '@types/lodash-es': 4.17.7
lodash: 4.17.21
lodash-es: 4.17.21
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.isplainobject@4.0.6: {}
lodash.kebabcase@4.1.1: {}
@@ -5174,6 +5875,10 @@ snapshots:
lodash.startcase@4.4.0: {}
+ lodash.throttle@4.1.1: {}
+
+ lodash.toarray@4.4.0: {}
+
lodash.truncate@4.4.2: {}
lodash.uniq@4.5.0: {}
@@ -5242,11 +5947,21 @@ snapshots:
transitivePeerDependencies:
- supports-color
- micromatch@4.0.7:
+ micromatch@4.0.5:
dependencies:
- braces: 3.0.3
+ braces: 3.0.2
picomatch: 2.3.1
+ mime-db@1.52.0: {}
+
+ mime-match@1.0.2:
+ dependencies:
+ wildcard: 1.1.2
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
mimic-fn@2.1.0: {}
mimic-fn@4.0.0: {}
@@ -5266,12 +5981,23 @@ snapshots:
for-in: 1.0.2
is-extendable: 1.0.1
+ mlly@1.7.0:
+ dependencies:
+ acorn: 8.11.3
+ pathe: 1.1.2
+ pkg-types: 1.1.1
+ ufo: 1.5.3
+
ms@2.0.0: {}
ms@2.1.2: {}
+ ms@2.1.3: {}
+
muggle-string@0.4.1: {}
+ namespace-emitter@2.0.1: {}
+
nanoid@3.3.7: {}
nanomatch@1.2.13:
@@ -5292,6 +6018,8 @@ snapshots:
natural-compare@1.4.0: {}
+ next-tick@1.1.0: {}
+
node-releases@2.0.14: {}
normalize-path@3.0.0: {}
@@ -5424,20 +6152,32 @@ snapshots:
pathe@0.2.0: {}
- picocolors@1.0.1: {}
+ pathe@1.1.2: {}
+
+ picocolors@1.0.0: {}
picomatch@2.3.1: {}
pidtree@0.6.0: {}
+ pinia-plugin-persistedstate@3.2.1(pinia@2.1.7(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))):
+ dependencies:
+ pinia: 2.1.7(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5))
+
pinia@2.1.7(typescript@5.4.5)(vue@3.4.27(typescript@5.4.5)):
dependencies:
'@vue/devtools-api': 6.5.0
vue: 3.4.27(typescript@5.4.5)
- vue-demi: 0.14.8(vue@3.4.27(typescript@5.4.5))
+ vue-demi: 0.14.7(vue@3.4.27(typescript@5.4.5))
optionalDependencies:
typescript: 5.4.5
+ pkg-types@1.1.1:
+ dependencies:
+ confbox: 0.1.7
+ mlly: 1.7.0
+ pathe: 1.1.2
+
posix-character-classes@0.1.1: {}
possible-typed-array-names@1.0.0: {}
@@ -5469,7 +6209,7 @@ snapshots:
dependencies:
postcss: 8.4.38
- postcss-selector-parser@6.1.0:
+ postcss-selector-parser@6.0.16:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
@@ -5490,7 +6230,7 @@ snapshots:
postcss@8.4.38:
dependencies:
nanoid: 3.3.7
- picocolors: 1.0.1
+ picocolors: 1.0.0
source-map-js: 1.2.0
posthtml-parser@0.2.1:
@@ -5516,21 +6256,38 @@ snapshots:
posthtml-parser: 0.2.1
posthtml-render: 1.4.0
+ preact@10.24.3: {}
+
prelude-ls@1.2.1: {}
prettier-linter-helpers@1.0.0:
dependencies:
fast-diff: 1.2.0
- prettier@3.3.2: {}
+ prettier@3.2.5: {}
+
+ prismjs@1.29.0: {}
+
+ proxy-from-env@1.1.0: {}
punycode@2.3.0: {}
+ qs@6.11.1:
+ dependencies:
+ side-channel: 1.0.4
+
query-string@4.3.4:
dependencies:
object-assign: 4.1.1
strict-uri-encode: 1.1.0
+ query-string@7.1.3:
+ dependencies:
+ decode-uri-component: 0.2.2
+ filter-obj: 1.1.0
+ split-on-first: 1.1.0
+ strict-uri-encode: 2.0.0
+
queue-microtask@1.2.3: {}
readable-stream@3.6.2:
@@ -5543,6 +6300,8 @@ snapshots:
dependencies:
picomatch: 2.3.1
+ regenerator-runtime@0.14.1: {}
+
regex-not@1.0.2:
dependencies:
extend-shallow: 3.0.2
@@ -5555,6 +6314,8 @@ snapshots:
es-errors: 1.3.0
set-function-name: 2.0.2
+ regexpp@3.2.0: {}
+
repeat-element@1.1.4: {}
repeat-string@1.6.1: {}
@@ -5569,6 +6330,12 @@ snapshots:
resolve-url@0.2.1: {}
+ resolve@1.22.2:
+ dependencies:
+ is-core-module: 2.13.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
resolve@1.22.8:
dependencies:
is-core-module: 2.13.1
@@ -5584,32 +6351,32 @@ snapshots:
reusify@1.0.4: {}
- rfdc@1.4.1: {}
+ rfdc@1.3.0: {}
rimraf@3.0.2:
dependencies:
glob: 7.2.3
- rollup@4.18.0:
+ rollup@4.17.2:
dependencies:
'@types/estree': 1.0.5
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.18.0
- '@rollup/rollup-android-arm64': 4.18.0
- '@rollup/rollup-darwin-arm64': 4.18.0
- '@rollup/rollup-darwin-x64': 4.18.0
- '@rollup/rollup-linux-arm-gnueabihf': 4.18.0
- '@rollup/rollup-linux-arm-musleabihf': 4.18.0
- '@rollup/rollup-linux-arm64-gnu': 4.18.0
- '@rollup/rollup-linux-arm64-musl': 4.18.0
- '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0
- '@rollup/rollup-linux-riscv64-gnu': 4.18.0
- '@rollup/rollup-linux-s390x-gnu': 4.18.0
- '@rollup/rollup-linux-x64-gnu': 4.18.0
- '@rollup/rollup-linux-x64-musl': 4.18.0
- '@rollup/rollup-win32-arm64-msvc': 4.18.0
- '@rollup/rollup-win32-ia32-msvc': 4.18.0
- '@rollup/rollup-win32-x64-msvc': 4.18.0
+ '@rollup/rollup-android-arm-eabi': 4.17.2
+ '@rollup/rollup-android-arm64': 4.17.2
+ '@rollup/rollup-darwin-arm64': 4.17.2
+ '@rollup/rollup-darwin-x64': 4.17.2
+ '@rollup/rollup-linux-arm-gnueabihf': 4.17.2
+ '@rollup/rollup-linux-arm-musleabihf': 4.17.2
+ '@rollup/rollup-linux-arm64-gnu': 4.17.2
+ '@rollup/rollup-linux-arm64-musl': 4.17.2
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2
+ '@rollup/rollup-linux-riscv64-gnu': 4.17.2
+ '@rollup/rollup-linux-s390x-gnu': 4.17.2
+ '@rollup/rollup-linux-x64-gnu': 4.17.2
+ '@rollup/rollup-linux-x64-musl': 4.17.2
+ '@rollup/rollup-win32-arm64-msvc': 4.17.2
+ '@rollup/rollup-win32-ia32-msvc': 4.17.2
+ '@rollup/rollup-win32-x64-msvc': 4.17.2
fsevents: 2.3.3
run-parallel@1.2.0:
@@ -5635,15 +6402,25 @@ snapshots:
dependencies:
ret: 0.1.15
- sass@1.77.5:
+ sass@1.77.1:
dependencies:
chokidar: 3.5.3
immutable: 4.3.0
source-map-js: 1.0.2
+ screenfull@5.2.0: {}
+
+ scroll-into-view-if-needed@2.2.31:
+ dependencies:
+ compute-scroll-into-view: 1.0.20
+
+ scule@1.3.0: {}
+
+ semver@6.3.0: {}
+
semver@6.3.1: {}
- semver@7.3.8:
+ semver@7.5.0:
dependencies:
lru-cache: 6.0.0
@@ -5686,12 +6463,21 @@ snapshots:
signal-exit@3.0.7: {}
- signal-exit@4.0.2: {}
-
signal-exit@4.1.0: {}
slash@3.0.0: {}
+ slate-history@0.66.0(slate@0.72.8):
+ dependencies:
+ is-plain-object: 5.0.0
+ slate: 0.72.8
+
+ slate@0.72.8:
+ dependencies:
+ immer: 9.0.21
+ is-plain-object: 5.0.0
+ tiny-warning: 1.0.3
+
slice-ansi@4.0.0:
dependencies:
ansi-styles: 4.3.0
@@ -5708,6 +6494,8 @@ snapshots:
ansi-styles: 6.2.1
is-fullwidth-code-point: 5.0.0
+ snabbdom@3.6.2: {}
+
snapdragon-node@2.1.1:
dependencies:
define-property: 1.0.0
@@ -5749,12 +6537,16 @@ snapshots:
source-map@0.6.1: {}
+ split-on-first@1.1.0: {}
+
split-string@3.1.0:
dependencies:
extend-shallow: 3.0.2
split2@4.2.0: {}
+ ssr-window@3.0.0: {}
+
stable@0.1.8: {}
static-extend@0.1.2:
@@ -5764,6 +6556,8 @@ snapshots:
strict-uri-encode@1.1.0: {}
+ strict-uri-encode@2.0.0: {}
+
string-argv@0.3.2: {}
string-width@4.2.3:
@@ -5819,75 +6613,67 @@ snapshots:
strip-json-comments@3.1.1: {}
- stylelint-config-html@1.1.0(postcss-html@1.7.0)(stylelint@16.6.1(typescript@5.4.5)):
+ strip-literal@1.3.0:
+ dependencies:
+ acorn: 8.11.3
+
+ stylelint-config-html@1.1.0(postcss-html@1.7.0)(stylelint@16.5.0(typescript@5.4.5)):
dependencies:
postcss-html: 1.7.0
- stylelint: 16.6.1(typescript@5.4.5)
+ stylelint: 16.5.0(typescript@5.4.5)
- stylelint-config-recess-order@5.0.1(stylelint@16.6.1(typescript@5.4.5)):
+ stylelint-config-recess-order@5.0.1(stylelint@16.5.0(typescript@5.4.5)):
dependencies:
- stylelint: 16.6.1(typescript@5.4.5)
- stylelint-order: 6.0.4(stylelint@16.6.1(typescript@5.4.5))
+ stylelint: 16.5.0(typescript@5.4.5)
+ stylelint-order: 6.0.4(stylelint@16.5.0(typescript@5.4.5))
- stylelint-config-recommended-scss@14.0.0(postcss@8.4.38)(stylelint@16.6.1(typescript@5.4.5)):
+ stylelint-config-recommended-scss@14.0.0(postcss@8.4.38)(stylelint@16.5.0(typescript@5.4.5)):
dependencies:
postcss-scss: 4.0.9(postcss@8.4.38)
- stylelint: 16.6.1(typescript@5.4.5)
- stylelint-config-recommended: 14.0.0(stylelint@16.6.1(typescript@5.4.5))
- stylelint-scss: 6.3.1(stylelint@16.6.1(typescript@5.4.5))
+ stylelint: 16.5.0(typescript@5.4.5)
+ stylelint-config-recommended: 14.0.0(stylelint@16.5.0(typescript@5.4.5))
+ stylelint-scss: 6.3.0(stylelint@16.5.0(typescript@5.4.5))
optionalDependencies:
postcss: 8.4.38
- stylelint-config-recommended-vue@1.5.0(postcss-html@1.7.0)(stylelint@16.6.1(typescript@5.4.5)):
+ stylelint-config-recommended@14.0.0(stylelint@16.5.0(typescript@5.4.5)):
dependencies:
- postcss-html: 1.7.0
- semver: 7.3.8
- stylelint: 16.6.1(typescript@5.4.5)
- stylelint-config-html: 1.1.0(postcss-html@1.7.0)(stylelint@16.6.1(typescript@5.4.5))
- stylelint-config-recommended: 13.0.0(stylelint@16.6.1(typescript@5.4.5))
+ stylelint: 16.5.0(typescript@5.4.5)
- stylelint-config-recommended@13.0.0(stylelint@16.6.1(typescript@5.4.5)):
+ stylelint-config-standard-scss@13.1.0(postcss@8.4.38)(stylelint@16.5.0(typescript@5.4.5)):
dependencies:
- stylelint: 16.6.1(typescript@5.4.5)
-
- stylelint-config-recommended@14.0.0(stylelint@16.6.1(typescript@5.4.5)):
- dependencies:
- stylelint: 16.6.1(typescript@5.4.5)
-
- stylelint-config-standard-scss@13.1.0(postcss@8.4.38)(stylelint@16.6.1(typescript@5.4.5)):
- dependencies:
- stylelint: 16.6.1(typescript@5.4.5)
- stylelint-config-recommended-scss: 14.0.0(postcss@8.4.38)(stylelint@16.6.1(typescript@5.4.5))
- stylelint-config-standard: 36.0.0(stylelint@16.6.1(typescript@5.4.5))
+ stylelint: 16.5.0(typescript@5.4.5)
+ stylelint-config-recommended-scss: 14.0.0(postcss@8.4.38)(stylelint@16.5.0(typescript@5.4.5))
+ stylelint-config-standard: 36.0.0(stylelint@16.5.0(typescript@5.4.5))
optionalDependencies:
postcss: 8.4.38
- stylelint-config-standard@36.0.0(stylelint@16.6.1(typescript@5.4.5)):
+ stylelint-config-standard@36.0.0(stylelint@16.5.0(typescript@5.4.5)):
dependencies:
- stylelint: 16.6.1(typescript@5.4.5)
- stylelint-config-recommended: 14.0.0(stylelint@16.6.1(typescript@5.4.5))
+ stylelint: 16.5.0(typescript@5.4.5)
+ stylelint-config-recommended: 14.0.0(stylelint@16.5.0(typescript@5.4.5))
- stylelint-order@6.0.4(stylelint@16.6.1(typescript@5.4.5)):
+ stylelint-order@6.0.4(stylelint@16.5.0(typescript@5.4.5)):
dependencies:
postcss: 8.4.38
postcss-sorting: 8.0.2(postcss@8.4.38)
- stylelint: 16.6.1(typescript@5.4.5)
+ stylelint: 16.5.0(typescript@5.4.5)
- stylelint-scss@6.3.1(stylelint@16.6.1(typescript@5.4.5)):
+ stylelint-scss@6.3.0(stylelint@16.5.0(typescript@5.4.5)):
dependencies:
- known-css-properties: 0.31.0
+ known-css-properties: 0.30.0
postcss-media-query-parser: 0.2.3
postcss-resolve-nested-selector: 0.1.1
- postcss-selector-parser: 6.1.0
+ postcss-selector-parser: 6.0.16
postcss-value-parser: 4.2.0
- stylelint: 16.6.1(typescript@5.4.5)
+ stylelint: 16.5.0(typescript@5.4.5)
- stylelint@16.6.1(typescript@5.4.5):
+ stylelint@16.5.0(typescript@5.4.5):
dependencies:
'@csstools/css-parser-algorithms': 2.6.3(@csstools/css-tokenizer@2.3.1)
'@csstools/css-tokenizer': 2.3.1
'@csstools/media-query-list-parser': 2.1.11(@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1))(@csstools/css-tokenizer@2.3.1)
- '@csstools/selector-specificity': 3.1.1(postcss-selector-parser@6.1.0)
+ '@csstools/selector-specificity': 3.1.0(postcss-selector-parser@6.0.16)
'@dual-bundle/import-meta-resolve': 4.1.0
balanced-match: 2.0.0
colord: 2.9.3
@@ -5897,7 +6683,7 @@ snapshots:
debug: 4.3.4
fast-glob: 3.3.2
fastest-levenshtein: 1.0.16
- file-entry-cache: 9.0.0
+ file-entry-cache: 8.0.0
global-modules: 2.0.0
globby: 11.1.0
globjoin: 0.1.4
@@ -5905,16 +6691,16 @@ snapshots:
ignore: 5.3.1
imurmurhash: 0.1.4
is-plain-object: 5.0.0
- known-css-properties: 0.31.0
+ known-css-properties: 0.30.0
mathml-tag-names: 2.1.3
meow: 13.2.0
- micromatch: 4.0.7
+ micromatch: 4.0.5
normalize-path: 3.0.0
- picocolors: 1.0.1
+ picocolors: 1.0.0
postcss: 8.4.38
postcss-resolve-nested-selector: 0.1.1
postcss-safe-parser: 7.0.0(postcss@8.4.38)
- postcss-selector-parser: 6.1.0
+ postcss-selector-parser: 6.0.16
postcss-value-parser: 4.2.0
resolve-from: 5.0.0
string-width: 4.2.3
@@ -5975,13 +6761,13 @@ snapshots:
css-select: 4.3.0
css-tree: 1.1.3
csso: 4.2.0
- picocolors: 1.0.1
+ picocolors: 1.0.0
stable: 0.1.8
synckit@0.8.8:
dependencies:
'@pkgr/core': 0.1.1
- tslib: 2.6.3
+ tslib: 2.6.2
table@6.8.2:
dependencies:
@@ -5997,6 +6783,8 @@ snapshots:
through@2.3.8: {}
+ tiny-warning@1.0.3: {}
+
to-fast-properties@2.0.0: {}
to-object-path@0.3.0:
@@ -6034,7 +6822,7 @@ snapshots:
tslib@2.3.0: {}
- tslib@2.6.3: {}
+ tslib@2.6.2: {}
type-check@0.4.0:
dependencies:
@@ -6042,6 +6830,8 @@ snapshots:
type-fest@0.20.2: {}
+ type@2.7.3: {}
+
typed-array-buffer@1.0.2:
dependencies:
call-bind: 1.0.7
@@ -6076,6 +6866,8 @@ snapshots:
typescript@5.4.5: {}
+ ufo@1.5.3: {}
+
unbox-primitive@1.0.2:
dependencies:
call-bind: 1.0.7
@@ -6087,6 +6879,24 @@ snapshots:
unicorn-magic@0.1.0: {}
+ unimport@3.7.1(rollup@4.17.2):
+ dependencies:
+ '@rollup/pluginutils': 5.1.0(rollup@4.17.2)
+ acorn: 8.11.3
+ escape-string-regexp: 5.0.0
+ estree-walker: 3.0.3
+ fast-glob: 3.3.2
+ local-pkg: 0.5.0
+ magic-string: 0.30.10
+ mlly: 1.7.0
+ pathe: 1.1.2
+ pkg-types: 1.1.1
+ scule: 1.3.0
+ strip-literal: 1.3.0
+ unplugin: 1.10.1
+ transitivePeerDependencies:
+ - rollup
+
union-value@1.0.1:
dependencies:
arr-union: 3.1.0
@@ -6096,16 +6906,57 @@ snapshots:
universalify@2.0.0: {}
+ unplugin-auto-import@0.17.6(@vueuse/core@10.9.0(vue@3.4.27(typescript@5.4.5)))(rollup@4.17.2):
+ dependencies:
+ '@antfu/utils': 0.7.8
+ '@rollup/pluginutils': 5.1.0(rollup@4.17.2)
+ fast-glob: 3.3.2
+ local-pkg: 0.5.0
+ magic-string: 0.30.10
+ minimatch: 9.0.4
+ unimport: 3.7.1(rollup@4.17.2)
+ unplugin: 1.10.1
+ optionalDependencies:
+ '@vueuse/core': 10.9.0(vue@3.4.27(typescript@5.4.5))
+ transitivePeerDependencies:
+ - rollup
+
+ unplugin-vue-components@0.27.0(@babel/parser@7.24.5)(rollup@4.17.2)(vue@3.4.27(typescript@5.4.5)):
+ dependencies:
+ '@antfu/utils': 0.7.8
+ '@rollup/pluginutils': 5.1.0(rollup@4.17.2)
+ chokidar: 3.6.0
+ debug: 4.3.4
+ fast-glob: 3.3.2
+ local-pkg: 0.5.0
+ magic-string: 0.30.10
+ minimatch: 9.0.4
+ resolve: 1.22.8
+ unplugin: 1.10.1
+ vue: 3.4.27(typescript@5.4.5)
+ optionalDependencies:
+ '@babel/parser': 7.24.5
+ transitivePeerDependencies:
+ - rollup
+ - supports-color
+
+ unplugin@1.10.1:
+ dependencies:
+ acorn: 8.11.3
+ chokidar: 3.6.0
+ webpack-sources: 3.2.3
+ webpack-virtual-modules: 0.6.1
+
unset-value@1.0.0:
dependencies:
has-value: 0.3.1
isobject: 3.0.1
- update-browserslist-db@1.0.16(browserslist@4.23.1):
+ update-browserslist-db@1.0.15(browserslist@4.23.0):
dependencies:
- browserslist: 4.23.1
+ browserslist: 4.23.0
escalade: 3.1.2
- picocolors: 1.0.1
+ picocolors: 1.0.0
uri-js@4.4.1:
dependencies:
@@ -6119,7 +6970,16 @@ snapshots:
vary@1.1.2: {}
- vite-plugin-svg-icons@2.0.1(vite@5.2.13(@types/node@20.14.2)(sass@1.77.5)):
+ vite-plugin-compression@0.5.1(vite@5.2.11(@types/node@18.19.33)(sass@1.77.1)):
+ dependencies:
+ chalk: 4.1.2
+ debug: 4.3.4
+ fs-extra: 10.1.0
+ vite: 5.2.11(@types/node@18.19.33)(sass@1.77.1)
+ transitivePeerDependencies:
+ - supports-color
+
+ vite-plugin-svg-icons@2.0.1(vite@5.2.11(@types/node@18.19.33)(sass@1.77.1)):
dependencies:
'@types/svgo': 2.6.4
cors: 2.8.5
@@ -6129,27 +6989,25 @@ snapshots:
pathe: 0.2.0
svg-baker: 1.7.0
svgo: 2.8.0
- vite: 5.2.13(@types/node@20.14.2)(sass@1.77.5)
+ vite: 5.2.11(@types/node@18.19.33)(sass@1.77.1)
transitivePeerDependencies:
- supports-color
- vite@5.2.13(@types/node@20.14.2)(sass@1.77.5):
+ vite@5.2.11(@types/node@18.19.33)(sass@1.77.1):
dependencies:
esbuild: 0.20.2
postcss: 8.4.38
- rollup: 4.18.0
+ rollup: 4.17.2
optionalDependencies:
- '@types/node': 20.14.2
+ '@types/node': 18.19.33
fsevents: 2.3.3
- sass: 1.77.5
-
- vscode-uri@3.0.8: {}
+ sass: 1.77.1
vue-demi@0.13.11(vue@3.4.27(typescript@5.4.5)):
dependencies:
vue: 3.4.27(typescript@5.4.5)
- vue-demi@0.14.8(vue@3.4.27(typescript@5.4.5)):
+ vue-demi@0.14.7(vue@3.4.27(typescript@5.4.5)):
dependencies:
vue: 3.4.27(typescript@5.4.5)
@@ -6163,22 +7021,33 @@ snapshots:
transitivePeerDependencies:
- '@vue/composition-api'
- vue-eslint-parser@9.4.3(eslint@8.57.0):
+ vue-eslint-parser@9.4.2(eslint@8.57.0):
dependencies:
debug: 4.3.4
eslint: 8.57.0
- eslint-scope: 7.1.1
+ eslint-scope: 7.2.0
eslint-visitor-keys: 3.4.0
espree: 9.5.1
esquery: 1.5.0
lodash: 4.17.21
- semver: 7.6.2
+ semver: 7.5.0
transitivePeerDependencies:
- supports-color
- vue-router@4.3.3(vue@3.4.27(typescript@5.4.5)):
+ vue-hooks-plus@2.0.1(vue@3.4.27(typescript@5.4.5)):
dependencies:
- '@vue/devtools-api': 6.6.3
+ '@types/js-cookie': 3.0.3
+ '@vue/devtools-api': 6.6.1
+ js-cookie: 3.0.5
+ lodash: 4.17.21
+ qs: 6.11.1
+ query-string: 7.1.3
+ screenfull: 5.2.0
+ vue: 3.4.27(typescript@5.4.5)
+
+ vue-router@4.3.2(vue@3.4.27(typescript@5.4.5)):
+ dependencies:
+ '@vue/devtools-api': 6.6.1
vue: 3.4.27(typescript@5.4.5)
vue-template-compiler@2.7.14:
@@ -6186,10 +7055,10 @@ snapshots:
de-indent: 1.0.2
he: 1.2.0
- vue-tsc@2.0.21(typescript@5.4.5):
+ vue-tsc@2.0.17(typescript@5.4.5):
dependencies:
- '@volar/typescript': 2.3.0
- '@vue/language-core': 2.0.21(typescript@5.4.5)
+ '@volar/typescript': 2.2.2
+ '@vue/language-core': 2.0.17(typescript@5.4.5)
semver: 7.6.2
typescript: 5.4.5
@@ -6203,6 +7072,10 @@ snapshots:
optionalDependencies:
typescript: 5.4.5
+ webpack-sources@3.2.3: {}
+
+ webpack-virtual-modules@0.6.1: {}
+
which-boxed-primitive@1.0.2:
dependencies:
is-bigint: 1.0.4
@@ -6227,6 +7100,8 @@ snapshots:
dependencies:
isexe: 2.0.0
+ wildcard@1.1.2: {}
+
word-wrap@1.2.5: {}
wrap-ansi@7.0.0:
@@ -6246,7 +7121,7 @@ snapshots:
write-file-atomic@5.0.1:
dependencies:
imurmurhash: 0.1.4
- signal-exit: 4.0.2
+ signal-exit: 4.1.0
xml-name-validator@4.0.0: {}
@@ -6254,14 +7129,14 @@ snapshots:
yallist@4.0.0: {}
- yaml@2.4.5: {}
+ yaml@2.3.4: {}
yargs-parser@21.1.1: {}
yargs@17.7.1:
dependencies:
cliui: 8.0.1
- escalade: 3.1.1
+ escalade: 3.1.2
get-caller-file: 2.0.5
require-directory: 2.1.1
string-width: 4.2.3
diff --git a/src/App.vue b/src/App.vue
index 36059cc..8ceafc3 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,30 @@
-
+
+
+
+
+
diff --git a/src/api/ApiManage/index.ts b/src/api/ApiManage/index.ts
new file mode 100644
index 0000000..de4f417
--- /dev/null
+++ b/src/api/ApiManage/index.ts
@@ -0,0 +1,56 @@
+import { PageRowsResult, PageRowsType } from '@/types';
+import { ApiManageType, StatisticsType } from '@/types/help';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ apiDel: '/cargo/api/delete', // 删除
+ apiGet: '/cargo/api/get', // 获取
+ apiPage: '/cargo/api/page', // 分页列表
+ apiSave: '/cargo/api/save', // 保存
+ statistics: '/cargo/statistics/', // 首页数据统计
+};
+
+/**
+ * 删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postApiDeleteAPI(data: number[]) {
+ return http.post(api.apiDel, data);
+}
+
+/**
+ * 获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function postApiGetAPI(data: { id: number | string }) {
+ return http.postParams(api.apiGet, data);
+}
+
+/**
+ * 分页列表
+ * @param {PageRowsType} data 查询条件
+ * @return 返回请求分页列表接口的结果
+ */
+export function postApiPageAPI(data: Partial) {
+ return http.post>(api.apiPage, data);
+}
+
+/**
+ * 保存
+ * @param {ApiManageType} data 保存参数
+ * @return 返回接口的结果
+ */
+export function postApiSaveAPI(data: Partial) {
+ return http.post(api.apiSave, data);
+}
+
+/**
+ * 首页数据统计
+ * @return 返回接口的结果
+ */
+export function getStatisticsAPI() {
+ return http.get(api.statistics);
+}
diff --git a/src/api/Boat/info.ts b/src/api/Boat/info.ts
new file mode 100644
index 0000000..fd7e8d0
--- /dev/null
+++ b/src/api/Boat/info.ts
@@ -0,0 +1,82 @@
+import { PageRowsResult } from '@/types';
+import { BoatInfoPageType, BoatInfoType } from '@/types/boatInfo';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ sailScheduleDelete: '/cargo/sail_schedule/delete', // 删除
+ sailScheduleGet: '/cargo/sail_schedule/get', // 获取
+ sailSchedulePage: '/cargo/sail_schedule/page', // 分页列表
+ sailScheduleSave: '/cargo/sail_schedule/save', // 保存
+ sailScheduleTmpExport: '/cargo/sail_schedule/tmp/export', // 船期模板下载
+ sailScheduleImport: '/cargo/sail_schedule/import', // 导入
+ historyList: '/cargo/sail_schedule/history/page', // 历史数据
+};
+
+/**
+ * 删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function getSailScheduleDeleteAPI(data: number[]) {
+ return http.post(api.sailScheduleDelete, data);
+}
+
+/**
+ * 获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function getSailScheduleGetAPI(data: { id: number | string }) {
+ return http.postParams(api.sailScheduleGet, data);
+}
+
+/**
+ * 分页列表
+ * @param {getUserListType} data 分页信息
+ * @return 返回请求分页列表接口的结果
+ */
+export function getSailSchedulePageAPI(data: Partial) {
+ return http.post>(api.sailSchedulePage, data);
+}
+
+/**
+ * 保存
+ * @param {BoatInfoType} data 船期信息
+ * @return 返回请求保存接口的结果
+ */
+export function getSailScheduleSaveAPI(data: Partial) {
+ return http.post(api.sailScheduleSave, data);
+}
+
+/**
+ * 船期模板下载
+ * @return 返回请求下载接口的结果
+ */
+export function getSailScheduleTmpExportAPI() {
+ return http.get(
+ api.sailScheduleTmpExport,
+ {},
+ {
+ responseType: 'arraybuffer',
+ }
+ );
+}
+
+/**
+ * 导入
+ * @param {File} data 文件
+ * @return 返回请求导入接口的结果
+ */
+export function getSailScheduleImportAPI(data: { file: File }) {
+ return http.post(api.sailScheduleImport, data);
+}
+
+/**
+ * 历史数据
+ * @param {BoatInfoPageType} data 分页信息
+ * @return 返回请求分页列表接口的结果
+ */
+export function getHistoryListAPI(data: Partial) {
+ return http.post>(api.historyList, data);
+}
diff --git a/src/api/BoatRoute/index.ts b/src/api/BoatRoute/index.ts
new file mode 100644
index 0000000..a2421ab
--- /dev/null
+++ b/src/api/BoatRoute/index.ts
@@ -0,0 +1,57 @@
+import { dictionaryListType, dictionaryType, PageRowsResult } from '@/types';
+import { BoatRoutePageType, BoatRouteType } from '@/types/boatInfo';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ routeDel: '/cargo/route/delete', // 删除
+ routeGet: '/cargo/route/get', // 获取
+ routePage: '/cargo/route/page', // 分页列表
+ routeList: '/cargo/route/list', // 字典列表
+ routeSave: '/cargo/route/save', // 保存
+};
+
+/**
+ * 删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postRouteDeleteAPI(data: number[]) {
+ return http.post(api.routeDel, data);
+}
+
+/**
+ * 获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function postRouteGetAPI(data: { id: number | string }) {
+ return http.postParams(api.routeGet, data);
+}
+
+/**
+ * 分页列表
+ * @param {BoatRoutePageType} data 查询条件
+ * @return 返回请求分页列表接口的结果
+ */
+export function postRoutePageAPI(data: Partial) {
+ return http.post>(api.routePage, data);
+}
+
+/**
+ * 字典列表
+ * @param {dictionaryType} data 字典参数
+ * @return 返回请求字典列表接口的结果
+ */
+export function postRouteListAPI(data: dictionaryType) {
+ return http.postParams(api.routeList, data);
+}
+
+/**
+ * 保存
+ * @param {BoatRouteType} data 航线信息
+ * @return 返回请求保存接口的结果
+ */
+export function postRouteSaveAPI(data: Partial) {
+ return http.post(api.routeSave, data);
+}
diff --git a/src/api/Brand/index.ts b/src/api/Brand/index.ts
new file mode 100644
index 0000000..0e5867e
--- /dev/null
+++ b/src/api/Brand/index.ts
@@ -0,0 +1,57 @@
+import { dictionaryListType, dictionaryType, PageRowsResult } from '@/types';
+import { BrandPageType, BrandType } from '@/types/platform';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ brandDel: '/cargo/brand/delete', // 删除
+ brandGet: '/cargo/brand/get', // 获取
+ brandList: '/cargo/brand/list', // 字典列表
+ brandPage: '/cargo/brand/page', // 分页列表
+ brandSave: '/cargo/brand/save', // 保存
+};
+
+/**
+ * 品牌删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postBrandDeleteAPI(data: number[]) {
+ return http.post(api.brandDel, data);
+}
+
+/**
+ * 品牌获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function postBrandGetAPI(data: { id: number | string }) {
+ return http.postParams(api.brandGet, data);
+}
+
+/**
+ * 品牌字典列表
+ * @param {dictionaryType} data 查询条件
+ * @return 返回请求列表接口的结果
+ */
+export function postBrandListAPI(data: dictionaryType) {
+ return http.postParams(api.brandList, data);
+}
+
+/**
+ * 品牌分页列表
+ * @param {BrandPageType} data 查询条件
+ * @return 返回请求分页列表接口的结果
+ */
+export function postBrandPageAPI(data: Partial) {
+ return http.post>(api.brandPage, data);
+}
+
+/**
+ * 品牌保存
+ * @param {BrandType} data 保存参数
+ * @return 返回请求保存接口的结果
+ */
+export function postBrandSaveAPI(data: Partial) {
+ return http.post(api.brandSave, data);
+}
diff --git a/src/api/Enterprise/company.ts b/src/api/Enterprise/company.ts
new file mode 100644
index 0000000..c957136
--- /dev/null
+++ b/src/api/Enterprise/company.ts
@@ -0,0 +1,169 @@
+import { dictionaryListType, dictionaryType, PageRowsResult } from '@/types';
+import { EnterpriseType } from '@/types/boatInfo';
+import { EmployeeType, EnterprisePageType, EnterpriseRegisterType } from '@/types/Enterprise';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ enterpriseDel: '/cargo/enterprise/delete', // 删除
+ enterpriseDisable: '/cargo/enterprise/disable', // 禁用
+ enterpriseEnable: '/cargo/enterprise/enable', // 启用
+ employeeAdd: '/cargo/enterprise/employee/add', // 添加员工
+ enterpriseGet: '/cargo/enterprise/get', // 获取
+ enterpriseIDImg: '/cargo/enterprise/image/id', // 获取身份证照片
+ enterpriseLicenseImg: '/cargo/enterprise/image/license', // 获取营业执照照片
+ enterprisePage: '/cargo/enterprise/page', // 分页列表
+ enterpriseList: '/cargo/enterprise/list', // 字典列表
+ enterpriseReg: '/cargo/enterprise/reg', // 企业注册
+ enterpriseRegCount: '/cargo/enterprise/reg/audit/count', // 企业注册待审核数量
+ enterpriseRegPass: '/cargo/enterprise/reg/audit/pass', // 企业注册审核通过
+ enterpriseSave: '/cargo/enterprise/save', // 保存
+ enterpriseUpload: '/cargo/enterprise/upload', // 文件上传
+};
+
+/**
+ * 删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postEnterpriseDeleteAPI(data: number[]) {
+ return http.post(api.enterpriseDel, data);
+}
+
+/**
+ * 禁用
+ * @param {number} data id
+ * @return 返回请求禁用接口的结果
+ */
+export function postEnterpriseDisableAPI(data: number[]) {
+ return http.post(api.enterpriseDisable, data);
+}
+
+/**
+ * 启用
+ * @param {number} data id
+ * @return 返回请求启用接口的结果
+ */
+export function postEnterpriseEnableAPI(data: number[]) {
+ return http.post(api.enterpriseEnable, data);
+}
+
+/**
+ * 添加员工
+ * @param {EmployeeType} data 员工信息
+ * @return 返回请求添加员工接口的结果
+ */
+export function postEmployeeAddAPI(data: Partial) {
+ return http.post(api.employeeAdd, data);
+}
+
+/**
+ * 获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function postEnterpriseGetAPI(data: { id: number | string }) {
+ return http.postParams(api.enterpriseGet, data);
+}
+
+/**
+ * 获取身份证照片
+ * @param {number|string} id id
+ * @return 返回请求获取身份证照片接口的结果
+ */
+export function getEnterpriseIDImgAPI(id: number | string) {
+ return http.get(
+ `${api.enterpriseIDImg}/${id}`,
+ {},
+ {
+ responseType: 'arraybuffer',
+ }
+ );
+}
+
+/**
+ * 获取营业执照照片
+ * @param {number|string} id id
+ * @return 返回请求获取营业执照照片接口的结果
+ */
+export function getEnterpriseLicenseImgAPI(id: number | string) {
+ return http.get(
+ `${api.enterpriseLicenseImg}/${id}`,
+ {},
+ {
+ responseType: 'arraybuffer',
+ }
+ );
+}
+
+/**
+ * 分页列表
+ * @param {EnterprisePageType} data 查询条件
+ * @return 返回请求分页列表接口的结果
+ */
+export function postEnterprisePageAPI(data: Partial) {
+ return http.post>(api.enterprisePage, data);
+}
+
+/**
+ * 字典列表
+ * @param {dictionaryType} data 字典参数
+ * @return 返回请求字典列表接口的结果
+ */
+export function postEnterpriseListAPI(data: dictionaryType) {
+ return http.postParams(api.enterpriseList, data);
+}
+
+/**
+ * 企业注册
+ * @param {EnterpriseRegisterType} data 企业信息
+ * @return 返回请求企业注册接口的结果
+ */
+export function postEnterpriseRegAPI(data: Partial) {
+ return http.post(api.enterpriseReg, data);
+}
+
+/**
+ * 企业注册待审核数量
+ * @return 返回请求企业注册待审核数量接口的结果
+ */
+export function getEnterpriseRegCountAPI() {
+ return http.post(api.enterpriseRegCount);
+}
+
+/**
+ * 企业注册审核通过
+ * @param {number} data id
+ * @return 返回请求企业注册审核通过接口的结果
+ */
+export function postEnterpriseRegPassAPI(data: number[]) {
+ return http.post(api.enterpriseRegPass, data);
+}
+
+/**
+ * 保存
+ * @param {EnterpriseType} data 企业信息
+ * @return 返回请求保存接口的结果
+ */
+export function postEnterpriseSaveAPI(data: Partial) {
+ return http.post(api.enterpriseSave, data);
+}
+
+/**
+ * 文件上传
+ * @param {File} data 文件
+ * @return 返回请求文件上传接口的结果
+ */
+export function postEnterpriseUploadAPI(
+ data: { file: File },
+ config: { type: number; no: string | number }
+) {
+ return http.post(api.enterpriseUpload, data, {
+ headers: {
+ 'Content-Type': 'multipart/form-data',
+ },
+ params: {
+ ...config,
+ },
+ });
+}
diff --git a/src/api/Enterprise/employee.ts b/src/api/Enterprise/employee.ts
new file mode 100644
index 0000000..e5ba1e5
--- /dev/null
+++ b/src/api/Enterprise/employee.ts
@@ -0,0 +1,77 @@
+import { dictionaryListType, dictionaryType, PageRowsResult } from '@/types';
+import { EmployeePageType, EmployeeType } from '@/types/Enterprise';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ employeeDel: '/cargo/employee/delete', // 删除
+ employeeDisable: '/cargo/employee/disable', // 禁用
+ employeeEnable: '/cargo/employee/enable', // 启用
+ employeeGet: '/cargo/employee/get', // 获取
+ employeeList: '/cargo/employee/list', // 字典列表
+ employeePage: '/cargo/employee/page', // 分页列表
+ employeeSave: '/cargo/enterprise/employee/add', // 保存
+};
+
+/**
+ * 删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postEmployeeDeleteAPI(data: number[]) {
+ return http.post(api.employeeDel, data);
+}
+
+/**
+ * 禁用
+ * @param {number} data id
+ * @return 返回请求禁用接口的结果
+ */
+export function postEmployeeDisableAPI(data: number[]) {
+ return http.post(api.employeeDisable, data);
+}
+
+/**
+ * 启用
+ * @param {number} data id
+ * @return 返回请求启用接口的结果
+ */
+export function postEmployeeEnableAPI(data: number[]) {
+ return http.post(api.employeeEnable, data);
+}
+
+/**
+ * 获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function postEmployeeGetAPI(data: { id: number | string }) {
+ return http.postParams(api.employeeGet, data);
+}
+
+/**
+ * 分页列表
+ * @param {EmployeePageType} data 查询条件
+ * @return 返回请求分页列表接口的结果
+ */
+export function postEmployeePageAPI(data: Partial) {
+ return http.post>(api.employeePage, data);
+}
+
+/**
+ * 字典列表
+ * @param {dictionaryType} data 字典参数
+ * @return 返回请求字典列表接口的结果
+ */
+export function postEmployeeListAPI(data: dictionaryType) {
+ return http.postParams(api.employeeList, data);
+}
+
+/**
+ * 保存
+ * @param {EmployeeType} data 员工信息
+ * @return 返回请求保存接口的结果
+ */
+export function postEmployeeSaveAPI(data: Partial) {
+ return http.post(api.employeeSave, data);
+}
diff --git a/src/api/Help/index.ts b/src/api/Help/index.ts
new file mode 100644
index 0000000..8bce31f
--- /dev/null
+++ b/src/api/Help/index.ts
@@ -0,0 +1,47 @@
+import { PageRowsResult, PageRowsType } from '@/types';
+import { HelpType } from '@/types/help';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ helpDel: '/cargo/help/delete', // 删除
+ helpGet: '/cargo/help/get', // 获取
+ helpPage: '/cargo/help/page', // 分页列表
+ helpSave: '/cargo/help/save', // 保存
+};
+
+/**
+ * 帮助文档删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postHelpDeleteAPI(data: number[]) {
+ return http.post(api.helpDel, data);
+}
+
+/**
+ * 获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function postHelpGetAPI(data: { id: number | string }) {
+ return http.postParams(api.helpGet, data);
+}
+
+/**
+ * 分页列表
+ * @param {PageRowsType} data 查询条件
+ * @return 返回请求分页列表接口的结果
+ */
+export function postHelpPageAPI(data: Partial) {
+ return http.post>(api.helpPage, data);
+}
+
+/**
+ * 保存帮助中心
+ * @param {HelpType} data 参数
+ * @return 返回请求保存接口的结果
+ */
+export function postHelpSaveAPI(data: Partial) {
+ return http.post(api.helpSave, data);
+}
diff --git a/src/api/Manifest/detail.ts b/src/api/Manifest/detail.ts
new file mode 100644
index 0000000..2be4794
--- /dev/null
+++ b/src/api/Manifest/detail.ts
@@ -0,0 +1,72 @@
+import { PageRowsResult } from '@/types';
+import { ManifestDetailPageType, ManifestDetailType } from '@/types/manifest';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ manifestDel: '/cargo/manifest/detail/delete', // 删除
+ manifestGet: '/cargo/manifest/detail/get', // 获取
+ manifestPage: '/cargo/manifest/detail/page', // 分页列表
+ manifestSave: '/cargo/manifest/detail/save', // 保存
+ manifestImport: '/cargo/manifest/detail/import', // 舱单导入
+ manifestExport: '/cargo/manifest/detail/tmp/export', // 下载模版
+};
+
+/**
+ * 舱单详情删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postManifestDetailDeleteAPI(data: number[]) {
+ return http.post(api.manifestDel, data);
+}
+
+/**
+ * 舱单详情获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function getManifestDetailGetAPI(data: { id: number | string }) {
+ return http.postParams(api.manifestGet, data);
+}
+
+/**
+ * 舱单详情分页列表
+ * @param {ManifestDetailPageType} data 查询参数
+ * @return 返回请求分页列表接口的结果
+ */
+export function getManifestDetailPageAPI(data: Partial) {
+ return http.post>(api.manifestPage, data);
+}
+
+/**
+ * 舱单明细保存
+ * @param {ManifestDetailType} data 参数
+ * @return 返回请求保存接口的结果
+ */
+export function postManifestDetailSaveAPI(data: Partial) {
+ return http.post(api.manifestSave, data);
+}
+
+/**
+ * 导入
+ * @param {File} data 文件
+ * @return 返回请求导入接口的结果
+ */
+export function getManifestDetailImportAPI(data: { file?: File; scheduleId: number | string }) {
+ return http.post(api.manifestImport, data);
+}
+
+/**
+ * 模板下载
+ * @return 返回请求下载接口的结果
+ */
+export function getManifestDetailTmpExportAPI() {
+ return http.get(
+ api.manifestExport,
+ {},
+ {
+ responseType: 'arraybuffer',
+ }
+ );
+}
diff --git a/src/api/Manifest/index.ts b/src/api/Manifest/index.ts
new file mode 100644
index 0000000..1587920
--- /dev/null
+++ b/src/api/Manifest/index.ts
@@ -0,0 +1,72 @@
+import { PageRowsResult } from '@/types';
+import { ManifestPageType, ManifestType } from '@/types/manifest';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ manifestDel: '/cargo/manifest/delete', // 删除
+ manifestGet: '/cargo/manifest/get', // 获取
+ manifestPage: '/cargo/manifest/page', // 分页列表
+ manifestSave: '/cargo/manifest/save', // 保存
+ manifestImport: '/cargo/manifest/import', // 舱单导入
+ manifestExport: '/cargo/manifest/tmp/export', // 下载模版
+};
+
+/**
+ * 舱单删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postManifestDeleteAPI(data: number[]) {
+ return http.post(api.manifestDel, data);
+}
+
+/**
+ * 舱单获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function getManifestGetAPI(data: { id: number | string }) {
+ return http.postParams(api.manifestGet, data);
+}
+
+/**
+ * 舱单分页列表
+ * @param {ManifestPageType} data 查询参数
+ * @return 返回请求分页列表接口的结果
+ */
+export function getManifestPageAPI(data: Partial) {
+ return http.post>(api.manifestPage, data);
+}
+
+/**
+ * 舱单保存
+ * @param {ManifestType} data 参数
+ * @return 返回请求保存接口的结果
+ */
+export function postManifestSaveAPI(data: Partial) {
+ return http.post(api.manifestSave, data);
+}
+
+/**
+ * 导入
+ * @param {File} data 文件
+ * @return 返回请求导入接口的结果
+ */
+export function getManifestImportAPI(data: { file?: File; scheduleId: number | string }) {
+ return http.post(api.manifestImport, data);
+}
+
+/**
+ * 模板下载
+ * @return 返回请求下载接口的结果
+ */
+export function getManifestTmpExportAPI() {
+ return http.get(
+ api.manifestExport,
+ {},
+ {
+ responseType: 'arraybuffer',
+ }
+ );
+}
diff --git a/src/api/Notice/index.ts b/src/api/Notice/index.ts
new file mode 100644
index 0000000..5afe7b4
--- /dev/null
+++ b/src/api/Notice/index.ts
@@ -0,0 +1,56 @@
+import { PageRowsResult } from '@/types';
+import { NoticePageType, NoticeType } from '@/types/notice';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ noticeCount: '/cargo/notice/count', // 公告数量
+ noticeDel: '/cargo/notice/delete', // 删除
+ noticeGet: '/cargo/notice/get', // 获取
+ noticePage: '/cargo/notice/page', // 分页列表
+ noticeSave: '/cargo/notice/save', // 保存
+};
+
+/**
+ * 删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function noticeDeleteAPI(data: number[]) {
+ return http.post(api.noticeDel, data);
+}
+
+/**
+ * 获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function noticeGetAPI(data: { id: number | string }) {
+ return http.postParams(api.noticeGet, data);
+}
+
+/**
+ * 公告分页列表
+ * @param {NoticePageType} data 查询条件
+ * @return 返回请求分页列表接口的结果
+ */
+export function noticePageAPI(data: Partial) {
+ return http.post>(api.noticePage, data);
+}
+
+/**
+ * 保存
+ * @param {NoticeType} data 企业信息
+ * @return 返回请求保存接口的结果
+ */
+export function noticeSaveAPI(data: Partial) {
+ return http.post(api.noticeSave, data);
+}
+
+/**
+ * 公告数量
+ * @return 返回请求公告数量接口的结果
+ */
+export function noticeCountAPI() {
+ return http.get(api.noticeCount);
+}
diff --git a/src/api/Port/index.ts b/src/api/Port/index.ts
new file mode 100644
index 0000000..bcedf76
--- /dev/null
+++ b/src/api/Port/index.ts
@@ -0,0 +1,67 @@
+import { dictionaryListType, dictionaryType, PageRowsResult } from '@/types';
+import { PortPageType, PortType, ProvinceCityType } from '@/types/boatInfo';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ portDel: '/cargo/port/delete', // 删除
+ portGet: '/cargo/port/get', // 获取
+ portList: '/cargo/port/list', // 字典列表
+ portPage: '/cargo/port/page', // 分页列表
+ portSave: '/cargo/port/save', // 保存
+ cityList: '/cargo/city/list', // 城市列表
+};
+
+/**
+ * 删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postPortDeleteAPI(data: number[]) {
+ return http.post(api.portDel, data);
+}
+
+/**
+ * 获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function postPortGetAPI(data: { id: number | string }) {
+ return http.postParams(api.portGet, data);
+}
+
+/**
+ * 字典列表
+ * @param {dictionaryType} data 字典参数
+ * @return 返回请求字典列表接口的结果
+ */
+export function postPortListAPI(data: dictionaryType) {
+ return http.postParams(api.portList, data);
+}
+
+/**
+ * 分页列表
+ * @param {PortPageType} data 分页参数
+ * @return 返回请求分页列表接口的结果
+ */
+export function postPortPageAPI(data: Partial) {
+ return http.post>(api.portPage, data);
+}
+
+/**
+ * 保存
+ * @param {PortType} data 企业信息
+ * @return 返回请求保存接口的结果
+ */
+export function postPortSaveAPI(data: Partial) {
+ return http.post(api.portSave, data);
+}
+
+/**
+ * 城市列表
+ * @param {number|string} id 城市id
+ * @return 返回请求城市列表接口的结果
+ */
+export function getCityListAPI(id?: number | string) {
+ return http.get(api.cityList, { id });
+}
diff --git a/src/api/Ship/index.ts b/src/api/Ship/index.ts
new file mode 100644
index 0000000..b380883
--- /dev/null
+++ b/src/api/Ship/index.ts
@@ -0,0 +1,57 @@
+import { dictionaryListType, dictionaryType, PageRowsResult } from '@/types';
+import { ShipPageType, ShipType } from '@/types/boatInfo';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ shipDel: '/cargo/ship/delete', // 删除
+ shipGet: '/cargo/ship/get', // 获取
+ shipList: '/cargo/ship/list', // 字典列表
+ shipPage: '/cargo/ship/page', // 分页列表
+ shipSave: '/cargo/ship/save', // 保存
+};
+
+/**
+ * 船舶删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postShipDeleteAPI(data: number[]) {
+ return http.post(api.shipDel, data);
+}
+
+/**
+ * 船舶获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function postShipGetAPI(data: { id: number | string }) {
+ return http.postParams(api.shipGet, data);
+}
+
+/**
+ * 船舶字典列表
+ * @param {dictionaryType} data 字典参数
+ * @return 返回请求字典列表接口的结果
+ */
+export function postShipListAPI(data: dictionaryType) {
+ return http.postParams(api.shipList, data);
+}
+
+/**
+ * 船舶分页列表
+ * @param {ShipPageType} data 查询条件
+ * @return 返回请求分页列表接口的结果
+ */
+export function postShipPageAPI(data: Partial) {
+ return http.post>(api.shipPage, data);
+}
+
+/**
+ * 船舶保存
+ * @param {ShipType} data 保存参数
+ * @return 返回请求保存接口的结果
+ */
+export function postShipSaveAPI(data: Partial) {
+ return http.post(api.shipSave, data);
+}
diff --git a/src/api/ShipChart/index.ts b/src/api/ShipChart/index.ts
new file mode 100644
index 0000000..0384b30
--- /dev/null
+++ b/src/api/ShipChart/index.ts
@@ -0,0 +1,57 @@
+import { dictionaryListType, dictionaryType, PageRowsResult } from '@/types';
+import { ShipChartPageType, ShipChartType } from '@/types/boatInfo';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ shipChartDel: '/cargo/ship/chart/delete', // 删除
+ shipChartGet: '/cargo/ship/chart/get', // 获取
+ shipChartList: '/cargo/ship/chart/list', // 字典列表
+ shipChartPage: '/cargo/ship/chart/page', // 分页列表
+ shipChartSave: '/cargo/ship/chart/save', // 保存
+};
+
+/**
+ * 船图删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postShipChartDeleteAPI(data: number[]) {
+ return http.post(api.shipChartDel, data);
+}
+
+/**
+ * 船图获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function postShipChartGetAPI(data: { id: number | string }) {
+ return http.postParams(api.shipChartGet, data);
+}
+
+/**
+ * 船图字典列表
+ * @param {dictionaryType} data 字典参数
+ * @return 返回请求字典列表接口的结果
+ */
+export function postShipChartListAPI(data: dictionaryType) {
+ return http.postParams(api.shipChartList, data);
+}
+
+/**
+ * 船图分页列表
+ * @param {ShipChartPageType} data 查询条件
+ * @return 返回请求分页列表接口的结果
+ */
+export function postShipChartPageAPI(data: Partial) {
+ return http.post>(api.shipChartPage, data);
+}
+
+/**
+ * 船图保存
+ * @param {ShipChartType} data 保存参数
+ * @return 返回请求保存接口的结果
+ */
+export function postShipChartSaveAPI(data: Partial) {
+ return http.post(api.shipChartSave, data);
+}
diff --git a/src/api/Subscription/index.ts b/src/api/Subscription/index.ts
new file mode 100644
index 0000000..6466e54
--- /dev/null
+++ b/src/api/Subscription/index.ts
@@ -0,0 +1,77 @@
+import { PageRowsResult } from '@/types';
+import { SubscribePageType, SubscriptionType } from '@/types/subscription';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ subscriptionDel: '/cargo/subscribe/delete', // 删除
+ subscriptionGet: '/cargo/subscribe/get', // 获取
+ subscriptionPage: '/cargo/subscribe/page', // 分页列表
+ publishPage: '/cargo/subscribe/publish/page', // 我发布订阅分页列表
+ receivePage: '/cargo/subscribe/receive/page', // 我接受订阅分页列表
+ subscriptionSave: '/cargo/subscribe/save', // 保存
+ editStatus: '/cargo/subscribe/update', // 修改状态
+};
+
+/**
+ * 删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function subscriptionDeleteAPI(data: number[]) {
+ return http.post(api.subscriptionDel, data);
+}
+
+/**
+ * 获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function subscriptionGetAPI(data: { id: number | string }) {
+ return http.postParams(api.subscriptionGet, data);
+}
+
+/**
+ * 分页列表
+ * @param {SubscribePageType} data 分页查询参数
+ * @return 返回请求分页列表接口的结果
+ */
+export function subscriptionPageAPI(data: Partial) {
+ return http.post>(api.subscriptionPage, data);
+}
+
+/**
+ * 我发布订阅分页列表
+ * @param {SubscribePageType} data 分页查询参数
+ * @return 返回请求分页列表接口的结果
+ */
+export function publishPageAPI(data: Partial) {
+ return http.post>(api.publishPage, data);
+}
+
+/**
+ * 我接受订阅分页列表
+ * @param {SubscribePageType} data 分页查询参数
+ * @return 返回请求分页列表接口的结果
+ */
+export function receivePageAPI(data: Partial) {
+ return http.post>(api.receivePage, data);
+}
+
+/**
+ * 保存
+ * @param {SubscriptionType} data
+ * @return 返回请求保存接口的结果
+ */
+export function subscriptionSaveAPI(data: SubscriptionType) {
+ return http.post(api.subscriptionSave, data);
+}
+
+/**
+ * 修改状态
+ * @param data
+ * @return 返回请求保存接口的结果
+ */
+export function editStatusAPI(data: { id: string | number; status: string }) {
+ return http.get(api.editStatus, data);
+}
diff --git a/src/api/System/menu.ts b/src/api/System/menu.ts
new file mode 100644
index 0000000..385dcfa
--- /dev/null
+++ b/src/api/System/menu.ts
@@ -0,0 +1,25 @@
+import { menuParamsType, menuType } from '@/types/menu';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ appList: '/admin/app/list', // 系统列表
+ menuTree: '/admin/menu/tree', // 系统操作权限树
+};
+
+/**
+ * 获取系统列表
+ * @return 返回请求获取系统列表接口的结果
+ */
+export function getAppListAPI() {
+ return http.post(api.appList);
+}
+
+/**
+ * 获取系统操作权限树
+ * @param {menuParamsType} data 系统参数
+ * @return 返回请求获取系统操作权限树接口的结果
+ */
+export function getMenuTreeAPI(data: menuParamsType) {
+ return http.post(api.menuTree, data);
+}
diff --git a/src/api/System/role.ts b/src/api/System/role.ts
new file mode 100644
index 0000000..acf2ed4
--- /dev/null
+++ b/src/api/System/role.ts
@@ -0,0 +1,77 @@
+import { dictionaryListType, dictionaryType, PageRowsResult } from '@/types';
+import { getRoleListType, rolePremType, roleType } from '@/types/role';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ roleSave: '/admin/role/save', // 角色保存
+ rolePremSave: '/admin/role/perm/save', // 添加角色操作权限
+ rolePage: '/admin/role/page', // 角色分页列表
+ roleList: '/admin/role/list', // 角色字典列表
+ roleGet: '/admin/role/get', // 角色详情
+ roleDelete: '/admin/role/delete', // 角色删除
+ roleMenuList: '/admin/role/perm/list', // 角色菜单列表
+};
+
+/**
+ * 角色保存
+ * @param {roleType} data 角色信息
+ * @return 返回请求角色保存接口的结果
+ */
+export function postRoleSaveAPI(data: roleType) {
+ return http.post(api.roleSave, data);
+}
+
+/**
+ * 角色操作权限
+ * @param {rolePremType} data 角色权限
+ * @return 返回请求角色操作权限接口的结果
+ */
+export function postRolePremSaveAPI(data: rolePremType) {
+ return http.post(api.rolePremSave, data);
+}
+
+/**
+ * 角色分页列表
+ * @param {getUserListType} data 分页信息
+ * @return 返回请求角色分页列表接口的结果
+ */
+export function postRolePageAPI(data: Partial) {
+ return http.post>(api.rolePage, data);
+}
+
+/**
+ * 角色字典列表
+ * @param {dictionaryType} data 字典信息
+ * @return 返回请求角色字典列表接口的结果
+ */
+export function getRoleListAPI(data: dictionaryType) {
+ return http.postParams(api.roleList, data);
+}
+
+/**
+ * 角色详情
+ * @param {string|number} data 角色id
+ * @return 返回请求角色详情接口的结果
+ */
+export function getRoleGetAPI(data: { id: number | string }) {
+ return http.postParams(api.roleGet, data);
+}
+
+/**
+ * 角色删除
+ * @param {number} data 角色id
+ * @return 返回请求角色删除接口的结果
+ */
+export function getRoleDeleteAPI(data: number[]) {
+ return http.post(api.roleDelete, data);
+}
+
+/**
+ * 角色菜单列表
+ * @param {string|number} data 角色id
+ * @return 返回请求角色菜单列表接口的结果
+ */
+export function getRoleMenuListAPI(data: { roleId: number | string }) {
+ return http.postParams(api.roleMenuList, data);
+}
diff --git a/src/api/System/user.ts b/src/api/System/user.ts
new file mode 100644
index 0000000..076125a
--- /dev/null
+++ b/src/api/System/user.ts
@@ -0,0 +1,109 @@
+import { dictionaryListType, dictionaryType, PageRowsResult } from '@/types';
+import { roleType } from '@/types/role';
+import {
+ getUserListType,
+ loginDataType,
+ userInfoRepType,
+ userPasswordType,
+ userRoleType,
+ userType,
+} from '@/types/user';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ login: '/admin/user/login', // 用户登录接口
+ userSave: '/admin/user/save', // 用户保存
+ userPassword: '/admin/user/password', // 用户修改密码
+ userPage: '/admin/user/page', // 用户分页列表
+ userList: '/admin/user/list', // 用户字典列表
+ userGet: '/admin/user/get', // 用户详情
+ userDelete: '/admin/user/delete', // 用户删除
+ userRole: '/admin/user/role/add', // 用户添加角色
+ userRoleList: '/admin/user/role/list', // 用户角色列表
+};
+
+/**
+ * 用户登录
+ * @param {loginDataType} data 登录参数
+ * @return 返回请求登录接口的结果
+ */
+export function postLoginAPI(data: loginDataType) {
+ return http.post(api.login, data, {
+ headers: {
+ Authorization: 'Basic ' + btoa('oauth2-client:123456'),
+ },
+ });
+}
+
+/**
+ * 用户保存
+ * @param {userType} data 用户信息
+ * @return 返回请求保存接口的结果
+ */
+export function postUserSaveAPI(data: userType) {
+ return http.post(api.userSave, data);
+}
+
+/**
+ * 用户修改密码
+ * @param {userPasswordType} data 用户修改密码信息
+ * @return 返回请求修改密码接口的结果
+ */
+export function postUserPasswordAPI(data: userPasswordType) {
+ return http.post(api.userPassword, data);
+}
+
+/**
+ * 用户分页列表
+ * @param {getUserListType} data 分页信息
+ * @return 返回请求分页列表接口的结果
+ */
+export function postUserPageAPI(data: Partial) {
+ return http.post>(api.userPage, data);
+}
+
+/**
+ * 用户字典列表
+ * @param {dictionaryType} data 字典信息
+ * @return 返回请求用户字典列表接口的结果
+ */
+export function getUserListAPI(data: dictionaryType) {
+ return http.postParams(api.userList, data);
+}
+
+/**
+ * 用户详情
+ * @param {string|number} data 用户id
+ * @return 返回请求用户详情接口的结果
+ */
+export function getUserGetAPI(data: { id: number | string }) {
+ return http.postParams(api.userGet, data);
+}
+
+/**
+ * 用户删除
+ * @param {number} data 用户id
+ * @return 返回请求用户删除接口的结果
+ */
+export function getUserDeleteAPI(data: number[]) {
+ return http.post(api.userDelete, data);
+}
+
+/**
+ * 用户添加角色
+ * @param {userRoleType} data 用户角色
+ * @return 返回请求用户添加角色接口的结果
+ */
+export function postUserRoleAPI(data: userRoleType) {
+ return http.post(api.userRole, data);
+}
+
+/**
+ * 用户角色列表
+ * @param {string|number} data 用户id
+ * @return 返回请求用户角色列表接口的结果
+ */
+export function getUserRoleListAPI(data: { userId: number | string }) {
+ return http.postParams(api.userRoleList, data);
+}
diff --git a/src/api/Vehicle/detail.ts b/src/api/Vehicle/detail.ts
new file mode 100644
index 0000000..ad75ec9
--- /dev/null
+++ b/src/api/Vehicle/detail.ts
@@ -0,0 +1,57 @@
+import { dictionaryListType, dictionaryType, PageRowsResult } from '@/types';
+import { VehicleDetailType, vehiclePageType } from '@/types/manifest';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ vehicleDel: '/cargo/vehicle_type/detail/delete', // 删除
+ vehicleGet: '/cargo/vehicle_type/detail/get', // 获取
+ vehiclePage: '/cargo/vehicle_type/detail/page', // 分页列表
+ vehicleList: '/cargo/vehicle_type/detail/list', // 车型列表
+ vehicleSave: '/cargo/vehicle_type/detail/save', // 保存
+};
+
+/**
+ * 车型明细删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postVehicleDetailDeleteAPI(data: number[]) {
+ return http.post(api.vehicleDel, data);
+}
+
+/**
+ * 车型明细获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function postVehicleDetailGetAPI(data: { id: number | string }) {
+ return http.postParams(api.vehicleGet, data);
+}
+
+/**
+ * 车型明细分页列表
+ * @param data
+ * @returns
+ */
+export function postVehicleDetailPageAPI(data: Partial) {
+ return http.post>(api.vehiclePage, data);
+}
+
+/**
+ * 车型明细字典列表
+ * @param {dictionaryType} data 字典参数
+ * @return 返回请求字典列表接口的结果
+ */
+export function postVehicleDetailListAPI(data: dictionaryType) {
+ return http.postParams(api.vehicleList, data);
+}
+
+/**
+ * 车型明细保存
+ * @param {VehicleType} data 保存参数
+ * @return 返回请求保存接口的结果
+ */
+export function postVehicleDetailSaveAPI(data: Partial) {
+ return http.post(api.vehicleSave, data);
+}
diff --git a/src/api/Vehicle/index.ts b/src/api/Vehicle/index.ts
new file mode 100644
index 0000000..e0a5ff1
--- /dev/null
+++ b/src/api/Vehicle/index.ts
@@ -0,0 +1,57 @@
+import { dictionaryListType, dictionaryType, PageRowsResult } from '@/types';
+import { vehiclePageType, VehicleType } from '@/types/manifest';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ vehicleDel: '/cargo/vehicle_type/delete', // 删除
+ vehicleGet: '/cargo/vehicle_type/get', // 获取
+ vehiclePage: '/cargo/vehicle_type/page', // 分页列表
+ vehicleList: '/cargo/vehicle_type/list', // 车型列表
+ vehicleSave: '/cargo/vehicle_type/save', // 保存
+};
+
+/**
+ * 车型删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postVehicleDeleteAPI(data: number[]) {
+ return http.post(api.vehicleDel, data);
+}
+
+/**
+ * 车型获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function postVehicleGetAPI(data: { id: number | string }) {
+ return http.postParams(api.vehicleGet, data);
+}
+
+/**
+ * 车型分页列表
+ * @param data
+ * @returns
+ */
+export function postVehiclePageAPI(data: Partial) {
+ return http.post>(api.vehiclePage, data);
+}
+
+/**
+ * 车型字典列表
+ * @param {dictionaryType} data 字典参数
+ * @return 返回请求字典列表接口的结果
+ */
+export function postVehicleListAPI(data: dictionaryType) {
+ return http.postParams(api.vehicleList, data);
+}
+
+/**
+ * 车型保存
+ * @param {VehicleType} data 保存参数
+ * @return 返回请求保存接口的结果
+ */
+export function postVehicleSaveAPI(data: Partial) {
+ return http.post(api.vehicleSave, data);
+}
diff --git a/src/api/Wharf/index.ts b/src/api/Wharf/index.ts
new file mode 100644
index 0000000..3f2f847
--- /dev/null
+++ b/src/api/Wharf/index.ts
@@ -0,0 +1,57 @@
+import { dictionaryListType, dictionaryType, PageRowsResult } from '@/types';
+import { LoadWharfPageType, LoadWharfType } from '@/types/boatInfo';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ wharfDel: '/cargo/wharf/delete', // 删除
+ wharfGet: '/cargo/wharf/get', // 获取
+ wharfList: '/cargo/wharf/list', // 字典列表
+ wharfPage: '/cargo/wharf/page', // 分页列表
+ wharfSave: '/cargo/wharf/save', // 保存
+};
+
+/**
+ * 删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postWharfDeleteAPI(data: number[]) {
+ return http.post(api.wharfDel, data);
+}
+
+/**
+ * 获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function postWharfGetAPI(data: { id: number | string }) {
+ return http.postParams(api.wharfGet, data);
+}
+
+/**
+ * 字典列表
+ * @param {dictionaryType} data 字典参数
+ * @return 返回请求字典列表接口的结果
+ */
+export function postWharfListAPI(data: dictionaryType) {
+ return http.postParams(api.wharfList, data);
+}
+
+/**
+ * 分页列表
+ * @param {LoadWharfPageType} data 查询参数
+ * @return 返回请求分页列表接口的结果
+ */
+export function postWharfPageAPI(data: Partial) {
+ return http.post>(api.wharfPage, data);
+}
+
+/**
+ * 保存
+ * @param {LoadWharfType} data 保存参数
+ * @return 返回请求保存接口的结果
+ */
+export function postWharfSaveAPI(data: Partial) {
+ return http.post(api.wharfSave, data);
+}
diff --git a/src/api/WharfRoute/index.ts b/src/api/WharfRoute/index.ts
new file mode 100644
index 0000000..5810033
--- /dev/null
+++ b/src/api/WharfRoute/index.ts
@@ -0,0 +1,57 @@
+import { dictionaryListType, dictionaryType, PageRowsResult } from '@/types';
+import { WharfRoutePageType, WharfRouteType } from '@/types/boatInfo';
+import http from '@/utils/request';
+
+// api接口
+const api = {
+ wharfRouteDel: '/cargo/route/wharf/delete', // 删除
+ wharfRouteGet: '/cargo/route/wharf/get', // 获取
+ wharfRoutePage: '/cargo/route/wharf/page', // 分页列表
+ wharfRouteList: '/cargo/route/wharf/list', // 字典列表
+ wharfRouteSave: '/cargo/route/wharf/save', // 保存
+};
+
+/**
+ * 删除
+ * @param {number} data id
+ * @return 返回请求删除接口的结果
+ */
+export function postWharfRouteDeleteAPI(data: number[]) {
+ return http.post(api.wharfRouteDel, data);
+}
+
+/**
+ * 获取
+ * @param {number|string} data id
+ * @return 返回请求获取接口的结果
+ */
+export function wharfRouteGetAPI(data: { id: number | string }) {
+ return http.postParams(api.wharfRouteGet, data);
+}
+
+/**
+ * 分页列表
+ * @param {WharfRoutePageType} data 查询条件
+ * @return 返回请求分页列表接口的结果
+ */
+export function postWharfRoutePageAPI(data: Partial) {
+ return http.post>(api.wharfRoutePage, data);
+}
+
+/**
+ * 字典列表
+ * @param {dictionaryType} data 查询条件
+ * @return 返回请求分页列表接口的结果
+ */
+export function wharfRouteListAPI(data: dictionaryType) {
+ return http.postParams(api.wharfRouteList, data);
+}
+
+/**
+ * 保存
+ * @param {WharfRouteType} data 航线信息
+ * @return 返回请求保存接口的结果
+ */
+export function postWharfRouteSaveAPI(data: Partial) {
+ return http.post(api.wharfRouteSave, data);
+}
diff --git a/src/assets/icons/Moon.svg b/src/assets/icons/Moon.svg
deleted file mode 100644
index 55116e6..0000000
--- a/src/assets/icons/Moon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/assets/icons/Sunny.svg b/src/assets/icons/Sunny.svg
deleted file mode 100644
index 21959d5..0000000
--- a/src/assets/icons/Sunny.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/assets/icons/article-create.svg b/src/assets/icons/article-create.svg
new file mode 100644
index 0000000..dcbaa18
--- /dev/null
+++ b/src/assets/icons/article-create.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/article-ranking.svg b/src/assets/icons/article-ranking.svg
new file mode 100644
index 0000000..ab72104
--- /dev/null
+++ b/src/assets/icons/article-ranking.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/article.svg b/src/assets/icons/article.svg
new file mode 100644
index 0000000..1d36e79
--- /dev/null
+++ b/src/assets/icons/article.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/change-theme.svg b/src/assets/icons/change-theme.svg
new file mode 100644
index 0000000..74b6949
--- /dev/null
+++ b/src/assets/icons/change-theme.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/componentsize.svg b/src/assets/icons/componentsize.svg
new file mode 100644
index 0000000..c48c811
--- /dev/null
+++ b/src/assets/icons/componentsize.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/icons/dashboard.svg b/src/assets/icons/dashboard.svg
new file mode 100644
index 0000000..5317d37
--- /dev/null
+++ b/src/assets/icons/dashboard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/example.svg b/src/assets/icons/example.svg
new file mode 100644
index 0000000..46f42b5
--- /dev/null
+++ b/src/assets/icons/example.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/exit-fullscreen.svg b/src/assets/icons/exit-fullscreen.svg
new file mode 100644
index 0000000..0b1603b
--- /dev/null
+++ b/src/assets/icons/exit-fullscreen.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/eye-open.svg b/src/assets/icons/eye-open.svg
new file mode 100644
index 0000000..88dcc98
--- /dev/null
+++ b/src/assets/icons/eye-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/eye.svg b/src/assets/icons/eye.svg
new file mode 100644
index 0000000..16ed2d8
--- /dev/null
+++ b/src/assets/icons/eye.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/fullscreen.svg b/src/assets/icons/fullscreen.svg
new file mode 100644
index 0000000..655f0b6
--- /dev/null
+++ b/src/assets/icons/fullscreen.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/guide.svg b/src/assets/icons/guide.svg
new file mode 100644
index 0000000..179ad17
--- /dev/null
+++ b/src/assets/icons/guide.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/hamburger-closed.svg b/src/assets/icons/hamburger-closed.svg
new file mode 100644
index 0000000..4a70141
--- /dev/null
+++ b/src/assets/icons/hamburger-closed.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/hamburger-opened.svg b/src/assets/icons/hamburger-opened.svg
new file mode 100644
index 0000000..f76a055
--- /dev/null
+++ b/src/assets/icons/hamburger-opened.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/international.svg b/src/assets/icons/international.svg
new file mode 100644
index 0000000..e9b56ee
--- /dev/null
+++ b/src/assets/icons/international.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/introduce.svg b/src/assets/icons/introduce.svg
new file mode 100644
index 0000000..7b9862e
--- /dev/null
+++ b/src/assets/icons/introduce.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/language.svg b/src/assets/icons/language.svg
new file mode 100644
index 0000000..d837c51
--- /dev/null
+++ b/src/assets/icons/language.svg
@@ -0,0 +1 @@
+
diff --git a/src/assets/icons/link.svg b/src/assets/icons/link.svg
new file mode 100644
index 0000000..48197ba
--- /dev/null
+++ b/src/assets/icons/link.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/nested.svg b/src/assets/icons/nested.svg
new file mode 100644
index 0000000..06713a8
--- /dev/null
+++ b/src/assets/icons/nested.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/password.svg b/src/assets/icons/password.svg
new file mode 100644
index 0000000..e291d85
--- /dev/null
+++ b/src/assets/icons/password.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/permission.svg b/src/assets/icons/permission.svg
new file mode 100644
index 0000000..947c983
--- /dev/null
+++ b/src/assets/icons/permission.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/personnel-info.svg b/src/assets/icons/personnel-info.svg
new file mode 100644
index 0000000..d51fc08
--- /dev/null
+++ b/src/assets/icons/personnel-info.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/personnel-manage.svg b/src/assets/icons/personnel-manage.svg
new file mode 100644
index 0000000..9aaedac
--- /dev/null
+++ b/src/assets/icons/personnel-manage.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/personnel.svg b/src/assets/icons/personnel.svg
new file mode 100644
index 0000000..0b146de
--- /dev/null
+++ b/src/assets/icons/personnel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/reward.svg b/src/assets/icons/reward.svg
new file mode 100644
index 0000000..5626794
--- /dev/null
+++ b/src/assets/icons/reward.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/role.svg b/src/assets/icons/role.svg
new file mode 100644
index 0000000..bfacc9e
--- /dev/null
+++ b/src/assets/icons/role.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/search.svg b/src/assets/icons/search.svg
new file mode 100644
index 0000000..84233dd
--- /dev/null
+++ b/src/assets/icons/search.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table.svg b/src/assets/icons/table.svg
new file mode 100644
index 0000000..0e3dc9d
--- /dev/null
+++ b/src/assets/icons/table.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/tree.svg b/src/assets/icons/tree.svg
new file mode 100644
index 0000000..dd4b7dd
--- /dev/null
+++ b/src/assets/icons/tree.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/user.svg b/src/assets/icons/user.svg
new file mode 100644
index 0000000..0ba0716
--- /dev/null
+++ b/src/assets/icons/user.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/403.png b/src/assets/images/403.png
new file mode 100644
index 0000000..314caa6
Binary files /dev/null and b/src/assets/images/403.png differ
diff --git a/src/assets/images/404_bg.png b/src/assets/images/404_bg.png
new file mode 100644
index 0000000..1d34d79
Binary files /dev/null and b/src/assets/images/404_bg.png differ
diff --git a/src/assets/images/error_cloud.png b/src/assets/images/error_cloud.png
new file mode 100644
index 0000000..c6281d0
Binary files /dev/null and b/src/assets/images/error_cloud.png differ
diff --git a/src/assets/images/login_bg.svg b/src/assets/images/login_bg.svg
new file mode 100644
index 0000000..34f498d
--- /dev/null
+++ b/src/assets/images/login_bg.svg
@@ -0,0 +1,33 @@
+
\ No newline at end of file
diff --git a/src/assets/imgs/logo.png b/src/assets/images/logo.png
similarity index 100%
rename from src/assets/imgs/logo.png
rename to src/assets/images/logo.png
diff --git a/src/assets/images/noMessage.png b/src/assets/images/noMessage.png
new file mode 100644
index 0000000..033d7b7
Binary files /dev/null and b/src/assets/images/noMessage.png differ
diff --git a/src/assets/images/welcome.png b/src/assets/images/welcome.png
new file mode 100644
index 0000000..e4129da
Binary files /dev/null and b/src/assets/images/welcome.png differ
diff --git a/src/assets/vue.svg b/src/assets/vue.svg
index ca8129c..770e9d3 100644
--- a/src/assets/vue.svg
+++ b/src/assets/vue.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/src/components/ImpordFile/index.vue b/src/components/ImpordFile/index.vue
new file mode 100644
index 0000000..4a6b854
--- /dev/null
+++ b/src/components/ImpordFile/index.vue
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+
+
+
+ 将文件拖到此处,或点击上传
+
+
+
+
+ 请上传 .xls , .xlsx 标准格式文件,文件最大为 {{ parameter.fileSize }}M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/Pagination/index.vue b/src/components/Pagination/Pagination.vue
similarity index 93%
rename from src/components/Pagination/index.vue
rename to src/components/Pagination/Pagination.vue
index 0f054dd..779ea7c 100644
--- a/src/components/Pagination/index.vue
+++ b/src/components/Pagination/Pagination.vue
@@ -15,7 +15,7 @@
+
+
diff --git a/src/components/SwitchDark/index.vue b/src/components/SwitchDark/index.vue
index c0fe263..111e8e3 100644
--- a/src/components/SwitchDark/index.vue
+++ b/src/components/SwitchDark/index.vue
@@ -1,35 +1,31 @@
-
-
-
-
+
-
+
diff --git a/src/components/Upload/img.vue b/src/components/Upload/img.vue
new file mode 100644
index 0000000..3b6dd1d
--- /dev/null
+++ b/src/components/Upload/img.vue
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/WangEditor/index.vue b/src/components/WangEditor/index.vue
new file mode 100644
index 0000000..3a028db
--- /dev/null
+++ b/src/components/WangEditor/index.vue
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/config/constant.ts b/src/config/constant.ts
new file mode 100644
index 0000000..6befdb8
--- /dev/null
+++ b/src/config/constant.ts
@@ -0,0 +1,4 @@
+/**
+ * 菜单列表
+ */
+export const MENU_LIST = 'menuList';
diff --git a/src/config/index.ts b/src/config/index.ts
new file mode 100644
index 0000000..62a0db6
--- /dev/null
+++ b/src/config/index.ts
@@ -0,0 +1,26 @@
+// 全局默认配置项
+
+/**
+ * 首页地址(默认)
+ */
+export const HOME_URL = '/home';
+
+/**
+ * 登录页地址(默认)
+ */
+export const LOGIN_URL = '/login';
+
+/**
+ * 默认主题颜色
+ */
+export const DEFAULT_THEMECOLOR = '#409eff';
+
+/**
+ * 高德地图 key
+ */
+export const AMAP_MAP_KEY = '';
+
+/**
+ * 百度地图 key
+ */
+export const BAIDU_MAP_KEY = '';
diff --git a/src/router/permission.ts b/src/config/permission.ts
similarity index 62%
rename from src/router/permission.ts
rename to src/config/permission.ts
index 80a7bec..22df4c3 100644
--- a/src/router/permission.ts
+++ b/src/config/permission.ts
@@ -1,5 +1,7 @@
import NProgress from 'nprogress'; // 进度条
import { router } from '@/router';
+import { usePermissionStore } from '@/store/modules/permission';
+import { useUserStore } from '@/store/modules/user';
import 'nprogress/nprogress.css'; // 进度条样式
// 进度条配置
@@ -24,36 +26,35 @@ router.beforeEach(async (to, from, next) => {
}
// 获取用户信息 store
- // const userStore = useUserStore();
+ const userStore = useUserStore();
// 获取用户是否登录状态,确定用户是否已登录过,存在Token
- // const hasToken = userStore.token;
+ const hasToken = userStore.token;
- if (false) {
+ if (hasToken) {
// 用户登录
if (to.path === '/login') {
// 如果已登录,重定向到主页
next({ path: '/' });
} else {
// 获取用户权限 store
- // const permissionStore = usePermissionStore();
+ const permissionStore = usePermissionStore();
// 确定用户是否已通过getInfo获得其权限角色
// const hasRoles = userStore.roles && userStore.roles.length > 0;
try {
- // // 路由添加进去了没有及时更新 需要重新进去一次拦截
- // if (!permissionStore.routes.length) {
- // // 获取权限列表进行接口访问 因为这里页面要切换权限
- // const accessRoutes = await permissionStore.generateRoutes(userStore.roles);
+ // 路由添加进去了没有及时更新 需要重新进去一次拦截
+ if (!permissionStore.routes.length) {
+ // 获取权限列表进行接口访问 因为这里页面要切换权限
+ const accessRoutes = await permissionStore.generateRoutes(userStore.roles);
- // // 动态添加访问路由表
- // accessRoutes.forEach((item) => router.addRoute(item));
+ // 动态添加访问路由表
+ accessRoutes.forEach((item) => router.addRoute(item));
- // // 这里相当于push到一个页面 不在进入路由拦截
- // next({ ...to, replace: true });
- // } else {
- // // 如果不传参数就会重新执行路由拦截,重新进到这里
- // next();
- // }
- next();
+ // 这里相当于push到一个页面 不在进入路由拦截
+ next({ ...to, replace: true });
+ } else {
+ // 如果不传参数就会重新执行路由拦截,重新进到这里
+ next();
+ }
} catch (error) {
next(`/login?redirect=${to.path}`);
}
diff --git a/src/directives/index.ts b/src/directives/index.ts
new file mode 100644
index 0000000..a06e699
--- /dev/null
+++ b/src/directives/index.ts
@@ -0,0 +1,22 @@
+import { App, Directive } from 'vue';
+import auth from './modules/auth';
+
+const directivesList: { [key: string]: Directive } = {
+ auth,
+};
+
+const directives = {
+ install: function (app: App) {
+ Object.keys(directivesList).forEach((key) => {
+ app.directive(key, directivesList[key]);
+ });
+ },
+};
+
+/**
+ * 配置directives
+ * @param app vue实例
+ */
+export function setupDirectives(app: App) {
+ app.use(directives);
+}
diff --git a/src/directives/modules/auth.ts b/src/directives/modules/auth.ts
new file mode 100644
index 0000000..acdd3a5
--- /dev/null
+++ b/src/directives/modules/auth.ts
@@ -0,0 +1,27 @@
+import type { Directive, DirectiveBinding } from 'vue';
+import { useUserStore } from '@/store/modules/user';
+import { getAuthButtonsList } from '@/utils/routers';
+
+/**
+ * v-auth 按钮权限指令
+ */
+const auth: Directive = {
+ mounted(el: HTMLElement, binding: DirectiveBinding) {
+ const { value } = binding;
+
+ // 获取用户菜单权限
+ const userStore = useUserStore();
+
+ // 用户按钮权限
+ const currentPageRoles = getAuthButtonsList(userStore.menus, userStore.routeName);
+
+ if (value instanceof Array && value.length) {
+ const hasPermission = value.every((item) => currentPageRoles.includes(item));
+ if (!hasPermission) el.remove();
+ } else {
+ if (!currentPageRoles.includes(value)) el.remove();
+ }
+ },
+};
+
+export default auth;
diff --git a/src/hooks/useAuthButton.ts b/src/hooks/useAuthButton.ts
new file mode 100644
index 0000000..0ef0710
--- /dev/null
+++ b/src/hooks/useAuthButton.ts
@@ -0,0 +1,32 @@
+import { computed } from 'vue';
+import { useRoute } from 'vue-router';
+import { useUserStore } from '@/store/modules/user';
+import { getAuthButtonsList } from '@/utils/routers';
+
+/**
+ * 页面按钮权限
+ */
+export const useAuthButton = () => {
+ // 获取用户菜单权限
+ const userStore = useUserStore();
+
+ // 获取路由对象
+ const route = useRoute();
+
+ // 用户按钮权限
+ const authButtonsList = getAuthButtonsList(userStore.menus, route.path);
+
+ // 控制用户按钮权限显示和隐藏
+ const authButtons = computed(() => {
+ // 当前页面按钮权限
+ const currentPageAuthButton: { [key: string]: boolean } = {};
+
+ authButtonsList.forEach((item) => (currentPageAuthButton[item] = true));
+
+ return currentPageAuthButton;
+ });
+
+ return {
+ authButtons,
+ };
+};
diff --git a/src/hooks/useTable.ts b/src/hooks/useTable.ts
new file mode 100644
index 0000000..fffb9a8
--- /dev/null
+++ b/src/hooks/useTable.ts
@@ -0,0 +1,206 @@
+import { computed, ref } from 'vue';
+
+/**
+ * 分页参数类型
+ */
+interface pageAbleType {
+ total: number;
+ page: number;
+ rows: number;
+}
+
+/**
+ * 表格类型
+ */
+interface tableStateType {
+ tableData: any[];
+ pageAble: pageAbleType;
+ searchParam: Record;
+ searchInitParam: Record;
+ totalParam: Record;
+ icon?: Record;
+}
+
+/**
+ * useTable参数类型
+ */
+interface tableParamsType {
+ /**
+ * 获取表格数据 api 方法 (必传)
+ */
+ api: (params: any) => Promise;
+
+ /**
+ * 获取数据初始化参数 (非必传,默认为{})
+ */
+ initParam?: object;
+
+ /**
+ * 是否有分页 (非必传,默认为true)
+ */
+ isPageAble?: boolean;
+
+ /**
+ * 对后台返回的数据进行处理的方法 (非必传)
+ */
+ dataCallBack?: (data: any) => any;
+
+ /**
+ * 异常处理方法 (非必传)
+ */
+ requestError?: (error: any) => void;
+}
+
+/**
+ * table 页面操作方法封装
+ * @param {tableParamsType} option 配置参数
+ * @return 表格处理函数
+ * */
+export const useTable = (option: tableParamsType) => {
+ const { api, initParam, isPageAble = true, dataCallBack, requestError } = option;
+
+ // 表格数据对象
+ const tableState = ref({
+ // 表格数据
+ tableData: [],
+ // 分页数据
+ pageAble: {
+ // 当前页数
+ page: 1,
+ // 每页显示条数
+ rows: 10,
+ // 总条数
+ total: 0,
+ },
+ // 查询参数(只包括查询)
+ searchParam: {},
+ // 初始化默认的查询参数
+ searchInitParam: {},
+ // 总参数(包含分页和查询参数)
+ totalParam: {},
+ });
+
+ /**
+ * 分页查询参数(只包括分页和表格字段排序,其他排序方式可自行配置)
+ */
+ const pageParam = computed(() => ({
+ page: tableState.value.pageAble.page,
+ rows: tableState.value.pageAble.rows,
+ }));
+
+ /**
+ * 获取表格数据
+ */
+ const getTableList = async () => {
+ // 判断获取表格数据api方法是否存在
+ if (!api) return;
+
+ try {
+ // 先把初始化参数和分页参数放到总参数里面
+ Object.assign(tableState.value.totalParam, initParam, isPageAble ? pageParam.value : {});
+
+ // 请求表格数据
+ let { data } = await api({
+ ...tableState.value.searchInitParam,
+ ...tableState.value.totalParam,
+ });
+
+ // 判断数据处理函数是否存在,并处理数据
+ dataCallBack && (data = dataCallBack(data));
+
+ // 获取从后端返回的表格数据
+ tableState.value.tableData = isPageAble ? data.records : data;
+
+ // 解构后台返回的分页数据 (如果有分页更新分页信息)
+ const { current: page, size: rows, total } = data;
+ isPageAble &&
+ updatePageAble({ page: Number(page), rows: Number(rows), total: Number(total) });
+ } catch (error) {
+ requestError && requestError(error);
+ }
+ };
+
+ /**
+ * 更新分页信息
+ * @param {pageAbleType} resPageAble 后台返回的分页数据
+ * */
+ const updatePageAble = (resPageAble: pageAbleType) => {
+ Object.assign(tableState.value.pageAble, resPageAble);
+ };
+
+ /**
+ * 更新查询参数
+ */
+ const updatedTotalParam = () => {
+ // 清空上一次查询的参数
+ tableState.value.totalParam = {};
+ // 处理查询参数,可以给查询参数加自定义前缀操作
+ const nowSearchParam: Record = {};
+ // 防止手动清空输入框携带参数(这里可以自定义查询参数前缀)
+ for (const key in tableState.value.searchParam) {
+ // 某些情况下参数为 false/0 也应该携带参数
+ if (
+ tableState.value.searchParam[key] ||
+ tableState.value.searchParam[key] === false ||
+ tableState.value.searchParam[key] === 0
+ ) {
+ nowSearchParam[key] = tableState.value.searchParam[key];
+ }
+ }
+ Object.assign(tableState.value.totalParam, nowSearchParam, isPageAble ? pageParam.value : {});
+ };
+
+ /**
+ * 表格数据查询
+ */
+ const searchTable = async () => {
+ // 重置分页数据
+ tableState.value.pageAble.page = 1;
+ updatedTotalParam();
+ await getTableList();
+ };
+
+ /**
+ * 表格数据重置
+ */
+ const resetTable = async () => {
+ // 重置分页数据
+ tableState.value.pageAble.page = 1;
+ tableState.value.searchParam = {};
+ // 重置搜索表单的时,如果有默认搜索参数,则重置默认的搜索参数
+ Object.keys(tableState.value.searchInitParam).forEach((key) => {
+ tableState.value.searchParam[key] = tableState.value.searchInitParam[key];
+ });
+ updatedTotalParam();
+ await getTableList();
+ };
+
+ /**
+ * 每页条数改变
+ * @param {Number} val 当前条数
+ */
+ const tableChangeSize = async (val: number) => {
+ tableState.value.pageAble.page = 1;
+ tableState.value.pageAble.rows = val;
+ await getTableList();
+ };
+
+ /**
+ * 当前页改变
+ * @param {Number} val 当前页
+ */
+ const tableChangeCurrent = async (val: number) => {
+ tableState.value.pageAble.page = val;
+ await getTableList();
+ };
+
+ return {
+ tableState,
+ getTableList,
+ updatedTotalParam,
+ searchTable,
+ resetTable,
+ tableChangeSize,
+ tableChangeCurrent,
+ };
+};
diff --git a/src/hooks/useTheme.ts b/src/hooks/useTheme.ts
index 3c1525a..ac38771 100644
--- a/src/hooks/useTheme.ts
+++ b/src/hooks/useTheme.ts
@@ -1,26 +1,160 @@
+import { ElMessage } from 'element-plus';
import { computed } from 'vue';
+import { DEFAULT_THEMECOLOR } from '@/config';
import { useSettingStore } from '@/store/modules/setting';
+import { headerTheme, menuTheme, sidebarTheme } from '@/styles/theme';
+import { getDarkColor, getLightColor } from '@/utils/color';
/**
- * @description: 全局主题设置
+ * 主题类型
+ */
+export type ThemeType = 'light' | 'inverted' | 'dark';
+
+/**
+ * 灰色和弱色类型
+ */
+export type GreyOrWeakType = 'grey' | 'weak';
+
+/**
+ * 全局主题设置
*/
export const useTheme = () => {
// 获取全局状态管理仓库中系统设置状态
const settingStore = useSettingStore();
- const isDark = computed(() => settingStore.isDark);
+ const themeConfig = computed(() => settingStore.themeConfig);
// 切换暗黑模式
const switchDark = () => {
const body = document.documentElement;
- if (isDark.value) {
+ if (themeConfig.value.isDark) {
body.setAttribute('class', 'dark');
} else {
body.setAttribute('class', '');
}
+
+ // 同时修改主题色、侧边栏、头部颜色
+ changeThemeColor(themeConfig.value.themeColor);
+ changeSideBarTheme();
+ changeHeaderTheme();
+ };
+
+ /**
+ * 修改主题颜色
+ * @param {string} val 主题色
+ */
+ const changeThemeColor = (val: string | null) => {
+ if (!val) {
+ val = DEFAULT_THEMECOLOR;
+ ElMessage({ type: 'success', message: `主题颜色已重置为 ${DEFAULT_THEMECOLOR}` });
+ }
+ // 计算主题颜色变化
+ document.documentElement.style.setProperty('--el-color-primary', val);
+ document.documentElement.style.setProperty(
+ '--el-color-primary-dark-2',
+ themeConfig.value.isDark ? `${getLightColor(val, 0.2)}` : `${getDarkColor(val, 0.3)}`
+ );
+ for (let i = 1; i <= 9; i++) {
+ const primaryColor = themeConfig.value.isDark
+ ? `${getDarkColor(val, i / 10)}`
+ : `${getLightColor(val, i / 10)}`;
+ document.documentElement.style.setProperty(`--el-color-primary-light-${i}`, primaryColor);
+ }
+ settingStore.setThemeConfig('themeColor', val);
+ };
+
+ /**
+ * 灰色和弱色切换
+ * @param {GreyOrWeakType} type 类型
+ * @param {boolean} value 值
+ */
+ const changeGreyOrWeak = (type: GreyOrWeakType, value: boolean) => {
+ const body = document.body as HTMLElement;
+ if (!value) return body.removeAttribute('style');
+ const styles: Record = {
+ grey: 'filter: grayscale(1)',
+ weak: 'filter: invert(80%)',
+ };
+ body.setAttribute('style', styles[type]);
+ const propName = type === 'grey' ? 'isWeak' : 'isGrey';
+ settingStore.setThemeConfig(propName, false);
+ };
+
+ /**
+ * 设置菜单样式
+ */
+ const changeMenuTheme = () => {
+ let type: ThemeType = 'light';
+
+ // 判断是否是暗黑主题
+ if (themeConfig.value.isDark) {
+ type = 'dark';
+ }
+
+ const theme = menuTheme[type];
+ // 遍历写入样式
+ for (const [key, value] of Object.entries(theme)) {
+ document.documentElement.style.setProperty(key, value);
+ }
+ };
+
+ /**
+ * 设置侧边栏样式
+ */
+ const changeSideBarTheme = () => {
+ let type: ThemeType = 'light';
+
+ // 判断是否是暗黑主题
+ if (themeConfig.value.isDark) {
+ type = 'dark';
+ }
+
+ const theme = sidebarTheme[type];
+ // 遍历写入样式
+ for (const [key, value] of Object.entries(theme)) {
+ document.documentElement.style.setProperty(key, value);
+ }
+
+ changeMenuTheme();
+ };
+
+ /**
+ * 设置头部样式
+ */
+ const changeHeaderTheme = () => {
+ let type: ThemeType = 'light';
+
+ // 判断是否是暗黑主题
+ if (themeConfig.value.isDark) {
+ type = 'dark';
+ }
+
+ const theme = headerTheme[type];
+ // 遍历写入样式
+ for (const [key, value] of Object.entries(theme)) {
+ document.documentElement.style.setProperty(key, value);
+ }
+
+ changeMenuTheme();
+ };
+
+ // 初始化主题
+ const initTheme = () => {
+ switchDark();
+
+ // 判断是否是灰色模式
+ if (themeConfig.value.isGrey) changeGreyOrWeak('grey', true);
+
+ // 判断是否色弱模式
+ if (themeConfig.value.isWeak) changeGreyOrWeak('weak', true);
};
return {
switchDark,
+ changeThemeColor,
+ changeGreyOrWeak,
+ initTheme,
+ changeSideBarTheme,
+ changeHeaderTheme,
};
};
diff --git a/src/layouts/Header/index.vue b/src/layouts/Header/index.vue
index 08e64bd..add17a1 100644
--- a/src/layouts/Header/index.vue
+++ b/src/layouts/Header/index.vue
@@ -1,40 +1,105 @@