vue-element-ui-x 0.1.10-beta → 0.2.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 (74) hide show
  1. package/lib/components/Attachments/index.js +4 -4
  2. package/lib/components/Bubble/index.js +23 -28
  3. package/lib/components/BubbleList/index.js +32 -39
  4. package/lib/components/Conversations/index.js +3 -3
  5. package/lib/components/FilesCard/index.js +1 -1
  6. package/lib/components/Prompts/index.js +23 -23
  7. package/lib/components/Sender/index.js +6 -6
  8. package/lib/components/Thinking/index.js +5 -5
  9. package/lib/components/ThoughtChain/index.js +28 -35
  10. package/lib/components/Typewriter/index.js +22 -27
  11. package/lib/components/Welcome/index.js +5 -5
  12. package/lib/index.common.js +1 -1
  13. package/lib/index.esm.js +1 -1
  14. package/lib/index.js +102 -364
  15. package/lib/index.umd.js +1 -1
  16. package/package.json +1 -1
  17. package/src/components/Attachments/index.js +8 -8
  18. package/src/components/Bubble/index.js +6 -6
  19. package/src/components/Bubble/src/main.vue +299 -299
  20. package/src/components/BubbleList/index.js +8 -8
  21. package/src/components/BubbleList/src/loading.vue +75 -75
  22. package/src/components/Conversations/index.js +8 -8
  23. package/src/components/FilesCard/index.js +8 -8
  24. package/src/components/FilesCard/src/fileSvg/audio.vue +38 -38
  25. package/src/components/FilesCard/src/fileSvg/code.vue +35 -35
  26. package/src/components/FilesCard/src/fileSvg/database.vue +94 -94
  27. package/src/components/FilesCard/src/fileSvg/excel.vue +38 -38
  28. package/src/components/FilesCard/src/fileSvg/file.vue +40 -40
  29. package/src/components/FilesCard/src/fileSvg/image.vue +40 -40
  30. package/src/components/FilesCard/src/fileSvg/index.js +46 -46
  31. package/src/components/FilesCard/src/fileSvg/link.vue +54 -54
  32. package/src/components/FilesCard/src/fileSvg/mark.vue +38 -38
  33. package/src/components/FilesCard/src/fileSvg/pdf.vue +38 -38
  34. package/src/components/FilesCard/src/fileSvg/ppt.vue +38 -38
  35. package/src/components/FilesCard/src/fileSvg/three.vue +38 -38
  36. package/src/components/FilesCard/src/fileSvg/txt.vue +38 -38
  37. package/src/components/FilesCard/src/fileSvg/unknown.vue +54 -54
  38. package/src/components/FilesCard/src/fileSvg/video.vue +38 -38
  39. package/src/components/FilesCard/src/fileSvg/word.vue +38 -38
  40. package/src/components/FilesCard/src/fileSvg/zip.vue +38 -38
  41. package/src/components/FilesCard/src/options.js +18 -18
  42. package/src/components/Prompts/index.js +8 -8
  43. package/src/components/Prompts/src/main.vue +248 -248
  44. package/src/components/Sender/index.js +8 -8
  45. package/src/components/Sender/src/components/ClearButton.vue +28 -28
  46. package/src/components/Sender/src/components/Loading.vue +53 -53
  47. package/src/components/Sender/src/components/LoadingButton.vue +39 -39
  48. package/src/components/Sender/src/components/SendButton.vue +26 -26
  49. package/src/components/Sender/src/components/SpeechButton.vue +24 -24
  50. package/src/components/Sender/src/components/SpeechLoading.vue +87 -87
  51. package/src/components/Sender/src/components/SpeechLoadingButton.vue +43 -43
  52. package/src/components/Thinking/index.js +8 -8
  53. package/src/components/ThoughtChain/index.js +8 -8
  54. package/src/components/Typewriter/index.js +8 -8
  55. package/src/components/Welcome/index.js +8 -8
  56. package/src/components/Welcome/src/main.vue +151 -151
  57. package/src/index.js +0 -3
  58. package/src/styles/Attachments.scss +236 -236
  59. package/src/styles/Bubble.scss +157 -157
  60. package/src/styles/BubbleList.scss +148 -148
  61. package/src/styles/Conversations.scss +260 -260
  62. package/src/styles/FilesCard.scss +221 -221
  63. package/src/styles/Prompts.scss +195 -195
  64. package/src/styles/Sender.scss +199 -199
  65. package/src/styles/Thinking.scss +2 -2
  66. package/src/styles/ThoughtChain.scss +113 -113
  67. package/src/styles/Typewriter.scss +66 -66
  68. package/src/styles/button.scss +302 -0
  69. package/src/styles/var.scss +1052 -0
  70. package/src/theme/var.scss +72 -72
  71. package/lib/components/Think/index.js +0 -799
  72. package/src/components/Think/index.js +0 -8
  73. package/src/components/Think/src/main.vue +0 -190
  74. package/src/styles/Think.scss +0 -134
