vue-element-ui-x 1.0.41-beta → 1.0.43-beta

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 (92) hide show
  1. package/lib/components/Sender/index.js +1 -1
  2. package/lib/components/ThoughtChain/index.js +30 -30
  3. package/lib/index.common.js +1 -1
  4. package/lib/index.esm.js +1 -1
  5. package/lib/index.js +774 -774
  6. package/lib/index.ssr.js +90 -0
  7. package/lib/index.umd.js +1 -1
  8. package/package.json +5 -5
  9. package/src/components/Attachments/index.js +0 -8
  10. package/src/components/Attachments/src/main.vue +0 -529
  11. package/src/components/Bubble/index.js +0 -6
  12. package/src/components/Bubble/src/main.vue +0 -288
  13. package/src/components/BubbleList/index.js +0 -8
  14. package/src/components/BubbleList/src/loading.vue +0 -75
  15. package/src/components/BubbleList/src/main.vue +0 -444
  16. package/src/components/Conversations/index.js +0 -8
  17. package/src/components/Conversations/src/components/item.vue +0 -350
  18. package/src/components/Conversations/src/main.vue +0 -587
  19. package/src/components/FilesCard/index.js +0 -8
  20. package/src/components/FilesCard/src/fileSvg/audio.vue +0 -38
  21. package/src/components/FilesCard/src/fileSvg/changeFileName.bat +0 -18
  22. package/src/components/FilesCard/src/fileSvg/code.vue +0 -35
  23. package/src/components/FilesCard/src/fileSvg/database.vue +0 -94
  24. package/src/components/FilesCard/src/fileSvg/excel.vue +0 -38
  25. package/src/components/FilesCard/src/fileSvg/file.vue +0 -40
  26. package/src/components/FilesCard/src/fileSvg/image.vue +0 -40
  27. package/src/components/FilesCard/src/fileSvg/index.js +0 -46
  28. package/src/components/FilesCard/src/fileSvg/link.vue +0 -54
  29. package/src/components/FilesCard/src/fileSvg/mark.vue +0 -38
  30. package/src/components/FilesCard/src/fileSvg/pdf.vue +0 -38
  31. package/src/components/FilesCard/src/fileSvg/ppt.vue +0 -38
  32. package/src/components/FilesCard/src/fileSvg/three.vue +0 -38
  33. package/src/components/FilesCard/src/fileSvg/txt.vue +0 -38
  34. package/src/components/FilesCard/src/fileSvg/unknown.vue +0 -54
  35. package/src/components/FilesCard/src/fileSvg/video.vue +0 -38
  36. package/src/components/FilesCard/src/fileSvg/word.vue +0 -38
  37. package/src/components/FilesCard/src/fileSvg/zip.vue +0 -38
  38. package/src/components/FilesCard/src/main.vue +0 -403
  39. package/src/components/FilesCard/src/options.js +0 -18
  40. package/src/components/Prompts/index.js +0 -8
  41. package/src/components/Prompts/src/main.vue +0 -248
  42. package/src/components/Sender/index.js +0 -8
  43. package/src/components/Sender/src/components/ClearButton.vue +0 -28
  44. package/src/components/Sender/src/components/Loading.vue +0 -53
  45. package/src/components/Sender/src/components/LoadingButton.vue +0 -37
  46. package/src/components/Sender/src/components/SendButton.vue +0 -26
  47. package/src/components/Sender/src/components/SpeechButton.vue +0 -24
  48. package/src/components/Sender/src/components/SpeechLoading.vue +0 -87
  49. package/src/components/Sender/src/components/SpeechLoadingButton.vue +0 -41
  50. package/src/components/Sender/src/main.vue +0 -803
  51. package/src/components/Thinking/index.js +0 -8
  52. package/src/components/Thinking/src/main.vue +0 -199
  53. package/src/components/ThoughtChain/index.js +0 -8
  54. package/src/components/ThoughtChain/src/main.vue +0 -291
  55. package/src/components/Typewriter/index.js +0 -8
  56. package/src/components/Typewriter/src/main.vue +0 -255
  57. package/src/components/Welcome/index.js +0 -8
  58. package/src/components/Welcome/src/main.vue +0 -151
  59. package/src/index.js +0 -104
  60. package/src/locale/index.js +0 -97
  61. package/src/locale/lang/ar.js +0 -18
  62. package/src/locale/lang/de.js +0 -18
  63. package/src/locale/lang/en.js +0 -18
  64. package/src/locale/lang/es.js +0 -18
  65. package/src/locale/lang/fr.js +0 -18
  66. package/src/locale/lang/index.js +0 -62
  67. package/src/locale/lang/it.js +0 -18
  68. package/src/locale/lang/ja.js +0 -18
  69. package/src/locale/lang/ko.js +0 -18
  70. package/src/locale/lang/pt-br.js +0 -18
  71. package/src/locale/lang/ru-RU.js +0 -18
  72. package/src/locale/lang/zh-CN.js +0 -18
  73. package/src/locale/lang/zh-TW.js +0 -18
  74. package/src/locale/mixin.js +0 -9
  75. package/src/mixins/index.js +0 -49
  76. package/src/mixins/recordMixin.js +0 -117
  77. package/src/mixins/sendMixin.js +0 -450
  78. package/src/mixins/streamMixin.js +0 -497
  79. package/src/styles/Attachments.scss +0 -236
  80. package/src/styles/Bubble.scss +0 -158
  81. package/src/styles/BubbleList.scss +0 -148
  82. package/src/styles/Conversations.scss +0 -283
  83. package/src/styles/FilesCard.scss +0 -222
  84. package/src/styles/Prompts.scss +0 -197
  85. package/src/styles/Sender.scss +0 -207
  86. package/src/styles/Thinking.scss +0 -142
  87. package/src/styles/ThoughtChain.scss +0 -113
  88. package/src/styles/Typewriter.scss +0 -66
  89. package/src/styles/Welcome.scss +0 -283
  90. package/src/theme/var.scss +0 -183
  91. package/src/utils/index.js +0 -199
  92. package/src/utils/scrollDetector.js +0 -34
