vue-element-ui-x 1.0.51 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +140 -140
  2. package/components.json +12 -12
  3. package/lib/components/Attachments/index.js +17 -17
  4. package/lib/components/EditorSender/index.js +1508 -0
  5. package/lib/components/FilesCard/index.js +16 -16
  6. package/lib/components/Prompts/index.js +21 -21
  7. package/lib/index.common.js +1 -1
  8. package/lib/index.esm.js +1 -1
  9. package/lib/index.js +1274 -287
  10. package/lib/index.umd.js +1 -1
  11. package/lib/locale/index.js +97 -97
  12. package/lib/locale/lang/ar.js +18 -18
  13. package/lib/locale/lang/ar.umd.js +17 -17
  14. package/lib/locale/lang/de.js +18 -18
  15. package/lib/locale/lang/de.umd.js +17 -17
  16. package/lib/locale/lang/en.js +18 -18
  17. package/lib/locale/lang/en.umd.js +17 -17
  18. package/lib/locale/lang/es.js +18 -18
  19. package/lib/locale/lang/es.umd.js +17 -17
  20. package/lib/locale/lang/fr.js +18 -18
  21. package/lib/locale/lang/fr.umd.js +17 -17
  22. package/lib/locale/lang/it.js +18 -18
  23. package/lib/locale/lang/it.umd.js +17 -17
  24. package/lib/locale/lang/ja.js +18 -18
  25. package/lib/locale/lang/ja.umd.js +17 -17
  26. package/lib/locale/lang/ko.js +18 -18
  27. package/lib/locale/lang/ko.umd.js +17 -17
  28. package/lib/locale/lang/pt-br.js +18 -18
  29. package/lib/locale/lang/pt-br.umd.js +17 -17
  30. package/lib/locale/lang/ru-RU.js +18 -18
  31. package/lib/locale/lang/ru-RU.umd.js +17 -17
  32. package/lib/locale/lang/zh-CN.js +18 -18
  33. package/lib/locale/lang/zh-CN.umd.js +17 -17
  34. package/lib/locale/lang/zh-TW.js +18 -18
  35. package/lib/locale/lang/zh-TW.umd.js +17 -17
  36. package/lib/locale/mixin.js +9 -9
  37. package/lib/mixins/index.js +250 -250
  38. package/package.json +77 -76