@@ -1,157 +1,157 @@
1
- @import '../theme/var.scss';
2
-
3
- .el-x-bubble {
4
- display: flex;
5
- gap: var(--el-x-bubble-avatar-placeholder-gap);
6
- }
7
-
8
- .el-x-bubble-avatar-size {
9
- ::v-deep .el-avatar {
10
- width: var(--el-x-bubble-avatar-placeholder-width);
11
- height: var(--el-x-bubble-avatar-placeholder-height);
12
- }
13
- }
14
-
15
- .el-x-bubble-avatar-placeholder {
16
- width: var(--el-x-bubble-avatar-placeholder-width);
17
- height: var(--el-x-bubble-avatar-placeholder-height);
18
- }
19
-
20
- .el-x-bubble-start {
21
- .el-x-bubble-content-wrapper {
22
- .el-x-bubble-content-corner {
23
- border-start-start-radius: calc($--el-x-border-radius-base - 2px);
24
- }
25
- }
26
- }
27
-
28
- .el-x-bubble-end {
29
- justify-content: end;
30
- flex-direction: row-reverse;
31
-
32
- .el-x-bubble-content-wrapper {
33
- align-items: flex-end;
34
-
35
- .el-x-bubble-content-corner {
36
- border-start-end-radius: calc($--el-x-border-radius-base - 2px);
37
- }
38
- }
39
- }
40
-
41
- .el-x-bubble-no-style {
42
- .el-x-bubble-content-wrapper {
43
- .el-x-bubble-content {
44
- background-color: transparent;
45
- padding: 0;
46
- }
47
- }
48
- }
49
-
50
- .el-x-bubble-content-wrapper {
51
- flex: auto;
52
- display: flex;
53
- flex-direction: column;
54
- align-items: flex-start;
55
- min-width: 0;
56
- max-width: 100%;
57
-
58
- .el-x-bubble-header,
59
- .el-x-bubble-content,
60
- .el-x-bubble-footer {
61
- font-size: $--el-x-font-size-base;
62
- color: $--el-x-text-color-primary;
63
- line-height: $--el-x-font-line-height-primary;
64
- }
65
-
66
- // .el-x-bubble-header {
67
- // margin-bottom: var();
68
- // }
69
-
70
- .el-x-bubble-content {
71
- background-color: $--el-x-fill-color;
72
- padding: $--el-x-padding-md $--el-x-padding-lg;
73
- border-radius: calc($--el-x-border-radius-base + 4px);
74
- position: relative;
75
- box-sizing: border-box;
76
- min-width: 0;
77
- max-width: var(--bubble-content-max-width);
78
- color: $--el-x-text-color-primary;
79
- font-size: $--el-x-font-size-base;
80
- line-height: $--el-x-font-line-height-primary;
81
- // min-height: calc(#{$--el-x-padding-md} * 2 + #{$--el-x-font-line-height-primary} * #{$--el-x-font-size-base} );
82
- word-break: break-word;
83
-
84
- // 打字器没有内容时候展示高度
85
- .no-content {
86
- // height: 16px;
87
- height: 0;
88
- }
89
- }
90
-
91
- // 气泡圆角
92
- .el-x-bubble-content-round {
93
- border-radius: $--el-x-border-radius-round;
94
- }
95
-
96
- // 气泡样式
97
- .el-x-bubble-content-filled {
98
- background-color: $--el-x-fill-color;
99
- }
100
-
101
- .el-x-bubble-content-borderless {
102
- background-color: $--el-x-fill-color;
103
- border: $--el-x-border-width solid $--el-x-border-color;
104
- }
105
-
106
- .el-x-bubble-content-outlined {
107
- background: none;
108
- border: $--el-x-border-width solid $--el-x-border-color;
109
- }
110
-
111
- .el-x-bubble-content-shadow {
112
- background: none;
113
- // box-shadow: var(--el-box-shadow-tertiary);
114
- box-shadow: $--el-x-box-shadow-base;
115
- }
116
-
117
- .el-x-bubble-content-loading {
118
- width: fit-content;
119
-
120
- .el-x-bubble-loading-wrap {
121
- display: flex;
122
- justify-content: center;
123
- align-items: center;
124
- // height: 16px;
125
- /* 盒子高度 */
126
- gap: 5px;
127
- }
128
-
129
- .dot {
130
- width: 5px;
131
- height: 5px;
132
- background-color: $--color-primary;
133
- /* 点的颜色 */
134
- border-radius: 50%;
135
- /* 圆形 */
136
- animation: wave 1s infinite ease-in-out;
137
- /* 动画 */
138
- }
139
-
140
- /* 波浪动画 */
141
- @keyframes wave {
142
- 0%,
143
- 100% {
144
- transform: translateY(-2px);
145
- }
146
-
147
- 50% {
148
- transform: translateY(2px);
149
- /* 上下波动 */
150
- }
151
- }
152
- }
153
-
154
- .el-x-bubble-footer {
155
- margin-top: $--el-x-padding-sm;
156
- }
157
- }
1
+ @import '../theme/var.scss';
2
+
3
+ .el-x-bubble {
4
+ display: flex;
5
+ gap: var(--el-x-bubble-avatar-placeholder-gap);
6
+ }
7
+
8
+ .el-x-bubble-avatar-size {
9
+ ::v-deep .el-avatar {
10
+ width: var(--el-x-bubble-avatar-placeholder-width);
11
+ height: var(--el-x-bubble-avatar-placeholder-height);
12
+ }
13
+ }
14
+
15
+ .el-x-bubble-avatar-placeholder {
16
+ width: var(--el-x-bubble-avatar-placeholder-width);
17
+ height: var(--el-x-bubble-avatar-placeholder-height);
18
+ }
19
+
20
+ .el-x-bubble-start {
21
+ .el-x-bubble-content-wrapper {
22
+ .el-x-bubble-content-corner {
23
+ border-start-start-radius: $--el-x-border-radius-base - 2px;
24
+ }
25
+ }
26
+ }
27
+
28
+ .el-x-bubble-end {
29
+ justify-content: end;
30
+ flex-direction: row-reverse;
31
+
32
+ .el-x-bubble-content-wrapper {
33
+ align-items: flex-end;
34
+
35
+ .el-x-bubble-content-corner {
36
+ border-start-end-radius: $--el-x-border-radius-base - 2px;
37
+ }
38
+ }
39
+ }
40
+
41
+ .el-x-bubble-no-style {
42
+ .el-x-bubble-content-wrapper {
43
+ .el-x-bubble-content {
44
+ background-color: transparent;
45
+ padding: 0;
46
+ }
47
+ }
48
+ }
49
+
50
+ .el-x-bubble-content-wrapper {
51
+ flex: auto;
52
+ display: flex;
53
+ flex-direction: column;
54
+ align-items: flex-start;
55
+ min-width: 0;
56
+ max-width: 100%;
57
+
58
+ .el-x-bubble-header,
59
+ .el-x-bubble-content,
60
+ .el-x-bubble-footer {
61
+ font-size: $--el-x-font-size-base;
62
+ color: $--el-x-text-color-primary;
63
+ line-height: $--el-x-font-line-height-primary;
64
+ }
65
+
66
+ // .el-x-bubble-header {
67
+ // margin-bottom: var();
68
+ // }
69
+
70
+ .el-x-bubble-content {
71
+ background-color: $--el-x-fill-color;
72
+ padding: $--el-x-padding-md $--el-x-padding-lg;
73
+ border-radius: $--el-x-border-radius-base + 4px;
74
+ position: relative;
75
+ box-sizing: border-box;
76
+ min-width: 0;
77
+ max-width: var(--bubble-content-max-width);
78
+ color: $--el-x-text-color-primary;
79
+ font-size: $--el-x-font-size-base;
80
+ line-height: $--el-x-font-line-height-primary;
81
+ // min-height: calc(#{$--el-x-padding-md} * 2 + #{$--el-x-font-line-height-primary} * #{$--el-x-font-size-base} );
82
+ word-break: break-word;
83
+
84
+ // 打字器没有内容时候展示高度
85
+ .no-content {
86
+ // height: 16px;
87
+ height: 0;
88
+ }
89
+ }
90
+
91
+ // 气泡圆角
92
+ .el-x-bubble-content-round {
93
+ border-radius: $--el-x-border-radius-round;
94
+ }
95
+
96
+ // 气泡样式
97
+ .el-x-bubble-content-filled {
98
+ background-color: $--el-x-fill-color;
99
+ }
100
+
101
+ .el-x-bubble-content-borderless {
102
+ background-color: $--el-x-fill-color;
103
+ border: $--el-x-border-width solid $--el-x-border-color;
104
+ }
105
+
106
+ .el-x-bubble-content-outlined {
107
+ background: none;
108
+ border: $--el-x-border-width solid $--el-x-border-color;
109
+ }
110
+
111
+ .el-x-bubble-content-shadow {
112
+ background: none;
113
+ // box-shadow: var(--el-box-shadow-tertiary);
114
+ box-shadow: $--el-x-box-shadow-base;
115
+ }
116
+
117
+ .el-x-bubble-content-loading {
118
+ width: fit-content;
119
+
120
+ .el-x-bubble-loading-wrap {
121
+ display: flex;
122
+ justify-content: center;
123
+ align-items: center;
124
+ // height: 16px;
125
+ /* 盒子高度 */
126
+ gap: 5px;
127
+ }
128
+
129
+ .dot {
130
+ width: 5px;
131
+ height: 5px;
132
+ background-color: $--color-primary;
133
+ /* 点的颜色 */
134
+ border-radius: 50%;
135
+ /* 圆形 */
136
+ animation: wave 1s infinite ease-in-out;
137
+ /* 动画 */
138
+ }
139
+
140
+ /* 波浪动画 */
141
+ @keyframes wave {
142
+ 0%,
143
+ 100% {
144
+ transform: translateY(-2px);
145
+ }
146
+
147
+ 50% {
148
+ transform: translateY(2px);
149
+ /* 上下波动 */
150
+ }
151
+ }
152
+ }
153
+
154
+ .el-x-bubble-footer {
155
+ margin-top: $--el-x-padding-sm;
156
+ }
157
+ }
@@ -1,148 +1,148 @@
1
- @import '../theme/var.scss';
2
-
3
- .el-x-bubble-list {
4
- display: flex;
5
- flex-direction: column;
6
- gap: 16px;
7
- min-height: 0;
8
- max-height: var(--el-x-bubble-list-max-height);
9
- overflow: auto;
10
- scroll-behavior: smooth;
11
-
12
- position: relative;
13
-
14
- &::-webkit-scrollbar {
15
- width: 6px;
16
- height: 8px;
17
- }
18
-
19
- &::-webkit-scrollbar-thumb {
20
- background: transparent;
21
- background-color: #0003;
22
- border-radius: 10px;
23
- transition: background-color 0.2s ease-in-out;
24
- }
25
-
26
- &::-webkit-scrollbar-track {
27
- border-radius: 10px;
28
- background: transparent;
29
- }
30
-
31
- &:hover {
32
- &::-webkit-scrollbar-thumb {
33
- background: #c1c1c1;
34
- }
35
-
36
- &::-webkit-scrollbar-thumb:hover {
37
- background: #a8a8a8;
38
- }
39
- }
40
-
41
- &.always-scrollbar {
42
- &::-webkit-scrollbar-thumb {
43
- background: #c1c1c1;
44
- }
45
-
46
- &:hover::-webkit-scrollbar-thumb {
47
- background: #a8a8a8;
48
- }
49
- }
50
- }
51
-
52
- @supports (scrollbar-color: auto) {
53
- .el-x-bubble-list {
54
- scrollbar-color: transparent transparent;
55
- scrollbar-width: thin;
56
-
57
- &:hover {
58
- scrollbar-color: #c1c1c1 transparent;
59
- }
60
-
61
- &.always-scrollbar {
62
- scrollbar-color: #c1c1c1 transparent;
63
- }
64
- }
65
- }
66
-
67
- .el-x-bubble-list-default-back-button {
68
- position: sticky;
69
- user-select: none;
70
- cursor: pointer;
71
- width: 40px;
72
- height: 40px;
73
- padding: 10px;
74
- box-sizing: border-box;
75
- display: flex;
76
- align-items: center;
77
- justify-content: center;
78
- background-color: #ffffff;
79
- border-radius: 50%;
80
- box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.02), 0 6px 10px 0 rgba(47, 53, 64, 0.1);
81
- transition: all 0.3s ease;
82
- z-index: 100;
83
-
84
- &:hover {
85
- transform: translateY(-1px);
86
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
87
- }
88
-
89
- .el-x-bubble-list-back-to-bottom-icon {
90
- font-size: var(--el-x-bubble-list-btn-size);
91
- position: relative;
92
-
93
- .back-to-bottom-loading-svg-bg {
94
- position: absolute;
95
- font-size: calc(var(--el-x-bubble-list-btn-size) + 26px);
96
- animation: is-loading 1s infinite linear;
97
- width: 40px;
98
- height: 40px;
99
- }
100
-
101
- @keyframes is-loading {
102
- 0% {
103
- transform: rotate(0deg);
104
- }
105
-
106
- 100% {
107
- transform: rotate(360deg);
108
- }
109
- }
110
- }
111
-
112
- .back-to-bottom-loading-svg-bg {
113
- position: absolute;
114
- font-size: calc(var(--el-x-bubble-list-btn-size) + 26px);
115
- animation: is-loading 1s infinite linear;
116
- width: 40px;
117
- height: 40px;
118
- }
119
-
120
- @keyframes is-loading {
121
- 0% {
122
- transform: rotate(0deg);
123
- }
124
-
125
- 100% {
126
- transform: rotate(360deg);
127
- }
128
- }
129
- }
130
-
131
- .el-x-bubble-list-back-to-bottom-solt {
132
- position: sticky;
133
- user-select: none;
134
- cursor: initial;
135
- width: fit-content;
136
- height: fit-content;
137
- padding: 0;
138
- box-sizing: border-box;
139
- display: flex;
140
- align-items: center;
141
- justify-content: center;
142
- box-shadow: initial;
143
-
144
- &:hover {
145
- transform: translateY(0px);
146
- box-shadow: initial;
147
- }
148
- }
1
+ @import '../theme/var.scss';
2
+
3
+ .el-x-bubble-list {
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: 16px;
7
+ min-height: 0;
8
+ max-height: var(--el-x-bubble-list-max-height);
9
+ overflow: auto;
10
+ scroll-behavior: smooth;
11
+
12
+ position: relative;
13
+
14
+ &::-webkit-scrollbar {
15
+ width: 6px;
16
+ height: 8px;
17
+ }
18
+
19
+ &::-webkit-scrollbar-thumb {
20
+ background: transparent;
21
+ background-color: #0003;
22
+ border-radius: 10px;
23
+ transition: background-color 0.2s ease-in-out;
24
+ }
25
+
26
+ &::-webkit-scrollbar-track {
27
+ border-radius: 10px;
28
+ background: transparent;
29
+ }
30
+
31
+ &:hover {
32
+ &::-webkit-scrollbar-thumb {
33
+ background: #c1c1c1;
34
+ }
35
+
36
+ &::-webkit-scrollbar-thumb:hover {
37
+ background: #a8a8a8;
38
+ }
39
+ }
40
+
41
+ &.always-scrollbar {
42
+ &::-webkit-scrollbar-thumb {
43
+ background: #c1c1c1;
44
+ }
45
+
46
+ &:hover::-webkit-scrollbar-thumb {
47
+ background: #a8a8a8;
48
+ }
49
+ }
50
+ }
51
+
52
+ @supports (scrollbar-color: auto) {
53
+ .el-x-bubble-list {
54
+ scrollbar-color: transparent transparent;
55
+ scrollbar-width: thin;
56
+
57
+ &:hover {
58
+ scrollbar-color: #c1c1c1 transparent;
59
+ }
60
+
61
+ &.always-scrollbar {
62
+ scrollbar-color: #c1c1c1 transparent;
63
+ }
64
+ }
65
+ }
66
+
67
+ .el-x-bubble-list-default-back-button {
68
+ position: sticky;
69
+ user-select: none;
70
+ cursor: pointer;
71
+ width: 40px;
72
+ height: 40px;
73
+ padding: 10px;
74
+ box-sizing: border-box;
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ background-color: #ffffff;
79
+ border-radius: 50%;
80
+ box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.02), 0 6px 10px 0 rgba(47, 53, 64, 0.1);
81
+ transition: all 0.3s ease;
82
+ z-index: 100;
83
+
84
+ &:hover {
85
+ transform: translateY(-1px);
86
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
87
+ }
88
+
89
+ .el-x-bubble-list-back-to-bottom-icon {
90
+ font-size: var(--el-x-bubble-list-btn-size);
91
+ position: relative;
92
+
93
+ .back-to-bottom-loading-svg-bg {
94
+ position: absolute;
95
+ font-size: calc(var(--el-x-bubble-list-btn-size) + 26px);
96
+ animation: is-loading 1s infinite linear;
97
+ width: 40px;
98
+ height: 40px;
99
+ }
100
+
101
+ @keyframes is-loading {
102
+ 0% {
103
+ transform: rotate(0deg);
104
+ }
105
+
106
+ 100% {
107
+ transform: rotate(360deg);
108
+ }
109
+ }
110
+ }
111
+
112
+ .back-to-bottom-loading-svg-bg {
113
+ position: absolute;
114
+ font-size: calc(var(--el-x-bubble-list-btn-size) + 26px);
115
+ animation: is-loading 1s infinite linear;
116
+ width: 40px;
117
+ height: 40px;
118
+ }
119
+
120
+ @keyframes is-loading {
121
+ 0% {
122
+ transform: rotate(0deg);
123
+ }
124
+
125
+ 100% {
126
+ transform: rotate(360deg);
127
+ }
128
+ }
129
+ }
130
+
131
+ .el-x-bubble-list-back-to-bottom-solt {
132
+ position: sticky;
133
+ user-select: none;
134
+ cursor: initial;
135
+ width: fit-content;
136
+ height: fit-content;
137
+ padding: 0;
138
+ box-sizing: border-box;
139
+ display: flex;
140
+ align-items: center;
141
+ justify-content: center;
142
+ box-shadow: initial;
143
+
144
+ &:hover {
145
+ transform: translateY(0px);
146
+ box-shadow: initial;
147
+ }
148
+ }