@@ -1,142 +0,0 @@
1
- @import '../theme/var';
2
-
3
- .el-x-thinking {
4
- margin: 0 auto;
5
- }
6
-
7
- .trigger {
8
- display: flex;
9
- align-items: center;
10
- height: 100%;
11
- width: var(--el-x-thinking-button-width);
12
- gap: $--el-x-spacing-xs;
13
- padding: $--el-x-padding-sm calc(#{$--el-x-padding-sm} + 4px);
14
- border: $--el-x-border-width $--border-style-base $--el-x-border-color;
15
- border-radius: $--el-x-border-radius-md;
16
- background: $--color-white;
17
- cursor: pointer;
18
- margin-bottom: $--el-x-spacing-xs;
19
-
20
- .el-icon-center {
21
- height: 100%;
22
- display: flex;
23
- align-items: center;
24
- }
25
-
26
- .start-color {
27
- color: $--color-warning;
28
- }
29
-
30
- .end-color {
31
- color: $--color-success;
32
- }
33
-
34
- .is-loading {
35
- color: $--el-x-color-primary;
36
- }
37
-
38
- .error-color {
39
- color: $--color-danger;
40
- }
41
- }
42
-
43
- .trigger:hover {
44
- background: $--background-color-base;
45
- }
46
-
47
- .trigger.disabled {
48
- cursor: pointer;
49
- }
50
-
51
- .trigger:disabled {
52
- cursor: not-allowed;
53
- opacity: 0.7;
54
- }
55
-
56
- .status-icon {
57
- font-size: $--el-x-font-size-medium;
58
- }
59
-
60
- .thinking-arrow {
61
- margin-left: auto;
62
- transition: transform var(--el-x-thinking-animation-duration);
63
- }
64
-
65
- .thinking-arrow.expanded {
66
- transform: rotate(180deg);
67
- }
68
-
69
- // .slide-enter-active,
70
- // .slide-leave-active {
71
- // transition: max-height var(--el-x-thinking-animation-duration) ease-out,
72
- // transform var(--el-x-thinking-animation-duration) ease-out,
73
- // opacity var(--el-x-thinking-animation-duration) ease-out;
74
- // overflow: hidden;
75
- // }
76
-
77
- // .slide-enter,
78
- // .slide-leave-to {
79
- // max-height: 0;
80
- // transform: translateY(-10px);
81
- // opacity: 0;
82
- // }
83
-
84
- // .slide-enter-to,
85
- // .slide-leave {
86
- // max-height: 200px;
87
- // transform: translateY(0);
88
- // opacity: 1;
89
- // }
90
- .slide-enter-active,
91
- .slide-leave-active {
92
- height: calc-size(max-content, size);
93
- opacity: 1;
94
- transition:
95
- height var(--el-x-thinking-animation-duration),
96
- opacity var(--el-x-thinking-animation-duration),
97
- border var(--el-x-thinking-animation-duration);
98
- overflow: hidden;
99
- }
100
-
101
- .slide-enter,
102
- .slide-leave-to {
103
- height: 0;
104
- opacity: 0 !important;
105
- }
106
-
107
- .slide-enter-to,
108
- .slide-leave {
109
- height: calc-size(max-content, size);
110
- opacity: 1;
111
- }
112
-
113
- .content-wrapper {
114
- box-sizing: border-box;
115
- min-width: 0;
116
- }
117
-
118
- .content pre {
119
- border: $--el-x-border-width $--border-style-base $--el-x-border-color;
120
- background: var(--el-x-thinking-content-wrapper-background-color);
121
- padding: $--el-x-padding-sm calc(#{$--el-x-padding-sm} + 4px);
122
- border-radius: $--el-x-border-radius-lg;
123
- max-width: var(--el-x-thinking-content-wrapper-width);
124
- font-size: $--el-x-font-size-base;
125
- color: var(--el-x-thinking-content-wrapper-color);
126
- white-space: pre-wrap;
127
- margin: 0;
128
- line-height: $--el-x-font-line-height-primary;
129
- }
130
-
131
- .error-state {
132
- border-color: $--color-danger-lighter;
133
- background: $--color-danger-lighter;
134
- }
135
-
136
- .error-message {
137
- color: $--color-danger;
138
- height: fit-content;
139
- padding: $--el-x-spacing-xs;
140
- background: $--color-danger-lighter;
141
- border-radius: $--el-x-border-radius-md;
142
- }
@@ -1,113 +0,0 @@
1
- @import '../theme/var';
2
-
3
- .el-x-thoughtchain {
4
- &-item-dot {
5
- display: flex;
6
- justify-content: center;
7
- align-items: center;
8
-
9
- .el-button {
10
- cursor: default !important;
11
-
12
- // &:active {
13
- // background-color: $--el-x-fill-color !important;
14
- // border-color: $--el-x-fill-color !important;
15
- // }
16
-
17
- // &:hover {
18
- // background-color: $--el-x-fill-color !important;
19
- // border-color: $--el-x-fill-color !important;
20
- // }
21
- }
22
- }
23
-
24
- .el-collapse {
25
- border: none;
26
-
27
- .el-collapse-item__header {
28
- height: 20px;
29
- font-weight: normal;
30
- }
31
-
32
- .el-collapse-item__arrow {
33
- margin: 0 0 0 8px;
34
- }
35
-
36
- .el-collapse-item__header {
37
- margin-bottom: 5px;
38
- }
39
-
40
- .el-collapse-item__header,
41
- .el-collapse-item__wrap {
42
- border: none;
43
- }
44
-
45
- .el-collapse-item__content {
46
- color: $--el-x-text-color-secondary;
47
- padding: 0;
48
- }
49
- }
50
-
51
- .el-timeline {
52
- padding: 10px 0 0 5px;
53
- }
54
-
55
- .el-timeline-item__timestamp {
56
- color: $--el-x-text-color-primary;
57
- }
58
-
59
- .el-timeline-item__content {
60
- color: $--el-x-text-color-secondary;
61
- }
62
-
63
- .el-timeline-item {
64
- // 清除 li 样式
65
- list-style: none !important;
66
- }
67
- }
68
-
69
- .thought-chain-move,
70
- .thought-chain-enter-active,
71
- .thought-chain-leave-active {
72
- transition: all 0.5s ease;
73
- }
74
-
75
- .thought-chain-enter,
76
- .thought-chain-leave-to {
77
- opacity: 0;
78
- transform: translateY(10px) scaleY(0.9);
79
- }
80
-
81
- .thought-chain-leave-active {
82
- position: absolute;
83
- }
84
-
85
- .el-x-thoughtchain-loading {
86
- animation: thoughtchain-rotating 1.5s linear infinite;
87
- transform-origin: center center;
88
- will-change: transform;
89
- backface-visibility: hidden;
90
- -webkit-font-smoothing: antialiased;
91
- }
92
-
93
- @keyframes thoughtchain-rotating {
94
- 0% {
95
- transform: rotate(0deg);
96
- }
97
-
98
- 25% {
99
- transform: rotate(90deg);
100
- }
101
-
102
- 50% {
103
- transform: rotate(180deg);
104
- }
105
-
106
- 75% {
107
- transform: rotate(270deg);
108
- }
109
-
110
- 100% {
111
- transform: rotate(360deg);
112
- }
113
- }
@@ -1,66 +0,0 @@
1
- .typer-container {
2
- overflow-x: auto;
3
- }
4
- .markdown-content ::v-deep ul {
5
- list-style-type: disc;
6
- }
7
-
8
- .typing-markdown-cursor-foggy,
9
- .typing-cursor-foggy {
10
- &.markdown-content ::v-deep h1,
11
- &.markdown-content ::v-deep h2,
12
- &.markdown-content ::v-deep h3,
13
- &.markdown-content ::v-deep h4,
14
- &.markdown-content ::v-deep h5,
15
- &.markdown-content ::v-deep h6,
16
- &.markdown-content ::v-deep p,
17
- &.markdown-content ::v-deep ol:last-child li,
18
- &.markdown-content ::v-deep ul:last-child li {
19
- position: relative;
20
- overflow: hidden;
21
-
22
- &:last-child:after {
23
- content: '';
24
- width: var(--cursor-fog-width);
25
- height: 1.5em;
26
- background: linear-gradient(90deg, transparent, var(--cursor-fog-bg-color));
27
- position: absolute;
28
- margin-left: calc(-1 * var(--cursor-fog-width));
29
- }
30
- }
31
-
32
- // // 单独处理pre标签
33
- // &.markdown-content ::v-deep pre {
34
- // position: relative;
35
- // overflow: hidden;
36
-
37
- // &:last-child:after {
38
- // content: '';
39
- // width: var(--cursor-fog-width);
40
- // height: 1.5em;
41
- // background: linear-gradient(90deg, transparent, var(--cursor-fog-bg-color));
42
- // position: absolute;
43
- // margin-left: calc(-1 * var(--cursor-fog-width) );
44
- // }
45
- // }
46
- }
47
-
48
- .typer-content.typing-cursor::after {
49
- content: var(--cursor-char);
50
- margin-left: 2px;
51
- display: inline-block;
52
- }
53
-
54
- .typer-content.typing-cursor-foggy {
55
- position: relative;
56
- overflow: hidden;
57
-
58
- &:last-child:after {
59
- content: '';
60
- width: var(--cursor-fog-width);
61
- height: 100%;
62
- background: linear-gradient(90deg, transparent, var(--cursor-fog-bg-color));
63
- position: absolute;
64
- margin-left: calc(-1 * var(--cursor-fog-width));
65
- }
66
- }
@@ -1,283 +0,0 @@
1
- @import '../theme/var.scss';
2
-
3
- // Element UI theme variables
4
- $--color-el-x-welcome-filled-bg: #e6f4ff !default;
5
- $--color-el-x-welcome-filled-border: #91caff !default;
6
- $--color-el-x-welcome-title: $--el-x-text-color-primary !default;
7
- $--color-el-x-welcome-description: $--color-text-regular !default;
8
- $--el-x-welcome-border-radius: $--el-x-border-radius-base !default;
9
-
10
- // Component variables
11
- .el-x-welcome {
12
- --border-radius: #{$--el-x-welcome-border-radius};
13
- --icon-size: 64px;
14
- --icon-size-small: 48px;
15
- --icon-size-mobile: 40px;
16
- --gap: 16px;
17
- --gap-small: 8px;
18
- --gap-mobile: 12px;
19
- --gap-small-mobile: 6px;
20
- --padding: 24px;
21
- --padding-mobile: 16px;
22
- --title-font-size: 16px;
23
- --title-font-size-mobile: 14px;
24
- --description-font-size: 14px;
25
- --description-font-size-mobile: 13px;
26
- --color-filled-bg: #{$--color-el-x-welcome-filled-bg};
27
- --color-filled-border: #{$--color-el-x-welcome-filled-border};
28
- --color-title: #{$--color-el-x-welcome-title};
29
- --color-description: #{$--color-el-x-welcome-description};
30
-
31
- display: flex;
32
- gap: var(--gap);
33
- padding: var(--padding);
34
- border-radius: var(--border-radius);
35
-
36
- &.el-x-welcome-filled {
37
- background-color: var(--color-filled-bg);
38
- border: 1px solid var(--color-filled-border);
39
- }
40
-
41
- &.el-x-welcome-borderless {
42
- border: none;
43
- }
44
-
45
- &.el-x-welcome-rtl {
46
- direction: rtl;
47
- }
48
-
49
- // 平板端适配 (768px以下)
50
- @media (max-width: 768px) {
51
- --gap: var(--gap-mobile);
52
- --gap-small: var(--gap-small-mobile);
53
- --padding: var(--padding-mobile);
54
- --title-font-size: var(--title-font-size-mobile);
55
- --description-font-size: var(--description-font-size-mobile);
56
-
57
- gap: var(--gap-mobile);
58
- padding: var(--padding-mobile);
59
- }
60
-
61
- // 手机端适配 (480px以下)
62
- @media (max-width: 480px) {
63
- --icon-size: var(--icon-size-mobile);
64
- --padding: 12px;
65
- --gap: 8px;
66
- --gap-small: 4px;
67
-
68
- flex-direction: column;
69
- align-items: center;
70
- text-align: center;
71
- padding: 12px;
72
- gap: 8px;
73
-
74
- &.el-x-welcome-rtl {
75
- direction: ltr; // 移动端统一使用ltr布局
76
- }
77
- }
78
-
79
- // 超小屏幕适配 (320px以下)
80
- @media (max-width: 320px) {
81
- --padding: 8px;
82
- --gap: 6px;
83
- --icon-size: 32px;
84
-
85
- padding: 8px;
86
- gap: 6px;
87
- }
88
- }
89
-
90
- .el-x-welcome-icon {
91
- // 图标容器样式
92
- flex: 0 0 auto;
93
- width: var(--icon-size);
94
- height: var(--icon-size);
95
- display: flex;
96
- align-items: center;
97
- justify-content: center;
98
- border-radius: calc(var(--border-radius) / 2);
99
- overflow: hidden;
100
- font-size: 24px;
101
-
102
- .icon-image {
103
- width: 100%;
104
- height: 100%;
105
- object-fit: contain;
106
- padding: 4px;
107
- }
108
-
109
- // 平板端图标调整
110
- @media (max-width: 768px) {
111
- width: var(--icon-size-small);
112
- height: var(--icon-size-small);
113
- font-size: 20px;
114
- }
115
-
116
- // 手机端图标调整
117
- @media (max-width: 480px) {
118
- width: var(--icon-size-mobile);
119
- height: var(--icon-size-mobile);
120
- font-size: 16px;
121
- margin-bottom: 4px;
122
-
123
- .icon-image {
124
- padding: 2px;
125
- }
126
- }
127
-
128
- // 超小屏幕图标调整
129
- @media (max-width: 320px) {
130
- width: 32px;
131
- height: 32px;
132
- font-size: 14px;
133
- }
134
- }
135
-
136
- .content-wrapper {
137
- flex: 1;
138
- display: flex;
139
- flex-direction: column;
140
- gap: var(--gap-small);
141
-
142
- // 手机端内容区域调整
143
- @media (max-width: 480px) {
144
- align-items: center;
145
- text-align: center;
146
- width: 100%;
147
- gap: var(--gap-small-mobile);
148
- }
149
- }
150
-
151
- .title-wrapper {
152
- display: flex;
153
- justify-content: space-between;
154
- align-items: center;
155
- gap: var(--gap-small);
156
-
157
- // 平板端标题区域调整
158
- @media (max-width: 768px) {
159
- gap: var(--gap-small-mobile);
160
- }
161
-
162
- // 手机端标题区域调整
163
- @media (max-width: 480px) {
164
- flex-direction: column;
165
- align-items: center;
166
- gap: 4px;
167
- width: 100%;
168
- }
169
-
170
- // 超小屏幕标题区域调整
171
- @media (max-width: 320px) {
172
- gap: 2px;
173
- }
174
- }
175
-
176
- .el-x-welcome-title {
177
- margin: 0;
178
- font-size: var(--title-font-size);
179
- font-weight: 600;
180
- color: var(--color-title);
181
- word-break: break-word;
182
-
183
- // 平板端标题调整
184
- @media (max-width: 768px) {
185
- font-size: var(--title-font-size-mobile);
186
- }
187
-
188
- // 手机端标题调整
189
- @media (max-width: 480px) {
190
- font-size: 14px;
191
- text-align: center;
192
- line-height: 1.4;
193
- }
194
-
195
- // 超小屏幕标题调整
196
- @media (max-width: 320px) {
197
- font-size: 13px;
198
- }
199
- }
200
-
201
- .el-x-welcome-extra {
202
- flex-shrink: 0;
203
- display: flex;
204
- align-items: center;
205
- gap: var(--gap-small);
206
-
207
- /* 如果内容需要换行 */
208
- .el-dropdown,
209
- .el-button,
210
- .el-link {
211
- flex-shrink: 0;
212
- }
213
-
214
- // 平板端额外内容调整
215
- @media (max-width: 768px) {
216
- gap: var(--gap-small-mobile);
217
-
218
- .el-button {
219
- font-size: 12px;
220
- padding: 6px 12px;
221
- }
222
- }
223
-
224
- // 手机端额外内容调整
225
- @media (max-width: 480px) {
226
- justify-content: center;
227
- flex-wrap: wrap;
228
- gap: 4px;
229
-
230
- .el-button {
231
- font-size: 12px;
232
- padding: 4px 8px;
233
- min-height: 28px;
234
- }
235
-
236
- .el-dropdown {
237
- .el-button {
238
- font-size: 12px;
239
- padding: 4px 8px;
240
- }
241
- }
242
-
243
- .el-link {
244
- font-size: 12px;
245
- }
246
- }
247
-
248
- // 超小屏幕额外内容调整
249
- @media (max-width: 320px) {
250
- .el-button {
251
- font-size: 11px;
252
- padding: 3px 6px;
253
- min-height: 24px;
254
- }
255
- }
256
- }
257
-
258
- .el-x-welcome-description {
259
- margin: 0;
260
- font-size: var(--description-font-size);
261
- color: var(--color-description);
262
- line-height: 1.5;
263
- word-break: break-word;
264
-
265
- // 平板端描述调整
266
- @media (max-width: 768px) {
267
- font-size: var(--description-font-size-mobile);
268
- line-height: 1.4;
269
- }
270
-
271
- // 手机端描述调整
272
- @media (max-width: 480px) {
273
- font-size: 13px;
274
- line-height: 1.4;
275
- text-align: center;
276
- }
277
-
278
- // 超小屏幕描述调整
279
- @media (max-width: 320px) {
280
- font-size: 12px;
281
- line-height: 1.3;
282
- }
283
- }