diff --git a/CHAT_INTEGRATION.md b/CHAT_INTEGRATION.md
new file mode 100644
index 00000000..6f215a9e
--- /dev/null
+++ b/CHAT_INTEGRATION.md
@@ -0,0 +1,84 @@
+# 腾讯云 Chat UIKit 集成说明
+
+## 功能概述
+
+已成功将腾讯云 Chat UIKit Vue3 组件集成到预约管理系统的"聊天"按钮中,使用官方推荐的组件化方式。
+
+## 实现内容
+
+### 1. 创建聊天对话框组件
+- 文件位置: `admin/src/components/chat-dialog/index.vue`
+- 功能特性:
+ - 使用 Element Plus Dialog 作为容器
+ - 集成腾讯云 Chat UIKit 的官方组件:
+ - UIKitProvider: 提供 IM SDK 上下文
+ - ConversationList: 会话列表组件
+ - Chat: 聊天消息组件
+ - 自动获取医生签名并初始化聊天
+ - 加载状态和错误处理
+ - 响应式布局:左侧会话列表(300px)+ 右侧聊天区域
+ - 动态加载样式文件
+
+### 2. 集成到预约列表页面
+- 文件位置: `admin/src/views/tcm/appointment/list.vue`
+- 修改内容:
+ - 导入 ChatDialog 组件
+ - 添加 chatDialogRef 引用
+ - 修改 handleCreatePrescription 方法,传递患者信息和诊单ID
+ - 在模板中添加 chat-dialog 组件
+
+### 3. 使用的 API
+- 复用现有的 `getCallSignature` API (`/tcm.diagnosis/getCallSignature`)
+- 该接口返回腾讯云 IM 所需的:
+ - sdkAppId: 应用 ID
+ - userId: 当前用户 ID (医生)
+ - userSig: 用户签名
+ - patientUserId: 患者的 IM 用户 ID
+
+### 4. 使用的组件
+根据腾讯云官方文档 (https://cloud.tencent.com/document/product/269/123108):
+- `UIKitProvider`: 提供 SDK 配置和上下文
+- `ConversationList`: 显示会话列表
+- `Chat`: 显示聊天消息和输入框
+
+## 使用方式
+
+1. 在预约列表中找到状态为"已预约"的记录
+2. 点击操作列中的"聊天"按钮
+3. 系统会自动:
+ - 获取医生的腾讯云 IM 签名
+ - 初始化聊天组件
+ - 打开聊天对话框
+4. 在对话框中可以:
+ - 查看左侧的会话列表
+ - 在右侧与患者进行实时聊天
+ - 发送文本、表情、图片等消息
+
+## 技术栈
+
+- @tencentcloud/chat-uikit-vue3: ^4.5.4
+- @tencentcloud/chat: IM SDK
+- Element Plus: 对话框和 UI 组件
+- Vue 3 Composition API
+
+## 样式处理
+
+由于 Vite 对 node_modules 中 CSS 文件的导入限制,样式文件采用动态导入方式:
+- 在组件 onMounted 时动态导入样式
+- 如果样式加载失败,功能仍可正常使用,只是缺少部分美化
+
+## 注意事项
+
+1. 需要确保后端 `/tcm.diagnosis/getCallSignature` 接口正常工作
+2. 需要配置腾讯云 IM 的 SDKAppID 和密钥
+3. 聊天功能需要患者端也集成相应的 IM 功能
+4. 确保网络环境支持 WebSocket 连接
+5. 会话ID格式为 `C2C{patientUserId}`,表示单聊(C2C = Client to Client)
+
+## 后续优化建议
+
+1. 可以自定义聊天界面的主题和样式
+2. 可以添加消息提醒功能
+3. 可以添加聊天记录的持久化存储
+4. 可以添加更多富媒体消息类型(语音、视频等)
+5. 可以优化样式加载方式,确保样式稳定加载
diff --git a/CHAT_INTEGRATION_COMPLETE.md b/CHAT_INTEGRATION_COMPLETE.md
new file mode 100644
index 00000000..6462ba50
--- /dev/null
+++ b/CHAT_INTEGRATION_COMPLETE.md
@@ -0,0 +1,140 @@
+# 腾讯云 Chat UIKit 完整集成说明
+
+## ✅ 已完成功能
+
+### 1. 聊天界面组件
+- **文件位置**: `admin/src/components/chat-dialog/index.vue`
+- **使用官方组件**:
+ - `UIKitProvider`: IM SDK 上下文提供者
+ - `ConversationList`: 会话列表(左侧)
+ - `Chat`: 聊天容器
+ - `ChatHeader`: 聊天头部
+ - `MessageList`: 消息列表
+ - `MessageInput`: 消息输入框
+
+### 2. 已支持的功能
+- ✅ **会话管理**: 显示所有聊天会话,支持切换
+- ✅ **文本消息**: 发送和接收文本消息
+- ✅ **表情选择**: 内置表情选择器,点击表情图标使用
+- ✅ **图片上传**: 点击图片图标上传图片
+- ✅ **文件上传**: 点击文件图标上传文件
+- ✅ **视频上传**: 点击视频图标上传视频
+- ✅ **消息状态**: 显示已读/未读状态
+- ✅ **实时通信**: WebSocket 实时消息推送
+
+### 3. 登录流程
+```typescript
+await login({
+ sdkAppId: Number(res.sdkAppId),
+ userId: res.userId,
+ userSig: res.userSig,
+ useUploadPlugin: true // 启用文件上传功能
+})
+```
+
+## 📝 使用说明
+
+### 基本使用
+1. 在预约列表中找到"已预约"状态的记录
+2. 点击"聊天"按钮
+3. 等待初始化完成(约1-2秒)
+4. 开始聊天
+
+### 功能使用
+- **发送文本**: 在输入框输入文字,点击"发送"按钮
+- **发送表情**: 点击输入框左侧的表情图标 😊
+- **发送图片**: 点击图片图标 🖼️,选择图片文件
+- **发送文件**: 点击文件图标 📁,选择任意文件
+- **发送视频**: 点击视频图标 🎬,选择视频文件
+
+## 🔧 技术实现
+
+### 依赖包
+- `@tencentcloud/chat-uikit-vue3`: ^4.5.4
+- `@tencentcloud/chat`: IM SDK(自动依赖)
+
+### 样式文件
+- 复制到: `admin/src/assets/chat-uikit.css`
+- 导入方式: `import '@/assets/chat-uikit.css'`
+
+### API 接口
+- **接口**: `/tcm.diagnosis/getCallSignature`
+- **参数**:
+ - `patient_id`: 患者ID
+ - `diagnosis_id`: 诊单ID
+- **返回**:
+ - `sdkAppId`: 腾讯云应用ID
+ - `userId`: 医生IM账号
+ - `userSig`: 登录签名
+ - `patientUserId`: 患者IM账号
+
+## ⚙️ 配置说明
+
+### 后端配置
+需要在 `server/.env` 中配置:
+```env
+[TRTC]
+SDK_APP_ID = "1600127710"
+SECRET_KEY = "your_secret_key"
+ENABLE = "true"
+```
+
+### 文件上传配置
+- 已启用 `useUploadPlugin: true`
+- 支持图片、文件、视频上传
+- 需要确保服务器支持 CORS
+
+## 📱 视频通话功能
+
+当前聊天界面已包含基础的消息功能。如需集成音视频通话,需要:
+
+1. 安装 TUICallKit 插件
+2. 在 MessageInput 中配置通话按钮
+3. 参考文档: https://cloud.tencent.com/document/product/647/115714
+
+## 🎨 界面说明
+
+### 布局结构
+```
+┌─────────────────────────────────────┐
+│ 与 患者名 聊天 │
+├──────────┬──────────────────────────┤
+│ │ ChatHeader │
+│ Conver- ├──────────────────────────┤
+│ sation │ │
+│ List │ MessageList │
+│ │ │
+│ (285px) ├──────────────────────────┤
+│ │ MessageInput │
+│ │ [😊][🖼️][📁][🎬] │
+└──────────┴──────────────────────────┘
+```
+
+### 组件说明
+- **ConversationList**: 左侧会话列表,宽度285px
+- **ChatHeader**: 显示当前聊天对象信息
+- **MessageList**: 消息展示区域,支持滚动
+- **MessageInput**: 输入框和功能按钮
+
+## ⚠️ 注意事项
+
+1. **网络要求**: 需要支持 WebSocket 连接
+2. **HTTPS**: 生产环境建议使用 HTTPS
+3. **文件大小**: 注意文件上传大小限制
+4. **患者端**: 患者端也需要集成相应的 IM 功能
+5. **登出**: 关闭对话框时会自动登出 IM
+
+## 🚀 后续优化
+
+1. 集成 TUICallKit 实现音视频通话
+2. 添加消息提醒和未读数提示
+3. 自定义主题和样式
+4. 添加消息撤回功能
+5. 支持消息引用和转发
+6. 添加聊天记录导出功能
+
+## 📚 参考文档
+
+- [Chat UIKit Vue3 官方文档](https://cloud.tencent.com/document/product/269/123108)
+- [IM SDK API 文档](https://cloud.tencent.com/document/product/269/37411)
+- [TUICallKit 集成文档](https://cloud.tencent.com/document/product/647/115714)
diff --git a/EMOJI_TROUBLESHOOTING.md b/EMOJI_TROUBLESHOOTING.md
new file mode 100644
index 00000000..c777c0d8
--- /dev/null
+++ b/EMOJI_TROUBLESHOOTING.md
@@ -0,0 +1,117 @@
+# 表情功能故障排查指南
+
+## 问题描述
+表情按钮显示但点击无反应
+
+## 可能的原因
+
+### 1. 表情包资源未加载
+腾讯云 Chat UIKit 的表情包需要从 CDN 加载资源。
+
+**检查方法**:
+1. 打开浏览器开发者工具(F12)
+2. 切换到 Console 标签
+3. 查看是否有表情相关的错误信息
+4. 切换到 Network 标签
+5. 点击表情按钮,查看是否有请求失败
+
+### 2. 表情包版权限制
+根据腾讯云文档说明:
+> 为尊重表情设计版权,chat-uikit-vue3 工程中不包含大表情元素切图,正式上线商用前请您替换为自己设计或拥有版权的其他表情包。默认的小黄脸表情包版权归腾讯云所有,仅供授权使用。
+
+**解决方案**:
+- 使用腾讯云提供的默认表情包(需要授权)
+- 或者配置自己的表情包
+
+### 3. 样式文件加载问题
+表情选择器的样式可能没有正确加载。
+
+**检查方法**:
+1. 打开开发者工具
+2. 点击表情按钮
+3. 检查 Elements 标签,看是否有表情选择器的 DOM 元素生成
+4. 检查该元素的样式是否正确应用
+
+## 解决方案
+
+### 方案 1:检查网络请求
+```javascript
+// 在浏览器控制台执行
+console.log('检查表情资源加载情况')
+```
+
+### 方案 2:使用自定义表情包
+如果默认表情包无法使用,可以配置自定义表情包。
+
+需要修改 `MessageInput` 组件的配置:
+
+```vue
+
+```
+
+```typescript
+const customEmojiConfig = {
+ emojiList: [
+ { name: '微笑', url: '/emoji/smile.png', code: '[微笑]' },
+ { name: '大笑', url: '/emoji/laugh.png', code: '[大笑]' },
+ // ... 更多表情
+ ]
+}
+```
+
+### 方案 3:暂时禁用表情功能
+如果表情功能不是必需的,可以暂时禁用:
+
+```vue
+
+```
+
+### 方案 4:联系腾讯云获取授权
+如果需要使用腾讯云的默认表情包,需要:
+1. 访问 [腾讯云工单系统](https://console.cloud.tencent.com/workorder/category)
+2. 提交工单申请表情包使用授权
+
+## 临时解决方案
+
+目前其他功能(文本、图片、文件、视频)都可以正常使用。表情功能可以:
+1. 先跳过,使用文本消息
+2. 或者使用 Unicode 表情符号(😊😂❤️等)直接在文本中输入
+
+## 调试步骤
+
+### 步骤 1:检查控制台错误
+打开浏览器控制台,点击表情按钮,查看是否有错误信息:
+- 404 错误:表情资源文件未找到
+- CORS 错误:跨域问题
+- 其他 JavaScript 错误
+
+### 步骤 2:检查 DOM 元素
+点击表情按钮后,检查是否生成了表情选择器的 DOM:
+```
+
diff --git a/admin/package-lock.json b/admin/package-lock.json
index b117b214..721c4ac6 100644
--- a/admin/package-lock.json
+++ b/admin/package-lock.json
@@ -11,7 +11,8 @@
"dependencies": {
"@element-plus/icons-vue": "^2.3.1",
"@highlightjs/vue-plugin": "^2.1.0",
- "@trtc/calls-uikit-vue": "^4.2.2",
+ "@tencentcloud/chat-uikit-vue3": "^4.5.4",
+ "@trtc/calls-uikit-vue": "^4.4.6",
"@vue/shared": "^3.5.13",
"@vueuse/core": "^12.7.0",
"@wangeditor/editor": "^5.1.23",
@@ -2326,6 +2327,17 @@
"integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==",
"license": "MIT"
},
+ "node_modules/@floating-ui/vue": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.1.11.tgz",
+ "integrity": "sha512-HzHKCNVxnGS35r9fCHBc3+uCnjw9IWIlCPL683cGgM9Kgj2BiAl8x1mS7vtvP6F9S/e/q4O6MApwSHj8hNLGfw==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/dom": "^1.7.6",
+ "@floating-ui/utils": "^0.2.11",
+ "vue-demi": ">=0.13.0"
+ }
+ },
"node_modules/@highlightjs/vue-plugin": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@highlightjs/vue-plugin/-/vue-plugin-2.1.0.tgz",
@@ -2388,6 +2400,24 @@
"url": "https://github.com/sponsors/nzakas"
}
},
+ "node_modules/@internationalized/date": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.12.0.tgz",
+ "integrity": "sha512-/PyIMzK29jtXaGU23qTvNZxvBXRtKbNnGDFD+PY6CZw/Y8Ex8pFUzkuCJCG9aOqmShjqhS9mPqP6Dk5onQY8rQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
+ "node_modules/@internationalized/number": {
+ "version": "3.6.5",
+ "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.5.tgz",
+ "integrity": "sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/helpers": "^0.5.0"
+ }
+ },
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.13",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
@@ -2832,6 +2862,12 @@
"url": "https://opencollective.com/popperjs"
}
},
+ "node_modules/@remirror/core-constants": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-3.0.0.tgz",
+ "integrity": "sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==",
+ "license": "MIT"
+ },
"node_modules/@rolldown/pluginutils": {
"version": "1.0.0-rc.6",
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.6.tgz",
@@ -3230,12 +3266,102 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@swc/helpers": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.19.tgz",
+ "integrity": "sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.8.0"
+ }
+ },
+ "node_modules/@swc/helpers/node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/@tanstack/virtual-core": {
+ "version": "3.13.21",
+ "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.21.tgz",
+ "integrity": "sha512-ww+fmLHyCbPSf7JNbWZP3g7wl6SdNo3ah5Aiw+0e9FDErkVHLKprYUrwTm7dF646FtEkN/KkAKPYezxpmvOjxw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ }
+ },
+ "node_modules/@tanstack/vue-virtual": {
+ "version": "3.13.21",
+ "resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.13.21.tgz",
+ "integrity": "sha512-zneUNdQTcUhoDl6+ek+/O4S9gSZRAc2q7VLscZ4WZnFfZcHc3M7OyVCfSDC3hGuwFqzfL8Cx5bZF6zbGCYwXmw==",
+ "license": "MIT",
+ "dependencies": {
+ "@tanstack/virtual-core": "3.13.21"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/tannerlinsley"
+ },
+ "peerDependencies": {
+ "vue": "^2.7.0 || ^3.0.0"
+ }
+ },
+ "node_modules/@tencentcloud/chat": {
+ "version": "3.6.6",
+ "resolved": "https://registry.npmjs.org/@tencentcloud/chat/-/chat-3.6.6.tgz",
+ "integrity": "sha512-PYPGUoZHw3GjDgM0N72qr0K/Wjp28HAoGaND077sbUQEwYFaMjZ1tuBQZugFG6v8OS8Ihx71yqNshR3xDHvYaA==",
+ "license": "ISC",
+ "peer": true
+ },
+ "node_modules/@tencentcloud/chat-uikit-engine": {
+ "version": "2.5.8",
+ "resolved": "https://registry.npmjs.org/@tencentcloud/chat-uikit-engine/-/chat-uikit-engine-2.5.8.tgz",
+ "integrity": "sha512-oznl02n4VyBW3yDBC09uqoLAU/szht+mJqMZtRbjv1680Lv7V4ZmxSFCbjVjYNCtfzoqm6grHRFx/siAh50W/Q==",
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "@tencentcloud/chat": "latest",
+ "tim-profanity-filter-plugin": "latest",
+ "tim-upload-plugin": "latest"
+ }
+ },
+ "node_modules/@tencentcloud/chat-uikit-vue3": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/@tencentcloud/chat-uikit-vue3/-/chat-uikit-vue3-4.5.4.tgz",
+ "integrity": "sha512-tKV8TlskSCg0KwCig/OBp0WmAjJE/0CZrr4hEhFXZmiRYchBQU4v6WRevGbjlcHDIH3IaKXik/SeYVZhI7jN7A==",
+ "license": "MIT",
+ "dependencies": {
+ "classnames": "^2.5.1",
+ "tuikit-atomicx-vue3": "~4.5.6"
+ },
+ "peerDependencies": {
+ "@tencentcloud/chat": "^3.5.4",
+ "@tencentcloud/chat-uikit-engine": "~2.5.7",
+ "@tencentcloud/tui-core": "latest",
+ "@tencentcloud/uikit-base-component-vue3": "~1.3.3",
+ "@tencentcloud/universal-api": "~2.4.0",
+ "vue": "^3.4.0"
+ }
+ },
"node_modules/@tencentcloud/lite-chat": {
"version": "1.6.9",
"resolved": "https://registry.npmjs.org/@tencentcloud/lite-chat/-/lite-chat-1.6.9.tgz",
"integrity": "sha512-Pg7Z3YFI+jbv3iQzCZQHlWxBbaTZO2yJ8lFT1fURh5R7JJZz+c8h7Pe/z5NZNdmnsZBKes/s6s+hRXcfwMSbnA==",
"license": "ISC"
},
+ "node_modules/@tencentcloud/tui-core": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@tencentcloud/tui-core/-/tui-core-2.5.1.tgz",
+ "integrity": "sha512-aXZG0INkV9WvFUHgmVQRibCs10r2u/oVb8qAEjW3maytBiLWOJQiK7dzshK9fnfadJAWQ027cpR8lCKz5r5Tlw==",
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "@tencentcloud/chat": "latest",
+ "tim-profanity-filter-plugin": "latest",
+ "tim-upload-plugin": "latest"
+ }
+ },
"node_modules/@tencentcloud/tui-core-lite": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@tencentcloud/tui-core-lite/-/tui-core-lite-1.0.0.tgz",
@@ -3245,6 +3371,525 @@
"@tencentcloud/lite-chat": "^1.5.0"
}
},
+ "node_modules/@tencentcloud/tuiroom-engine-js": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/@tencentcloud/tuiroom-engine-js/-/tuiroom-engine-js-3.5.2.tgz",
+ "integrity": "sha512-ohQ66V1cnSOeI5AbN3jzxMBIM7phFdC/RS1F4yZNsFlOm0XoJK80eElV1IAkPwXlJszR/xQ5/zt6WT0wRuU7hg==",
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "@tencentcloud/chat": "3.5.9",
+ "rtc-detect": "^0.0.5",
+ "tcplayer.js": "5.3.4-beta.32",
+ "trtc-cloud-js-sdk": "2.10.9"
+ }
+ },
+ "node_modules/@tencentcloud/tuiroom-engine-js/node_modules/@tencentcloud/chat": {
+ "version": "3.5.9",
+ "resolved": "https://registry.npmjs.org/@tencentcloud/chat/-/chat-3.5.9.tgz",
+ "integrity": "sha512-DRCF5o1cZez1xjIFC8UmXE3NpWYfYWQ4+yjKtuOXk09N28dJSfdwYw2jyfJ2N0DWPB6icVCCxh2MDP+sp4HLpw==",
+ "license": "ISC",
+ "peer": true
+ },
+ "node_modules/@tencentcloud/tuiroom-engine-js/node_modules/trtc-cloud-js-sdk": {
+ "version": "2.10.9",
+ "resolved": "https://registry.npmjs.org/trtc-cloud-js-sdk/-/trtc-cloud-js-sdk-2.10.9.tgz",
+ "integrity": "sha512-CHgKq+0//TVCKVpXwhvXeBK+3J6W3WuzSQtyNb5KnyjJGdrjASb9lRO1UmJvZpy3dfDPOtybAJ/xlNfPJXOyqQ==",
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "trtc-sdk-v5": "5.15.0-beta.25"
+ }
+ },
+ "node_modules/@tencentcloud/tuiroom-engine-js/node_modules/trtc-sdk-v5": {
+ "version": "5.15.0-beta.25",
+ "resolved": "https://registry.npmjs.org/trtc-sdk-v5/-/trtc-sdk-v5-5.15.0-beta.25.tgz",
+ "integrity": "sha512-bpVa+PTrEnbvhszDIvf7gozlFIkhmR3n9sVMKO9yFPidtUd6ueAca38mjKbhcfrDlP4WKVD7SEIwPWis1JqFVQ==",
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "webrtc-adapter": "^8.2.3"
+ }
+ },
+ "node_modules/@tencentcloud/uikit-base-component-vue3": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/@tencentcloud/uikit-base-component-vue3/-/uikit-base-component-vue3-1.3.6.tgz",
+ "integrity": "sha512-IoKUs2YUYHPg8Iqc2Y+9CbVUYaNm7ZN0NQnJwwodTHhPVRby0fo5WalbwcVYQV8PYj2zvKP9Y+uRLI3b0RgvVw==",
+ "peer": true,
+ "dependencies": {
+ "i18next": "^23.15.1"
+ },
+ "peerDependencies": {
+ "vue": "^3.4.0"
+ }
+ },
+ "node_modules/@tencentcloud/uikit-base-component-vue3/node_modules/i18next": {
+ "version": "23.16.8",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz",
+ "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://locize.com"
+ },
+ {
+ "type": "individual",
+ "url": "https://locize.com/i18next.html"
+ },
+ {
+ "type": "individual",
+ "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project"
+ }
+ ],
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@babel/runtime": "^7.23.2"
+ }
+ },
+ "node_modules/@tencentcloud/universal-api": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@tencentcloud/universal-api/-/universal-api-2.4.1.tgz",
+ "integrity": "sha512-/qVEMVi8jXXMw3Mya0NGQ5sroxGAvHwiGqHbs6rjEn1NuYP54qe+Dccq3x2SUH9ghalbGnGjWFci6boePtl9Cg==",
+ "license": "ISC"
+ },
+ "node_modules/@tiptap/core": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.27.2.tgz",
+ "integrity": "sha512-ABL1N6eoxzDzC1bYvkMbvyexHacszsKdVPYqhl5GwHLOvpZcv9VE9QaKwDILTyz5voCA0lGcAAXZp+qnXOk5lQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/pm": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-blockquote": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.27.2.tgz",
+ "integrity": "sha512-oIGZgiAeA4tG3YxbTDfrmENL4/CIwGuP3THtHsNhwRqwsl9SfMk58Ucopi2GXTQSdYXpRJ0ahE6nPqB5D6j/Zw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-bold": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.27.2.tgz",
+ "integrity": "sha512-bR7J5IwjCGQ0s3CIxyMvOCnMFMzIvsc5OVZKscTN5UkXzFsaY6muUAIqtKxayBUucjtUskm5qZowJITCeCb1/A==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-bubble-menu": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.27.2.tgz",
+ "integrity": "sha512-VkwlCOcr0abTBGzjPXklJ92FCowG7InU8+Od9FyApdLNmn0utRYGRhw0Zno6VgE9EYr1JY4BRnuSa5f9wlR72w==",
+ "license": "MIT",
+ "dependencies": {
+ "tippy.js": "^6.3.7"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-bullet-list": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.27.2.tgz",
+ "integrity": "sha512-gmFuKi97u5f8uFc/GQs+zmezjiulZmFiDYTh3trVoLRoc2SAHOjGEB7qxdx7dsqmMN7gwiAWAEVurLKIi1lnnw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-code": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.27.2.tgz",
+ "integrity": "sha512-7X9AgwqiIGXoZX7uvdHQsGsjILnN/JaEVtqfXZnPECzKGaWHeK/Ao4sYvIIIffsyZJA8k5DC7ny2/0sAgr2TuA==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-code-block": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.27.2.tgz",
+ "integrity": "sha512-KgvdQHS4jXr79aU3wZOGBIZYYl9vCB7uDEuRFV4so2rYrfmiYMw3T8bTnlNEEGe4RUeAms1i4fdwwvQp9nR1Dw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-document": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.27.2.tgz",
+ "integrity": "sha512-CFhAYsPnyYnosDC4639sCJnBUnYH4Cat9qH5NZWHVvdgtDwu8GZgZn2eSzaKSYXWH1vJ9DSlCK+7UyC3SNXIBA==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-dropcursor": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.27.2.tgz",
+ "integrity": "sha512-oEu/OrktNoQXq1x29NnH/GOIzQZm8ieTQl3FK27nxfBPA89cNoH4mFEUmBL5/OFIENIjiYG3qWpg6voIqzswNw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-floating-menu": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.27.2.tgz",
+ "integrity": "sha512-GUN6gPIGXS7ngRJOwdSmtBRBDt9Kt9CM/9pSwKebhLJ+honFoNA+Y6IpVyDvvDMdVNgBchiJLs6qA5H97gAePQ==",
+ "license": "MIT",
+ "dependencies": {
+ "tippy.js": "^6.3.7"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-gapcursor": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.27.2.tgz",
+ "integrity": "sha512-/c9VF1HBxj+AP54XGVgCmD9bEGYc5w5OofYCFQgM7l7PB1J00A4vOke0oPkHJnqnOOyPlFaxO/7N6l3XwFcnKA==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-hard-break": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.27.2.tgz",
+ "integrity": "sha512-kSRVGKlCYK6AGR0h8xRkk0WOFGXHIIndod3GKgWU49APuIGDiXd8sziXsSlniUsWmqgDmDXcNnSzPcV7AQ8YNg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-heading": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.27.2.tgz",
+ "integrity": "sha512-iM3yeRWuuQR/IRQ1djwNooJGfn9Jts9zF43qZIUf+U2NY8IlvdNsk2wTOdBgh6E0CamrStPxYGuln3ZS4fuglw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-history": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.27.2.tgz",
+ "integrity": "sha512-+hSyqERoFNTWPiZx4/FCyZ/0eFqB9fuMdTB4AC/q9iwu3RNWAQtlsJg5230bf/qmyO6bZxRUc0k8p4hrV6ybAw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-horizontal-rule": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.27.2.tgz",
+ "integrity": "sha512-WGWUSgX+jCsbtf9Y9OCUUgRZYuwjVoieW5n6mAUohJ9/6gc6sGIOrUpBShf+HHo6WD+gtQjRd+PssmX3NPWMpg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-image": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.27.2.tgz",
+ "integrity": "sha512-5zL/BY41FIt72azVrCrv3n+2YJ/JyO8wxCcA4Dk1eXIobcgVyIdo4rG39gCqIOiqziAsqnqoj12QHTBtHsJ6mQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-italic": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.27.2.tgz",
+ "integrity": "sha512-1OFsw2SZqfaqx5Fa5v90iNlPRcqyt+lVSjBwTDzuPxTPFY4Q0mL89mKgkq2gVHYNCiaRkXvFLDxaSvBWbmthgg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-list-item": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.27.2.tgz",
+ "integrity": "sha512-eJNee7IEGXMnmygM5SdMGDC8m/lMWmwNGf9fPCK6xk0NxuQRgmZHL6uApKcdH6gyNcRPHCqvTTkhEP7pbny/fg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-mention": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-mention/-/extension-mention-2.27.2.tgz",
+ "integrity": "sha512-uHxVf8RISscb4xgCEJmDSNcFQmzlBTKJh7fp2QAXWIF4Xtrg3zD08PIXUvvHapoluGD9OdBugW4YCu1PJ3xWNw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
+ "@tiptap/suggestion": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-ordered-list": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.27.2.tgz",
+ "integrity": "sha512-M7A4tLGJcLPYdLC4CI2Gwl8LOrENQW59u3cMVa+KkwG1hzSJyPsbDpa1DI6oXPC2WtYiTf22zrbq3gVvH+KA2w==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-paragraph": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.27.2.tgz",
+ "integrity": "sha512-elYVn2wHJJ+zB9LESENWOAfI4TNT0jqEN34sMA/hCtA4im1ZG2DdLHwkHIshj/c4H0dzQhmsS/YmNC5Vbqab/A==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-placeholder": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.27.2.tgz",
+ "integrity": "sha512-IjsgSVYJRjpAKmIoapU0E2R4E2FPY3kpvU7/1i7PUYisylqejSJxmtJPGYw0FOMQY9oxnEEvfZHMBA610tqKpg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-strike": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.27.2.tgz",
+ "integrity": "sha512-HHIjhafLhS2lHgfAsCwC1okqMsQzR4/mkGDm4M583Yftyjri1TNA7lzhzXWRFWiiMfJxKtdjHjUAQaHuteRTZw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-text": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.27.2.tgz",
+ "integrity": "sha512-Xk7nYcigljAY0GO9hAQpZ65ZCxqOqaAlTPDFcKerXmlkQZP/8ndx95OgUb1Xf63kmPOh3xypurGS2is3v0MXSA==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/extension-text-style": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-2.27.2.tgz",
+ "integrity": "sha512-Omk+uxjJLyEY69KStpCw5fA9asvV+MGcAX2HOxyISDFoLaL49TMrNjhGAuz09P1L1b0KGXo4ml7Q3v/Lfy4WPA==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/pm": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.27.2.tgz",
+ "integrity": "sha512-kaEg7BfiJPDQMKbjVIzEPO3wlcA+pZb2tlcK9gPrdDnEFaec2QTF1sXz2ak2IIb2curvnIrQ4yrfHgLlVA72wA==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-changeset": "^2.3.0",
+ "prosemirror-collab": "^1.3.1",
+ "prosemirror-commands": "^1.6.2",
+ "prosemirror-dropcursor": "^1.8.1",
+ "prosemirror-gapcursor": "^1.3.2",
+ "prosemirror-history": "^1.4.1",
+ "prosemirror-inputrules": "^1.4.0",
+ "prosemirror-keymap": "^1.2.2",
+ "prosemirror-markdown": "^1.13.1",
+ "prosemirror-menu": "^1.2.4",
+ "prosemirror-model": "^1.23.0",
+ "prosemirror-schema-basic": "^1.2.3",
+ "prosemirror-schema-list": "^1.4.1",
+ "prosemirror-state": "^1.4.3",
+ "prosemirror-tables": "^1.6.4",
+ "prosemirror-trailing-node": "^3.0.0",
+ "prosemirror-transform": "^1.10.2",
+ "prosemirror-view": "^1.37.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ }
+ },
+ "node_modules/@tiptap/starter-kit": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.27.2.tgz",
+ "integrity": "sha512-bb0gJvPoDuyRUQ/iuN52j1//EtWWttw+RXAv1uJxfR0uKf8X7uAqzaOOgwjknoCIDC97+1YHwpGdnRjpDkOBxw==",
+ "license": "MIT",
+ "dependencies": {
+ "@tiptap/core": "^2.27.2",
+ "@tiptap/extension-blockquote": "^2.27.2",
+ "@tiptap/extension-bold": "^2.27.2",
+ "@tiptap/extension-bullet-list": "^2.27.2",
+ "@tiptap/extension-code": "^2.27.2",
+ "@tiptap/extension-code-block": "^2.27.2",
+ "@tiptap/extension-document": "^2.27.2",
+ "@tiptap/extension-dropcursor": "^2.27.2",
+ "@tiptap/extension-gapcursor": "^2.27.2",
+ "@tiptap/extension-hard-break": "^2.27.2",
+ "@tiptap/extension-heading": "^2.27.2",
+ "@tiptap/extension-history": "^2.27.2",
+ "@tiptap/extension-horizontal-rule": "^2.27.2",
+ "@tiptap/extension-italic": "^2.27.2",
+ "@tiptap/extension-list-item": "^2.27.2",
+ "@tiptap/extension-ordered-list": "^2.27.2",
+ "@tiptap/extension-paragraph": "^2.27.2",
+ "@tiptap/extension-strike": "^2.27.2",
+ "@tiptap/extension-text": "^2.27.2",
+ "@tiptap/extension-text-style": "^2.27.2",
+ "@tiptap/pm": "^2.27.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ }
+ },
+ "node_modules/@tiptap/suggestion": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/suggestion/-/suggestion-2.27.2.tgz",
+ "integrity": "sha512-dQyvCIg0hcAVeh4fCIVCxogvbp+bF+GpbUb8sNlgnGrmHXnapGxzkvrlHnvneXZxLk/j7CxmBPKJNnm4Pbx4zw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0"
+ }
+ },
+ "node_modules/@tiptap/vue-3": {
+ "version": "2.27.2",
+ "resolved": "https://registry.npmjs.org/@tiptap/vue-3/-/vue-3-2.27.2.tgz",
+ "integrity": "sha512-NahnVLTAQsbLaNU9nGLdGCr88nAeQZJTejjBVQc3EzMdijmE46R44Rosj6O/pj3e7eLj1/gYvc+U/hIVbxMpoQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@tiptap/extension-bubble-menu": "^2.27.2",
+ "@tiptap/extension-floating-menu": "^2.27.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/ueberdosis"
+ },
+ "peerDependencies": {
+ "@tiptap/core": "^2.7.0",
+ "@tiptap/pm": "^2.7.0",
+ "vue": "^3.0.0"
+ }
+ },
"node_modules/@transloadit/prettier-bytes": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz",
@@ -3266,14 +3911,14 @@
}
},
"node_modules/@trtc/calls-uikit-vue": {
- "version": "4.4.5",
- "resolved": "https://registry.npmjs.org/@trtc/calls-uikit-vue/-/calls-uikit-vue-4.4.5.tgz",
- "integrity": "sha512-lLhHwPKoNDh19rUyfTSnd7t1H++acEPwbZw1DHgqRmd8IyyLcK9xZLeAXn/TZiZxiDFJAlHKNsLgGDEI83dgqA==",
+ "version": "4.4.6",
+ "resolved": "https://registry.npmjs.org/@trtc/calls-uikit-vue/-/calls-uikit-vue-4.4.6.tgz",
+ "integrity": "sha512-g+j2NuZCKtANqim/wPUnv40x2advVHLa2yevcRj/JGd3Mv0nfDI/lPjbBYb/CUy6BtNGd8O52kRRrE3MYYeeWA==",
"license": "ISC",
"dependencies": {
"@tencentcloud/lite-chat": "^1.6.3",
"@tencentcloud/tui-core-lite": "1.0.0",
- "@trtc/call-engine-lite-js": "~3.5.5"
+ "@trtc/call-engine-lite-js": "~3.5.7"
}
},
"node_modules/@trysound/sax": {
@@ -3306,6 +3951,12 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@types/linkify-it": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==",
+ "license": "MIT"
+ },
"node_modules/@types/lodash": {
"version": "4.17.24",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.24.tgz",
@@ -3321,6 +3972,22 @@
"@types/lodash": "*"
}
},
+ "node_modules/@types/markdown-it": {
+ "version": "14.1.2",
+ "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz",
+ "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/linkify-it": "^5",
+ "@types/mdurl": "^2"
+ }
+ },
+ "node_modules/@types/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
+ "license": "MIT"
+ },
"node_modules/@types/node": {
"version": "22.19.13",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.13.tgz",
@@ -4028,7 +4695,6 @@
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.7.0.tgz",
"integrity": "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==",
- "dev": true,
"license": "MIT",
"peerDependencies": {
"typescript": "5.x",
@@ -4363,9 +5029,20 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
"license": "Python-2.0"
},
+ "node_modules/aria-hidden": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz",
+ "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@@ -4596,6 +5273,33 @@
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
+ "node_modules/babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "node_modules/babel-runtime/node_modules/core-js": {
+ "version": "2.6.12",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
+ "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
+ "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/babel-runtime/node_modules/regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "license": "MIT",
+ "peer": true
+ },
"node_modules/balanced-match": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.1.0.tgz",
@@ -4674,6 +5378,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/blueimp-md5": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz",
+ "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==",
+ "license": "MIT",
+ "peer": true
+ },
"node_modules/boolbase": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
@@ -4959,6 +5670,16 @@
"tslib": "^2.0.3"
}
},
+ "node_modules/charenc": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
+ "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
+ "license": "BSD-3-Clause",
+ "peer": true,
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/chokidar": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
@@ -5028,6 +5749,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/classnames": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz",
+ "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==",
+ "license": "MIT"
+ },
"node_modules/clipboard": {
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.11.tgz",
@@ -5238,6 +5965,12 @@
"url": "https://opencollective.com/express"
}
},
+ "node_modules/crelt": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz",
+ "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==",
+ "license": "MIT"
+ },
"node_modules/cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -5253,6 +5986,16 @@
"node": ">= 8"
}
},
+ "node_modules/crypt": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
+ "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
+ "license": "BSD-3-Clause",
+ "peer": true,
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/css-color-function": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/css-color-function/-/css-color-function-1.3.3.tgz",
@@ -5486,6 +6229,16 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/date-fns": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
+ "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/kossnocorp"
+ }
+ },
"node_modules/dayjs": {
"version": "1.11.19",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz",
@@ -5521,7 +6274,6 @@
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
"integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10"
@@ -5583,6 +6335,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/defu": {
+ "version": "6.1.4",
+ "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
+ "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==",
+ "license": "MIT"
+ },
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -5656,6 +6414,12 @@
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
+ "node_modules/dom-walk": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
+ "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==",
+ "peer": true
+ },
"node_modules/dom7": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/dom7/-/dom7-3.0.0.tgz",
@@ -5979,6 +6743,16 @@
"node": ">=0.10"
}
},
+ "node_modules/es5-shim": {
+ "version": "4.6.7",
+ "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.6.7.tgz",
+ "integrity": "sha512-jg21/dmlrNQI7JyyA2w7n+yifSxBng0ZralnSfVZjoCawgNTCnS+yBCyVM9DL5itm7SUnDGgv7hcq2XCZX4iRQ==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
@@ -6059,7 +6833,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
@@ -7056,6 +7829,17 @@
"node": ">=10.13.0"
}
},
+ "node_modules/global": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
+ "integrity": "sha512-/4AybdwIDU4HkCUbJkZdWpe4P6vuw/CUtu+0I1YlLIPe7OlUO7KNJ+q/rO70CW2/NW6Jc6I62++Hzsf5Alu6rQ==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "min-document": "^2.19.0",
+ "process": "~0.5.1"
+ }
+ },
"node_modules/globals": {
"version": "14.0.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
@@ -7444,6 +8228,12 @@
"node": ">=0.8.19"
}
},
+ "node_modules/individual": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/individual/-/individual-2.0.0.tgz",
+ "integrity": "sha512-pWt8hBCqJsUWI/HtcfWod7+N9SgAqyPEaF7JQjwzjn5vGrpg6aQ5qeAFQ7dx//UH4J1O+7xqew+gCeeFt6xN/g==",
+ "peer": true
+ },
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
@@ -7567,7 +8357,6 @@
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true,
"license": "MIT"
},
"node_modules/is-callable": {
@@ -7697,6 +8486,13 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-function": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
+ "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==",
+ "license": "MIT",
+ "peer": true
+ },
"node_modules/is-generator-function": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz",
@@ -8062,6 +8858,13 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/jsencrypt": {
+ "version": "3.5.4",
+ "resolved": "https://registry.npmjs.org/jsencrypt/-/jsencrypt-3.5.4.tgz",
+ "integrity": "sha512-kNjfYEMNASxrDGsmcSQh/rUTmcoRfSUkxnAz+MMywM8jtGu+fFEZ3nJjHM58zscVnwR0fYmG9sGkTDjqUdpiwA==",
+ "license": "MIT",
+ "peer": true
+ },
"node_modules/jsesc": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
@@ -8176,6 +8979,15 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/linkify-it": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
+ "license": "MIT",
+ "dependencies": {
+ "uc.micro": "^2.0.0"
+ }
+ },
"node_modules/loader-utils": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
@@ -8363,6 +9175,35 @@
"node": ">=0.10.0"
}
},
+ "node_modules/markdown-it": {
+ "version": "14.1.1",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz",
+ "integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==",
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1",
+ "entities": "^4.4.0",
+ "linkify-it": "^5.0.0",
+ "mdurl": "^2.0.0",
+ "punycode.js": "^2.3.1",
+ "uc.micro": "^2.1.0"
+ },
+ "bin": {
+ "markdown-it": "bin/markdown-it.mjs"
+ }
+ },
+ "node_modules/markdown-it/node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
"node_modules/math-intrinsics": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -8372,6 +9213,18 @@
"node": ">= 0.4"
}
},
+ "node_modules/md5": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
+ "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
+ "license": "BSD-3-Clause",
+ "peer": true,
+ "dependencies": {
+ "charenc": "0.0.2",
+ "crypt": "0.0.2",
+ "is-buffer": "~1.1.6"
+ }
+ },
"node_modules/mdn-data": {
"version": "2.0.14",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
@@ -8379,6 +9232,12 @@
"dev": true,
"license": "CC0-1.0"
},
+ "node_modules/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
+ "license": "MIT"
+ },
"node_modules/memoize-one": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
@@ -8475,6 +9334,16 @@
"node": ">= 0.6"
}
},
+ "node_modules/min-document": {
+ "version": "2.19.2",
+ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.2.tgz",
+ "integrity": "sha512-8S5I8db/uZN8r9HSLFVWPdJCvYOejMcEC82VIzNUc6Zkklf/d1gg2psfE79/vyhWOj4+J8MtwmoOz3TmvaGu5A==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "dom-walk": "^0.1.0"
+ }
+ },
"node_modules/minimatch": {
"version": "10.2.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
@@ -8836,7 +9705,6 @@
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -8997,6 +9865,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/ohash": {
+ "version": "2.0.11",
+ "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz",
+ "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==",
+ "license": "MIT"
+ },
"node_modules/optionator": {
"version": "0.9.4",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
@@ -9015,6 +9889,12 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/orderedmap": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz",
+ "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==",
+ "license": "MIT"
+ },
"node_modules/own-keys": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz",
@@ -9089,6 +9969,13 @@
"node": ">=6"
}
},
+ "node_modules/parse-headers": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.6.tgz",
+ "integrity": "sha512-Tz11t3uKztEW5FEVZnj1ox8GKblWn+PvHY9TmJV5Mll2uHEwRdR/5Li1OlXoECjLYkApdhWy44ocONwXLiKO5A==",
+ "license": "MIT",
+ "peer": true
+ },
"node_modules/parse-ms": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz",
@@ -9582,6 +10469,210 @@
"node": ">=6"
}
},
+ "node_modules/process": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
+ "integrity": "sha512-oNpcutj+nYX2FjdEW7PGltWhXulAnFlM0My/k48L90hARCOJtvBbQXc/6itV2jDvU5xAAtonP+r6wmQgCcbAUA==",
+ "peer": true,
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
+ "node_modules/prosemirror-changeset": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.4.0.tgz",
+ "integrity": "sha512-LvqH2v7Q2SF6yxatuPP2e8vSUKS/L+xAU7dPDC4RMyHMhZoGDfBC74mYuyYF4gLqOEG758wajtyhNnsTkuhvng==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-transform": "^1.0.0"
+ }
+ },
+ "node_modules/prosemirror-collab": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/prosemirror-collab/-/prosemirror-collab-1.3.1.tgz",
+ "integrity": "sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-state": "^1.0.0"
+ }
+ },
+ "node_modules/prosemirror-commands": {
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.7.1.tgz",
+ "integrity": "sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-model": "^1.0.0",
+ "prosemirror-state": "^1.0.0",
+ "prosemirror-transform": "^1.10.2"
+ }
+ },
+ "node_modules/prosemirror-dropcursor": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.2.tgz",
+ "integrity": "sha512-CCk6Gyx9+Tt2sbYk5NK0nB1ukHi2ryaRgadV/LvyNuO3ena1payM2z6Cg0vO1ebK8cxbzo41ku2DE5Axj1Zuiw==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-state": "^1.0.0",
+ "prosemirror-transform": "^1.1.0",
+ "prosemirror-view": "^1.1.0"
+ }
+ },
+ "node_modules/prosemirror-gapcursor": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.4.0.tgz",
+ "integrity": "sha512-z00qvurSdCEWUIulij/isHaqu4uLS8r/Fi61IbjdIPJEonQgggbJsLnstW7Lgdk4zQ68/yr6B6bf7sJXowIgdQ==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-keymap": "^1.0.0",
+ "prosemirror-model": "^1.0.0",
+ "prosemirror-state": "^1.0.0",
+ "prosemirror-view": "^1.0.0"
+ }
+ },
+ "node_modules/prosemirror-history": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.5.0.tgz",
+ "integrity": "sha512-zlzTiH01eKA55UAf1MEjtssJeHnGxO0j4K4Dpx+gnmX9n+SHNlDqI2oO1Kv1iPN5B1dm5fsljCfqKF9nFL6HRg==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-state": "^1.2.2",
+ "prosemirror-transform": "^1.0.0",
+ "prosemirror-view": "^1.31.0",
+ "rope-sequence": "^1.3.0"
+ }
+ },
+ "node_modules/prosemirror-inputrules": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.5.1.tgz",
+ "integrity": "sha512-7wj4uMjKaXWAQ1CDgxNzNtR9AlsuwzHfdFH1ygEHA2KHF2DOEaXl1CJfNPAKCg9qNEh4rum975QLaCiQPyY6Fw==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-state": "^1.0.0",
+ "prosemirror-transform": "^1.0.0"
+ }
+ },
+ "node_modules/prosemirror-keymap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.3.tgz",
+ "integrity": "sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-state": "^1.0.0",
+ "w3c-keyname": "^2.2.0"
+ }
+ },
+ "node_modules/prosemirror-markdown": {
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.13.4.tgz",
+ "integrity": "sha512-D98dm4cQ3Hs6EmjK500TdAOew4Z03EV71ajEFiWra3Upr7diytJsjF4mPV2dW+eK5uNectiRj0xFxYI9NLXDbw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/markdown-it": "^14.0.0",
+ "markdown-it": "^14.0.0",
+ "prosemirror-model": "^1.25.0"
+ }
+ },
+ "node_modules/prosemirror-menu": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.3.0.tgz",
+ "integrity": "sha512-TImyPXCHPcDsSka2/lwJ6WjTASr4re/qWq1yoTTuLOqfXucwF6VcRa2LWCkM/EyTD1UO3CUwiH8qURJoWJRxwg==",
+ "license": "MIT",
+ "dependencies": {
+ "crelt": "^1.0.0",
+ "prosemirror-commands": "^1.0.0",
+ "prosemirror-history": "^1.0.0",
+ "prosemirror-state": "^1.0.0"
+ }
+ },
+ "node_modules/prosemirror-model": {
+ "version": "1.25.4",
+ "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.4.tgz",
+ "integrity": "sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==",
+ "license": "MIT",
+ "dependencies": {
+ "orderedmap": "^2.0.0"
+ }
+ },
+ "node_modules/prosemirror-schema-basic": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/prosemirror-schema-basic/-/prosemirror-schema-basic-1.2.4.tgz",
+ "integrity": "sha512-ELxP4TlX3yr2v5rM7Sb70SqStq5NvI15c0j9j/gjsrO5vaw+fnnpovCLEGIcpeGfifkuqJwl4fon6b+KdrODYQ==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-model": "^1.25.0"
+ }
+ },
+ "node_modules/prosemirror-schema-list": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.5.1.tgz",
+ "integrity": "sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-model": "^1.0.0",
+ "prosemirror-state": "^1.0.0",
+ "prosemirror-transform": "^1.7.3"
+ }
+ },
+ "node_modules/prosemirror-state": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.4.tgz",
+ "integrity": "sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-model": "^1.0.0",
+ "prosemirror-transform": "^1.0.0",
+ "prosemirror-view": "^1.27.0"
+ }
+ },
+ "node_modules/prosemirror-tables": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.8.5.tgz",
+ "integrity": "sha512-V/0cDCsHKHe/tfWkeCmthNUcEp1IVO3p6vwN8XtwE9PZQLAZJigbw3QoraAdfJPir4NKJtNvOB8oYGKRl+t0Dw==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-keymap": "^1.2.3",
+ "prosemirror-model": "^1.25.4",
+ "prosemirror-state": "^1.4.4",
+ "prosemirror-transform": "^1.10.5",
+ "prosemirror-view": "^1.41.4"
+ }
+ },
+ "node_modules/prosemirror-trailing-node": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/prosemirror-trailing-node/-/prosemirror-trailing-node-3.0.0.tgz",
+ "integrity": "sha512-xiun5/3q0w5eRnGYfNlW1uU9W6x5MoFKWwq/0TIRgt09lv7Hcser2QYV8t4muXbEr+Fwo0geYn79Xs4GKywrRQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@remirror/core-constants": "3.0.0",
+ "escape-string-regexp": "^4.0.0"
+ },
+ "peerDependencies": {
+ "prosemirror-model": "^1.22.1",
+ "prosemirror-state": "^1.4.2",
+ "prosemirror-view": "^1.33.8"
+ }
+ },
+ "node_modules/prosemirror-transform": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.11.0.tgz",
+ "integrity": "sha512-4I7Ce4KpygXb9bkiPS3hTEk4dSHorfRw8uI0pE8IhxlK2GXsqv5tIA7JUSxtSu7u8APVOTtbUBxTmnHIxVkIJw==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-model": "^1.21.0"
+ }
+ },
+ "node_modules/prosemirror-view": {
+ "version": "1.41.6",
+ "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.41.6.tgz",
+ "integrity": "sha512-mxpcDG4hNQa/CPtzxjdlir5bJFDlm0/x5nGBbStB2BWX+XOQ9M8ekEG+ojqB5BcVu2Rc80/jssCMZzSstJuSYg==",
+ "license": "MIT",
+ "dependencies": {
+ "prosemirror-model": "^1.20.0",
+ "prosemirror-state": "^1.0.0",
+ "prosemirror-transform": "^1.1.0"
+ }
+ },
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@@ -9598,6 +10689,15 @@
"node": ">=6"
}
},
+ "node_modules/punycode.js": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
+ "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/quansync": {
"version": "0.2.11",
"resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz",
@@ -9862,6 +10962,69 @@
"regjsparser": "bin/parser"
}
},
+ "node_modules/reka-ui": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/reka-ui/-/reka-ui-2.9.0.tgz",
+ "integrity": "sha512-5dpp80u109iLTbRBu+jhAk8R/877/JN20gYGjb3GsuAgS7E/5QTX5ZxuzWtZAVbChBDYDpXc8pkaQAFpa6s+4w==",
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/dom": "^1.6.13",
+ "@floating-ui/vue": "^1.1.6",
+ "@internationalized/date": "^3.5.0",
+ "@internationalized/number": "^3.5.0",
+ "@tanstack/vue-virtual": "^3.12.0",
+ "@vueuse/core": "^14.1.0",
+ "@vueuse/shared": "^14.1.0",
+ "aria-hidden": "^1.2.4",
+ "defu": "^6.1.4",
+ "ohash": "^2.0.11"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/zernonia"
+ },
+ "peerDependencies": {
+ "vue": ">= 3.4.0"
+ }
+ },
+ "node_modules/reka-ui/node_modules/@vueuse/core": {
+ "version": "14.2.1",
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.2.1.tgz",
+ "integrity": "sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/web-bluetooth": "^0.0.21",
+ "@vueuse/metadata": "14.2.1",
+ "@vueuse/shared": "14.2.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "vue": "^3.5.0"
+ }
+ },
+ "node_modules/reka-ui/node_modules/@vueuse/metadata": {
+ "version": "14.2.1",
+ "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.2.1.tgz",
+ "integrity": "sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/reka-ui/node_modules/@vueuse/shared": {
+ "version": "14.2.1",
+ "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.2.1.tgz",
+ "integrity": "sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "vue": "^3.5.0"
+ }
+ },
"node_modules/repeat-element": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
@@ -10002,6 +11165,12 @@
"fsevents": "~2.3.2"
}
},
+ "node_modules/rope-sequence": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz",
+ "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==",
+ "license": "MIT"
+ },
"node_modules/rtc-detect": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/rtc-detect/-/rtc-detect-0.0.5.tgz",
@@ -10032,6 +11201,16 @@
"queue-microtask": "^1.2.2"
}
},
+ "node_modules/rust-result": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/rust-result/-/rust-result-1.0.0.tgz",
+ "integrity": "sha512-6cJzSBU+J/RJCF063onnQf0cDUOHs9uZI1oroSGnHOph+CQTIJ5Pp2hK5kEQq1+7yE/EEWfulSNXAQ2jikPthA==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "individual": "^2.0.0"
+ }
+ },
"node_modules/safe-array-concat": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
@@ -10080,6 +11259,15 @@
],
"license": "MIT"
},
+ "node_modules/safe-json-parse": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-4.0.0.tgz",
+ "integrity": "sha512-RjZPPHugjK0TOzFrLZ8inw44s9bKox99/0AZW9o/BEQVrJfhI+fIHMErnPyRa89/yRXUUr93q+tiN6zhoVV4wQ==",
+ "peer": true,
+ "dependencies": {
+ "rust-result": "^1.0.0"
+ }
+ },
"node_modules/safe-push-apply": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz",
@@ -10768,11 +11956,27 @@
"node": ">= 0.4"
}
},
+ "node_modules/store": {
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/store/-/store-2.0.12.tgz",
+ "integrity": "sha512-eO9xlzDpXLiMr9W1nQ3Nfp9EzZieIQc10zPPMP5jsVV7bLOziSFFBP0XoDXACEIFtdI+rIz0NwWVA/QVJ8zJtw==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/store2": {
+ "version": "2.14.4",
+ "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.4.tgz",
+ "integrity": "sha512-srTItn1GOvyvOycgxjAnPA63FZNwy0PTyUBFMHRM+hVFltAeoh0LmNBz9SZqUS9mMqGk8rfyWyXn3GH5ReJ8Zw==",
+ "license": "MIT",
+ "peer": true
+ },
"node_modules/strict-uri-encode": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
"integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -11340,6 +12544,44 @@
"node": ">=8.10.0"
}
},
+ "node_modules/tcplayer.js": {
+ "version": "5.3.4-beta.32",
+ "resolved": "https://registry.npmjs.org/tcplayer.js/-/tcplayer.js-5.3.4-beta.32.tgz",
+ "integrity": "sha512-kY29q4sx911Eob4IOAMZLEXATnCuJE8GBNu1OWxqxfBjTeGN/lfxQrODAkyZPBIxAXDGJsuMfngrXj3tZXzRRQ==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "babel-runtime": "^6.9.2",
+ "blueimp-md5": "^2.10.0",
+ "global": "4.3.2",
+ "jsencrypt": "^3.2.0",
+ "md5": "^2.3.0",
+ "query-string": "^5.0.1",
+ "safe-json-parse": "4.0.0",
+ "store": "^2.0.12",
+ "store2": "^2.7.1",
+ "tsml": "1.0.1",
+ "videojs-font": "^3.2.0",
+ "videojs-ie8": "1.1.2",
+ "videojs-vtt.js": "0.12.4",
+ "xhr": "2.4.0"
+ }
+ },
+ "node_modules/tcplayer.js/node_modules/query-string": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
+ "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "decode-uri-component": "^0.2.0",
+ "object-assign": "^4.1.0",
+ "strict-uri-encode": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/terser": {
"version": "5.46.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz",
@@ -11389,6 +12631,20 @@
"node": ">=0.8"
}
},
+ "node_modules/tim-profanity-filter-plugin": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/tim-profanity-filter-plugin/-/tim-profanity-filter-plugin-1.1.0.tgz",
+ "integrity": "sha512-+49p+n5LJs18rSPBvJFyq/m6ib8wiXvPEx2/Sz3M7hhDXAz69WuZ8cB/painNrN0MKAETf6G5cWa6xtVZfAK7A==",
+ "license": "ISC",
+ "peer": true
+ },
+ "node_modules/tim-upload-plugin": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/tim-upload-plugin/-/tim-upload-plugin-1.4.3.tgz",
+ "integrity": "sha512-3ZmbA36dr3eG9YGDon9MLBUtbNawYWkL+TBa+VS0Uviguc7PlVSOIVRG2C4irXX16slDT2Kj+HAZapp+Xqp2xg==",
+ "license": "ISC",
+ "peer": true
+ },
"node_modules/tiny-emitter": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
@@ -11449,6 +12705,15 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/tippy.js": {
+ "version": "6.3.7",
+ "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz",
+ "integrity": "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@popperjs/core": "^2.9.0"
+ }
+ },
"node_modules/to-object-path": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
@@ -11630,6 +12895,43 @@
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==",
"license": "0BSD"
},
+ "node_modules/tsml": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tsml/-/tsml-1.0.1.tgz",
+ "integrity": "sha512-3KmepnH9SUsoOVtg013CRrL7c+AK7ECaquAsJdvu4288EDJuraqBlP4PDXT/rLEJ9YDn4jqLAzRJsnFPx+V6lg==",
+ "deprecated": "no longer maintained",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/tuikit-atomicx-vue3": {
+ "version": "4.5.7",
+ "resolved": "https://registry.npmjs.org/tuikit-atomicx-vue3/-/tuikit-atomicx-vue3-4.5.7.tgz",
+ "integrity": "sha512-Jj79SD2m2v3uZt8dDAKbTV42r49Zxa3+p7oAcH1kfDmNFYED1giaouikFcltjd50dceeUc0bMktfv642Mjvc5Q==",
+ "dependencies": {
+ "@tencentcloud/universal-api": "^2.4.0",
+ "@tiptap/extension-image": "^2.11.5",
+ "@tiptap/extension-mention": "^2.11.5",
+ "@tiptap/extension-placeholder": "^2.11.5",
+ "@tiptap/pm": "^2.11.5",
+ "@tiptap/starter-kit": "^2.11.5",
+ "@tiptap/suggestion": "^2.11.5",
+ "@tiptap/vue-3": "^2.11.5",
+ "@vue/tsconfig": "^0.7.0",
+ "axios": "^1.11.0",
+ "classnames": "^2.5.1",
+ "date-fns": "^4.1.0",
+ "eventemitter3": "^4.0.7",
+ "reka-ui": "^2.1.1"
+ },
+ "peerDependencies": {
+ "@tencentcloud/chat": "^3.5.8",
+ "@tencentcloud/chat-uikit-engine": "~2.5.7",
+ "@tencentcloud/tui-core": "latest",
+ "@tencentcloud/tuiroom-engine-js": "~3.5.2",
+ "@tencentcloud/uikit-base-component-vue3": "~1.3.3",
+ "vue": "^3.4.0"
+ }
+ },
"node_modules/tuikit-logger": {
"version": "0.0.4-beta.1",
"resolved": "https://registry.npmjs.org/tuikit-logger/-/tuikit-logger-0.0.4-beta.1.tgz",
@@ -11807,6 +13109,12 @@
"typescript": ">=4.8.4 <6.0.0"
}
},
+ "node_modules/uc.micro": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
+ "license": "MIT"
+ },
"node_modules/ufo": {
"version": "1.6.3",
"resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz",
@@ -12335,6 +13643,33 @@
"node": ">= 0.8"
}
},
+ "node_modules/videojs-font": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/videojs-font/-/videojs-font-3.2.0.tgz",
+ "integrity": "sha512-g8vHMKK2/JGorSfqAZQUmYYNnXmfec4MLhwtEFS+mMs2IDY398GLysy6BH6K+aS1KMNu/xWZ8Sue/X/mdQPliA==",
+ "license": "Apache-2.0",
+ "peer": true
+ },
+ "node_modules/videojs-ie8": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/videojs-ie8/-/videojs-ie8-1.1.2.tgz",
+ "integrity": "sha512-0Zb2T4MLkpfZbeGMK/Z93b8Lrepr+rLFoHgQV1CoDeFqXvH7b+Vsd/VHoILGxQrgCSHFQ7mAODR6oyMjuiD4/g==",
+ "license": "Apache 2.0",
+ "peer": true,
+ "dependencies": {
+ "es5-shim": "^4.5.1"
+ }
+ },
+ "node_modules/videojs-vtt.js": {
+ "version": "0.12.4",
+ "resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.12.4.tgz",
+ "integrity": "sha512-JQ5eozH5SLOL5xI8ALb1aWf9HjcewQmOytf1gPIsFBTQlSgtSdJ8E8x0GO0ZEXVtFCaPDFiYWAhrjuTI125tBQ==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "global": "^4.3.1"
+ }
+ },
"node_modules/vite": {
"version": "6.4.1",
"resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz",
@@ -12766,6 +14101,12 @@
"vue": "^3.0.1"
}
},
+ "node_modules/w3c-keyname": {
+ "version": "2.2.8",
+ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
+ "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==",
+ "license": "MIT"
+ },
"node_modules/webpack-virtual-modules": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
@@ -12914,6 +14255,19 @@
"node": ">=0.10.0"
}
},
+ "node_modules/xhr": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.4.0.tgz",
+ "integrity": "sha512-TUbBsdAuJbX8olk9hsDwGK8P1ri1XlV+PdEWkYw+HQQbpkiBR8PLgD1F3kQDPBs9l4Px34hP9rCYAZOCCAENbw==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "global": "~4.3.0",
+ "is-function": "^1.0.1",
+ "parse-headers": "^2.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
"node_modules/xml-name-validator": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
@@ -12924,6 +14278,16 @@
"node": ">=12"
}
},
+ "node_modules/xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
"node_modules/yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
diff --git a/admin/package.json b/admin/package.json
index e3fa0981..1fcc8be1 100644
--- a/admin/package.json
+++ b/admin/package.json
@@ -12,7 +12,8 @@
"dependencies": {
"@element-plus/icons-vue": "^2.3.1",
"@highlightjs/vue-plugin": "^2.1.0",
- "@trtc/calls-uikit-vue": "^4.2.2",
+ "@tencentcloud/chat-uikit-vue3": "^4.5.4",
+ "@trtc/calls-uikit-vue": "^4.4.6",
"@vue/shared": "^3.5.13",
"@vueuse/core": "^12.7.0",
"@wangeditor/editor": "^5.1.23",
diff --git a/admin/src/assets/chat-uikit.css b/admin/src/assets/chat-uikit.css
new file mode 100644
index 00000000..d6bd5d0d
--- /dev/null
+++ b/admin/src/assets/chat-uikit.css
@@ -0,0 +1 @@
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:after,*:before{box-sizing:border-box}ul,li{list-style:none;padding:0;margin:0}picture,img,video,canvas,svg{display:block;max-width:100%}img{max-width:100%;height:auto;vertical-align:middle;image-rendering:-webkit-optimize-contrast;aspect-ratio:attr(width)/attr(height);display:inline-block;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}img:not([src],[srcset]){visibility:hidden}
diff --git a/admin/src/components/SideTab.vue b/admin/src/components/SideTab.vue
new file mode 100644
index 00000000..2b52375c
--- /dev/null
+++ b/admin/src/components/SideTab.vue
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/admin/src/components/chat-dialog/index.vue b/admin/src/components/chat-dialog/index.vue
new file mode 100644
index 00000000..209e455a
--- /dev/null
+++ b/admin/src/components/chat-dialog/index.vue
@@ -0,0 +1,185 @@
+
+
+
+
+
+ {{ loadingText }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/admin/src/views/tcm/appointment/list.vue b/admin/src/views/tcm/appointment/list.vue
index 6e54a056..4d3449d4 100644
--- a/admin/src/views/tcm/appointment/list.vue
+++ b/admin/src/views/tcm/appointment/list.vue
@@ -188,15 +188,15 @@
>
完成视频面诊
-
+ 聊天
+
@@ -262,6 +262,9 @@
+
+
+
@@ -272,6 +275,7 @@ import feedback from '@/utils/feedback'
import EditPopup from '../diagnosis/edit.vue'
import VideoCall from '@/components/video-call/index.vue'
import PrescriptionDrawer from './components/prescription-drawer.vue'
+import ChatDialog from '@/components/chat-dialog/index.vue'
import useUserStore from '@/stores/modules/user'
const userStore = useUserStore()
@@ -364,6 +368,7 @@ const detailData = ref