package/README.md CHANGED
@@ -1,140 +1,140 @@
1
- <div align="center">
2
- <a href="https://element-ui-x.com/">
3
- <img src="https://element-ui-x.com/images/logo.png" alt="Element-UI-X" width="180" class="logo" />
4
- </a>
5
- </div>
6
-
7
- # Element-UI-X
8
-
9
- **开箱即用的企业级 AI 组件库(基于 Vue 2.x + Element-Ui)**
10
-
11
- <div align="center">
12
- <img src="https://element-ui-x.com/demo/demo.png" />&emsp;
13
- <img src="https://element-ui-x.com/demo/demo1.png" />&emsp;
14
- <img src="https://element-ui-x.com/demo/demo2.png" />&emsp;
15
- <img src="https://element-ui-x.com/demo/demo3.png" />&emsp;
16
- <img src="https://element-ui-x.com/demo/demo4.png" />&emsp;
17
- <img src="https://element-ui-x.com/demo/demo5.png" />&emsp;
18
- <img src="https://element-ui-x.com/demo/demo6.png" />&emsp;
19
- <img src="https://element-ui-x.com/demo/demo7.png" />&emsp;
20
-
21
- </div>
22
-
23
- ## 📢 快速链接
24
-
25
- | 资源类型 | <div style="width: 300px;" >链接</div> |
26
- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
27
- | **文档** | [📖 开发文档](https://element-ui-x.com/) |
28
- | **在线演示** | [👁️ 在线预览](https://demo.element-ui-x.com) |
29
- | **代码仓库** | [🐙 GitHub](https://github.com/worryzyy/element-ui-x)<br/>[📝 GitCode](https://gitcode.com/worryzyy/element-ui-x.git)<br/>[📝 Gitee](https://gitee.com/worryzyy/element-ui-x.git) |
30
- | **NPM 包** | [📦 npm](https://www.npmjs.com/package/vue-element-ui-x) |
31
- | **问题反馈** | [🐛 GitHub Issues](https://github.com/worryzyy/element-ui-x/issues)<br/>[🐛 GitCode Issues](https://gitcode.com/worryzyy/element-ui-x/issues)<br/>[🐛 Gitee Issues](https://gitee.com/worryzyy/element-ui-x/issues) |
32
- | **交流讨论** | [🐒 交流群]() |
33
-
34
- ## 🛠️ 核心特性
35
-
36
- - ✨ **企业级 AI 组件**
37
- - 🚀 **零配置集成**
38
- - 📦 **按需加载**
39
-
40
- ## 📦 安装
41
-
42
- ```bash
43
- # NPM (推荐)
44
- npm install vue-element-ui-x
45
-
46
- ```
47
-
48
- ## 📚 使用案例
49
-
50
- 1. **按需引入**
51
-
52
- ```vue
53
- <script>
54
- import { ElXTypewriter } from 'vue-element-ui-x';
55
- </script>
56
-
57
- <template>
58
- <div
59
- style="display: flex; flex-direction: column; height: 230px; justify-content: space-between;"
60
- >
61
- <el-x-typewriter
62
- content="这是一个基础打字效果演示,展示Typewriter组件的基本功能。"
63
- :typing="true"
64
- ref="basicDemo"
65
- />
66
- </div>
67
- </template>
68
- ```
69
-
70
- 2. **全局引入**
71
-
72
- ```ts
73
- // main.ts
74
- import Vue from 'vue';
75
- import ElementUI from 'element-ui';
76
- import './assets/styles/reset.css';
77
- import 'element-ui/lib/theme-chalk/index.css';
78
-
79
- import ElementUIX from 'vue-element-ui-x';
80
- import App from './App.vue';
81
- import router from './router';
82
-
83
- Vue.use(ElementUI);
84
- Vue.use(ElementUIX);
85
-
86
- Vue.config.productionTip = false;
87
-
88
- new Vue({
89
- router,
90
- el: '#app',
91
- render: h => h(App),
92
- });
93
- ```
94
-
95
- ## 🌟 已实现 组件 和 Mixins
96
-
97
- | 组件名 | 描述 | 文档链接 |
98
- | ---------------------- | ----------------- | ----------------------------------------------------------------- |
99
- | `Typewriter` | 打字动画组件 | [📄 文档](https://element-ui-x.com/components/typewriter.html) |
100
- | `Bubble` | 气泡消息组件 | [📄 文档](https://element-ui-x.com/components/bubble.html) |
101
- | `BubbleList` | 气泡消息列表 | [📄 文档](https://element-ui-x.com/components/bubbleList.html) |
102
- | `Conversations` | 会话管理组件 | [📄 文档](https://element-ui-x.com/components/conversations.html) |
103
- | `Welcome` | 欢迎组件 | [📄 文档](https://element-ui-x.com/components/welcome.html) |
104
- | `Prompts ` | 提示集组件 | [📄 文档](https://element-ui-x.com/components/prompts.html) |
105
- | `FilesCard` | 文件卡片组件 | [📄 文档](https://element-ui-x.com/components/filesCard.html) |
106
- | `Attachments` | 上传附件组件 | [📄 文档](https://element-ui-x.com/components/attachments.html) |
107
- | `Sender` | 智能输入框 | [📄 文档](https://element-ui-x.com/components/sender.html) |
108
- | `Thinking` | 思考中组件 | [📄 文档](https://element-ui-x.com/components/thinking.html) |
109
- | `ThoughtChain` | 思考链组件 | [📄 文档](https://element-ui-x.com/components/thoughtChain.html) |
110
- | `recordMixin` | 语音识别 Mixins | [📄 文档](https://element-ui-x.com/components/record-mixins.html) |
111
- | `streamMixin` | 流模式接口 Mixins | [📄 文档](https://element-ui-x.com/components/stream-mixins.html) |
112
- | `sendMixin & XRequest` | 流模式 Mixins | [📄 文档](https://element-ui-x.com/components/send-mixins.html) |
113
-
114
- ## 🎯 开发计划 (每周更新)
115
-
116
- 🎀 我们会在 issue 、交流群 等多方面收集大家的遇到的问题,和需求场景,制定短期和长期的开发计划,查看详情请移步 👉 **[开发计划](https://element-ui-x.com/roadmap.html)**
117
-
118
- ## 🤝 参与贡献
119
-
120
- 1. **Fork 仓库** → 2. **创建 Feature 分支** → 3. **提交 Pull Request**
121
-
122
- 详情可以移步 👉 **[开发指南](https://element-ui-x.com/guide/installation.html)**
123
-
124
- 欢迎:
125
-
126
- - 🐛 Bug 修复
127
- - 💡 新功能提案
128
- - 📝 文档完善
129
- - 🎨 样式优化
130
-
131
- ## 👥 社区支持
132
-
133
- <div align="center">
134
- <h3>🎀交流群🎀</h3>
135
- <img src="https://element-ui-x.com/wechat.png" alt="微信交流群" width="180" style="margin: 20px;" />
136
- <p>加入微信交流群,获取最新动态和技术支持</p>
137
-
138
- <p>交流群失效 => 添加我的微信入群, 备注:element-ui-x</p>
139
- <img src="https://element-ui-x.com/demo/author.png" alt="vx" width="180" style="margin: 20px;" />
140
- </div>
1
+ <div align="center">
2
+ <a href="https://element-ui-x.com/">
3
+ <img src="https://element-ui-x.com/images/logo.png" alt="Element-UI-X" width="180" class="logo" />
4
+ </a>
5
+ </div>
6
+
7
+ # Element-UI-X
8
+
9
+ **开箱即用的企业级 AI 组件库(基于 Vue 2.x + Element-Ui)**
10
+
11
+ <div align="center">
12
+ <img src="https://element-ui-x.com/demo/demo.png" />&emsp;
13
+ <img src="https://element-ui-x.com/demo/demo1.png" />&emsp;
14
+ <img src="https://element-ui-x.com/demo/demo2.png" />&emsp;
15
+ <img src="https://element-ui-x.com/demo/demo3.png" />&emsp;
16
+ <img src="https://element-ui-x.com/demo/demo4.png" />&emsp;
17
+ <img src="https://element-ui-x.com/demo/demo5.png" />&emsp;
18
+ <img src="https://element-ui-x.com/demo/demo6.png" />&emsp;
19
+ <img src="https://element-ui-x.com/demo/demo7.png" />&emsp;
20
+
21
+ </div>
22
+
23
+ ## 📢 快速链接
24
+
25
+ | 资源类型 | <div style="width: 300px;" >链接</div> |
26
+ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
27
+ | **文档** | [📖 开发文档](https://element-ui-x.com/) |
28
+ | **在线演示** | [👁️ 在线预览](https://demo.element-ui-x.com) |
29
+ | **代码仓库** | [🐙 GitHub](https://github.com/worryzyy/element-ui-x)<br/>[📝 GitCode](https://gitcode.com/worryzyy/element-ui-x.git)<br/>[📝 Gitee](https://gitee.com/worryzyy/element-ui-x.git) |
30
+ | **NPM 包** | [📦 npm](https://www.npmjs.com/package/vue-element-ui-x) |
31
+ | **问题反馈** | [🐛 GitHub Issues](https://github.com/worryzyy/element-ui-x/issues)<br/>[🐛 GitCode Issues](https://gitcode.com/worryzyy/element-ui-x/issues)<br/>[🐛 Gitee Issues](https://gitee.com/worryzyy/element-ui-x/issues) |
32
+ | **交流讨论** | [🐒 交流群]() |
33
+
34
+ ## 🛠️ 核心特性
35
+
36
+ - ✨ **企业级 AI 组件**
37
+ - 🚀 **零配置集成**
38
+ - 📦 **按需加载**
39
+
40
+ ## 📦 安装
41
+
42
+ ```bash
43
+ # NPM (推荐)
44
+ npm install vue-element-ui-x
45
+
46
+ ```
47
+
48
+ ## 📚 使用案例
49
+
50
+ 1. **按需引入**
51
+
52
+ ```vue
53
+ <script>
54
+ import { ElXTypewriter } from 'vue-element-ui-x';
55
+ </script>
56
+
57
+ <template>
58
+ <div
59
+ style="display: flex; flex-direction: column; height: 230px; justify-content: space-between;"
60
+ >
61
+ <el-x-typewriter
62
+ content="这是一个基础打字效果演示,展示Typewriter组件的基本功能。"
63
+ :typing="true"
64
+ ref="basicDemo"
65
+ />
66
+ </div>
67
+ </template>
68
+ ```
69
+
70
+ 2. **全局引入**
71
+
72
+ ```ts
73
+ // main.ts
74
+ import Vue from 'vue';
75
+ import ElementUI from 'element-ui';
76
+ import './assets/styles/reset.css';
77
+ import 'element-ui/lib/theme-chalk/index.css';
78
+
79
+ import ElementUIX from 'vue-element-ui-x';
80
+ import App from './App.vue';
81
+ import router from './router';
82
+
83
+ Vue.use(ElementUI);
84
+ Vue.use(ElementUIX);
85
+
86
+ Vue.config.productionTip = false;
87
+
88
+ new Vue({
89
+ router,
90
+ el: '#app',
91
+ render: h => h(App),
92
+ });
93
+ ```
94
+
95
+ ## 🌟 已实现 组件 和 Mixins
96
+
97
+ | 组件名 | 描述 | 文档链接 |
98
+ | ---------------------- | ----------------- | ----------------------------------------------------------------- |
99
+ | `Typewriter` | 打字动画组件 | [📄 文档](https://element-ui-x.com/components/typewriter.html) |
100
+ | `Bubble` | 气泡消息组件 | [📄 文档](https://element-ui-x.com/components/bubble.html) |
101
+ | `BubbleList` | 气泡消息列表 | [📄 文档](https://element-ui-x.com/components/bubbleList.html) |
102
+ | `Conversations` | 会话管理组件 | [📄 文档](https://element-ui-x.com/components/conversations.html) |
103
+ | `Welcome` | 欢迎组件 | [📄 文档](https://element-ui-x.com/components/welcome.html) |
104
+ | `Prompts ` | 提示集组件 | [📄 文档](https://element-ui-x.com/components/prompts.html) |
105
+ | `FilesCard` | 文件卡片组件 | [📄 文档](https://element-ui-x.com/components/filesCard.html) |
106
+ | `Attachments` | 上传附件组件 | [📄 文档](https://element-ui-x.com/components/attachments.html) |
107
+ | `Sender` | 智能输入框 | [📄 文档](https://element-ui-x.com/components/sender.html) |
108
+ | `Thinking` | 思考中组件 | [📄 文档](https://element-ui-x.com/components/thinking.html) |
109
+ | `ThoughtChain` | 思考链组件 | [📄 文档](https://element-ui-x.com/components/thoughtChain.html) |
110
+ | `recordMixin` | 语音识别 Mixins | [📄 文档](https://element-ui-x.com/components/record-mixins.html) |
111
+ | `streamMixin` | 流模式接口 Mixins | [📄 文档](https://element-ui-x.com/components/stream-mixins.html) |
112
+ | `sendMixin & XRequest` | 流模式 Mixins | [📄 文档](https://element-ui-x.com/components/send-mixins.html) |
113
+
114
+ ## 🎯 开发计划 (每周更新)
115
+
116
+ 🎀 我们会在 issue 、交流群 等多方面收集大家的遇到的问题,和需求场景,制定短期和长期的开发计划,查看详情请移步 👉 **[开发计划](https://element-ui-x.com/roadmap.html)**
117
+
118
+ ## 🤝 参与贡献
119
+
120
+ 1. **Fork 仓库** → 2. **创建 Feature 分支** → 3. **提交 Pull Request**
121
+
122
+ 详情可以移步 👉 **[开发指南](https://element-ui-x.com/guide/installation.html)**
123
+
124
+ 欢迎:
125
+
126
+ - 🐛 Bug 修复
127
+ - 💡 新功能提案
128
+ - 📝 文档完善
129
+ - 🎨 样式优化
130
+
131
+ ## 👥 社区支持
132
+
133
+ <div align="center">
134
+ <h3>🎀交流群🎀</h3>
135
+ <img src="https://element-ui-x.com/wechat.png" alt="微信交流群" width="180" style="margin: 20px;" />
136
+ <p>加入微信交流群,获取最新动态和技术支持</p>
137
+
138
+ <p>交流群失效 => 添加我的微信入群, 备注:element-ui-x</p>
139
+ <img src="https://element-ui-x.com/demo/author.png" alt="vx" width="180" style="margin: 20px;" />
140
+ </div>
package/components.json CHANGED
@@ -1,13 +1,13 @@
1
- {
2
- "typewriter": "./lib/components/Typewriter/index.js",
3
- "bubble": "./lib/components/Bubble/index.js",
4
- "bubble-list": "./lib/components/BubbleList/index.js",
5
- "conversations": "./lib/components/Conversations/index.js",
6
- "files-card": "./lib/components/FilesCard/index.js",
7
- "prompts": "./lib/components/Prompts/index.js",
8
- "sender": "./lib/components/Sender/index.js",
9
- "thinking": "./lib/components/Thinking/index.js",
10
- "thought-chain": "./lib/components/ThoughtChain/index.js",
11
- "welcome": "./lib/components/Welcome/index.js",
12
- "attachments": "./lib/components/Attachments/index.js"
1
+ {
2
+ "typewriter": "./lib/components/Typewriter/index.js",
3
+ "bubble": "./lib/components/Bubble/index.js",
4
+ "bubble-list": "./lib/components/BubbleList/index.js",
5
+ "conversations": "./lib/components/Conversations/index.js",
6
+ "files-card": "./lib/components/FilesCard/index.js",
7
+ "prompts": "./lib/components/Prompts/index.js",
8
+ "sender": "./lib/components/Sender/index.js",
9
+ "thinking": "./lib/components/Thinking/index.js",
10
+ "thought-chain": "./lib/components/ThoughtChain/index.js",
11
+ "welcome": "./lib/components/Welcome/index.js",
12
+ "attachments": "./lib/components/Attachments/index.js"
13
13
  }
@@ -414,7 +414,7 @@ module.exports = function (list, options) {
414
414
 
415
415
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
416
416
  // Module
417
- ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-6eb5751e]:root{--color-primary: #409eff;--color-success: #67c23a;--color-warning: #e6a23c;--color-danger: #f56c6c;--color-info: #909399}.card-motion-enter-active[data-v-6eb5751e],.card-motion-move[data-v-6eb5751e],.card-motion-leave-active[data-v-6eb5751e]{transition:all .3s ease;opacity:1;transform:translateX(0)}.card-motion-enter[data-v-6eb5751e],.card-motion-leave-to[data-v-6eb5751e]{opacity:0;transform:translateX(-100%)}.card-motion-leave-active[data-v-6eb5751e]{transform:translateX(100%);opacity:0}.el-x-attachments-file-card-wrap[data-v-6eb5751e]{display:flex;height:100%;align-items:center}.el-x-attachments-upload-placeholder[data-v-6eb5751e]{display:inline-block;width:fit-content;align-self:center;margin:6px}.el-x-attachments-card[data-v-6eb5751e]{display:inline-block;vertical-align:top}.el-x-attachments-card-item[data-v-6eb5751e]{margin:6px}.el-x-attachments-prev-btn[data-v-6eb5751e],.el-x-attachments-next-btn[data-v-6eb5751e]{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background-color:rgba(0,0,0,.3);color:#fff;border:none;padding:4px 0px;border-radius:3px;transition:background-color .3s ease}.el-x-attachments-prev-btn[data-v-6eb5751e]:hover,.el-x-attachments-next-btn[data-v-6eb5751e]:hover{background-color:rgba(0,0,0,.5)}.el-x-attachments-prev-btn[data-v-6eb5751e]:active,.el-x-attachments-next-btn[data-v-6eb5751e]:active{background-color:rgba(0,0,0,.7)}.el-x-attachments-prev-btn[data-v-6eb5751e]{left:8px;border-top-left-radius:0px;border-bottom-left-radius:0px}.el-x-attachments-next-btn[data-v-6eb5751e]{right:8px;border-top-right-radius:0px;border-bottom-right-radius:0px}.el-x-attachments-background[data-v-6eb5751e]{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;pointer-events:none}.el-x-attachments-background-start[data-v-6eb5751e]{position:absolute;top:0;left:0;bottom:0;width:50px;background:linear-gradient(to right, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));z-index:5}.el-x-attachments-background-end[data-v-6eb5751e]{position:absolute;top:0;right:0;bottom:0;width:50px;background:linear-gradient(to left, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));z-index:5}.el-x-attachments-overflow-scrollX[data-v-6eb5751e]{height:100%;scrollbar-width:none}.el-x-attachments-overflow-scrollX[data-v-6eb5751e]::-webkit-scrollbar{display:none}.el-x-attachments-overflow-scrollY[data-v-6eb5751e]{width:100%;height:100%}.el-x-attachments-wrapper[data-v-6eb5751e]{position:relative;display:block}.el-x-attachments-upload-btn[data-v-6eb5751e]{display:flex}.el-x-attachments-upload-btn[data-v-6eb5751e] .el-upload{border:1px dashed #dcdfe6;border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:all .3s cubic-bezier(0.645, 0.045, 0.355, 1);box-sizing:border-box;text-align:center}.el-x-attachments-upload-btn[data-v-6eb5751e] .el-upload:hover{border-color:#409eff}.el-x-attachments-upload-btn[data-v-6eb5751e] .el-upload:hover .uploader-icon{color:#409eff}.el-x-attachments-upload-btn .uploader-icon[data-v-6eb5751e]{font-size:28px;color:#8c939d;text-align:center;width:var(--el-x-attachments-upload-icon-size);height:var(--el-x-attachments-upload-icon-size);line-height:var(--el-x-attachments-upload-icon-size)}.el-x-attachments-upload-btn[data-v-6eb5751e] .el-upload-dragger{padding:0;width:auto !important;height:auto !important;background-color:rgba(0,0,0,0)}.el-x-attachments-upload-btn[data-v-6eb5751e] .el-upload-dragger:hover .el-icon{color:#409eff}.el-x-attachments-drop-area[data-v-6eb5751e]{position:absolute !important;top:0 !important;left:0 !important;width:calc(100% - 4px) !important;height:calc(100% - 4px) !important;border-radius:15px !important;border:2px dashed #409eff !important;z-index:9999 !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-direction:column !important;background:rgba(225,225,225,.8) !important;backdrop-filter:blur(4px) !important;animation:dragAreaShow-6eb5751e .3s ease-in-out !important;pointer-events:none !important}.el-x-attachments-drop-area-icon[data-v-6eb5751e]{font-size:50px !important;color:#409eff !important;animation:bounce-6eb5751e 1s infinite alternate !important}.el-x-attachments-drop-area-text[data-v-6eb5751e]{font-size:16px !important;color:#409eff !important;margin-top:10px !important;text-align:center !important;width:100% !important;max-width:300px !important;font-weight:bold !important}@keyframes dragAreaShow-6eb5751e{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce-6eb5751e{from{transform:translateY(0)}to{transform:translateY(-10px)}}", ""]);
417
+ ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-6eb5751e]:root{--color-primary: #409eff;--color-success: #67c23a;--color-warning: #e6a23c;--color-danger: #f56c6c;--color-info: #909399}.card-motion-enter-active[data-v-6eb5751e],.card-motion-move[data-v-6eb5751e],.card-motion-leave-active[data-v-6eb5751e]{transition:all .3s ease;opacity:1;transform:translateX(0)}.card-motion-enter[data-v-6eb5751e],.card-motion-leave-to[data-v-6eb5751e]{opacity:0;transform:translateX(-100%)}.card-motion-leave-active[data-v-6eb5751e]{transform:translateX(100%);opacity:0}.el-x-attachments-file-card-wrap[data-v-6eb5751e]{display:flex;height:100%;align-items:center}.el-x-attachments-upload-placeholder[data-v-6eb5751e]{display:inline-block;width:fit-content;align-self:center;margin:6px}.el-x-attachments-card[data-v-6eb5751e]{display:inline-block;vertical-align:top}.el-x-attachments-card-item[data-v-6eb5751e]{margin:6px}.el-x-attachments-prev-btn[data-v-6eb5751e],.el-x-attachments-next-btn[data-v-6eb5751e]{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background-color:rgba(0,0,0,.3);color:#fff;border:none;padding:4px 0px;border-radius:3px;transition:background-color .3s ease}.el-x-attachments-prev-btn[data-v-6eb5751e]:hover,.el-x-attachments-next-btn[data-v-6eb5751e]:hover{background-color:rgba(0,0,0,.5)}.el-x-attachments-prev-btn[data-v-6eb5751e]:active,.el-x-attachments-next-btn[data-v-6eb5751e]:active{background-color:rgba(0,0,0,.7)}.el-x-attachments-prev-btn[data-v-6eb5751e]{left:8px;border-top-left-radius:0px;border-bottom-left-radius:0px}.el-x-attachments-next-btn[data-v-6eb5751e]{right:8px;border-top-right-radius:0px;border-bottom-right-radius:0px}.el-x-attachments-background[data-v-6eb5751e]{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;pointer-events:none}.el-x-attachments-background-start[data-v-6eb5751e]{position:absolute;top:0;left:0;bottom:0;width:50px;background:linear-gradient(to right, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));z-index:5}.el-x-attachments-background-end[data-v-6eb5751e]{position:absolute;top:0;right:0;bottom:0;width:50px;background:linear-gradient(to left, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));z-index:5}.el-x-attachments-overflow-scrollX[data-v-6eb5751e]{height:100%}.el-x-attachments-overflow-scrollX[data-v-6eb5751e]::-webkit-scrollbar{display:none}.el-x-attachments-overflow-scrollX[data-v-6eb5751e]{scrollbar-width:none}.el-x-attachments-overflow-scrollY[data-v-6eb5751e]{width:100%;height:100%}.el-x-attachments-wrapper[data-v-6eb5751e]{position:relative;display:block}.el-x-attachments-upload-btn[data-v-6eb5751e]{display:flex}.el-x-attachments-upload-btn[data-v-6eb5751e] .el-upload{border:1px dashed #dcdfe6;border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:all .3s cubic-bezier(0.645, 0.045, 0.355, 1);box-sizing:border-box;text-align:center}.el-x-attachments-upload-btn[data-v-6eb5751e] .el-upload:hover{border-color:#409eff}.el-x-attachments-upload-btn[data-v-6eb5751e] .el-upload:hover .uploader-icon{color:#409eff}.el-x-attachments-upload-btn .uploader-icon[data-v-6eb5751e]{font-size:28px;color:#8c939d;text-align:center;width:var(--el-x-attachments-upload-icon-size);height:var(--el-x-attachments-upload-icon-size);line-height:var(--el-x-attachments-upload-icon-size)}.el-x-attachments-upload-btn[data-v-6eb5751e] .el-upload-dragger{padding:0;width:auto !important;height:auto !important;background-color:rgba(0,0,0,0)}.el-x-attachments-upload-btn[data-v-6eb5751e] .el-upload-dragger:hover .el-icon{color:#409eff}.el-x-attachments-drop-area[data-v-6eb5751e]{position:absolute !important;top:0 !important;left:0 !important;width:calc(100% - 4px) !important;height:calc(100% - 4px) !important;border-radius:15px !important;border:2px dashed #409eff !important;z-index:9999 !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-direction:column !important;background:rgba(225,225,225,.8) !important;backdrop-filter:blur(4px) !important;animation:dragAreaShow-6eb5751e .3s ease-in-out !important;pointer-events:none !important}.el-x-attachments-drop-area-icon[data-v-6eb5751e]{font-size:50px !important;color:#409eff !important;animation:bounce-6eb5751e 1s infinite alternate !important}.el-x-attachments-drop-area-text[data-v-6eb5751e]{font-size:16px !important;color:#409eff !important;margin-top:10px !important;text-align:center !important;width:100% !important;max-width:300px !important;font-weight:bold !important}@keyframes dragAreaShow-6eb5751e{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce-6eb5751e{from{transform:translateY(0)}to{transform:translateY(-10px)}}", ""]);
418
418
  // Exports
419
419
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
420
420
 
@@ -672,18 +672,18 @@ render._withStripped = true;
672
672
  ;// ./src/components/FilesCard/src/main.vue?vue&type=template&id=eaf958fa&scoped=true
673
673
 
674
674
  ;// ./src/utils/index.js
675
- /**
676
- * 判断文件类型是否为图片
677
- * @param {string} type 文件类型
678
- * @returns {boolean} 是否为图片类型
675
+ /**
676
+ * 判断文件类型是否为图片
677
+ * @param {string} type 文件类型
678
+ * @returns {boolean} 是否为图片类型
679
679
  */
680
680
  const isImageFileType = type => type.indexOf('image/') === 0;
681
681
  const MEASURE_SIZE = 200;
682
682
 
683
- /**
684
- * 预览图片文件并生成预览URL
685
- * @param {File|Blob} file 图片文件对象
686
- * @returns {Promise<string>} 返回图片预览URL的Promise
683
+ /**
684
+ * 预览图片文件并生成预览URL
685
+ * @param {File|Blob} file 图片文件对象
686
+ * @returns {Promise<string>} 返回图片预览URL的Promise
687
687
  */
688
688
  function previewImage(file) {
689
689
  return new Promise(resolve => {
@@ -735,10 +735,10 @@ function previewImage(file) {
735
735
  });
736
736
  }
737
737
 
738
- /**
739
- * 根据文件后缀名获取文件类型
740
- * @param {string} fileExtension 文件后缀名
741
- * @returns {{lowerCase: string, upperCase: string}} 返回文件类型对象
738
+ /**
739
+ * 根据文件后缀名获取文件类型
740
+ * @param {string} fileExtension 文件后缀名
741
+ * @returns {{lowerCase: string, upperCase: string}} 返回文件类型对象
742
742
  */
743
743
  function getFileType(fileExtension) {
744
744
  // 去除后缀名开头的点,并转换为小写
@@ -849,10 +849,10 @@ function getFileType(fileExtension) {
849
849
  };
850
850
  }
851
851
 
852
- /**
853
- * 获取文件大小
854
- * @param {number} size 文件大小
855
- * @returns {string} 返回文件大小
852
+ /**
853
+ * 获取文件大小
854
+ * @param {number} size 文件大小
855
+ * @returns {string} 返回文件大小
856
856
  */
857
857
  function getSize(size) {
858
858
  let retSize = size;