vue-element-ui-x 0.1.5 → 0.1.7-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/attachments.js +3082 -0
  2. package/lib/bubble-list.js +13840 -0
  3. package/lib/bubble.js +13125 -0
  4. package/lib/components/Attachments/index.js +6 -6
  5. package/lib/components/Bubble/index.js +188 -192
  6. package/lib/components/BubbleList/index.js +189 -194
  7. package/lib/components/Conversations/index.js +6 -6
  8. package/lib/components/FilesCard/index.js +5 -5
  9. package/lib/components/Prompts/index.js +21 -21
  10. package/lib/components/Sender/index.js +4 -4
  11. package/lib/components/Think/index.js +1 -1
  12. package/lib/components/Thinking/index.js +1 -1
  13. package/lib/components/ThoughtChain/index.js +186 -191
  14. package/lib/components/Typewriter/index.js +182 -186
  15. package/lib/components/Welcome/index.js +1 -1
  16. package/lib/conversations.js +18825 -0
  17. package/lib/files-card.js +2471 -0
  18. package/lib/index.common.js +1 -1
  19. package/lib/index.esm.js +1 -1
  20. package/lib/index.js +1707 -1691
  21. package/lib/index.umd.js +1 -1
  22. package/lib/mixins/index.js +2 -2
  23. package/lib/mixins.js +1016 -0
  24. package/lib/prompts.js +832 -0
  25. package/lib/sender.js +1911 -0
  26. package/lib/think.js +799 -0
  27. package/lib/thinking.js +809 -0
  28. package/lib/thought-chain.js +30391 -0
  29. package/lib/typewriter.js +12788 -0
  30. package/lib/welcome.js +755 -0
  31. package/package.json +3 -4
  32. package/src/components/Attachments/index.js +8 -8
  33. package/src/components/Bubble/index.js +6 -6
  34. package/src/components/Bubble/src/main.vue +299 -299
  35. package/src/components/BubbleList/index.js +8 -8
  36. package/src/components/BubbleList/src/loading.vue +75 -75
  37. package/src/components/BubbleList/src/main.vue +466 -466
  38. package/src/components/Conversations/index.js +8 -8
  39. package/src/components/Conversations/src/main.vue +635 -635
  40. package/src/components/FilesCard/index.js +8 -8
  41. package/src/components/FilesCard/src/fileSvg/audio.vue +38 -38
  42. package/src/components/FilesCard/src/fileSvg/code.vue +35 -35
  43. package/src/components/FilesCard/src/fileSvg/database.vue +94 -94
  44. package/src/components/FilesCard/src/fileSvg/excel.vue +38 -38
  45. package/src/components/FilesCard/src/fileSvg/file.vue +40 -40
  46. package/src/components/FilesCard/src/fileSvg/image.vue +40 -40
  47. package/src/components/FilesCard/src/fileSvg/index.js +46 -46
  48. package/src/components/FilesCard/src/fileSvg/link.vue +54 -54
  49. package/src/components/FilesCard/src/fileSvg/mark.vue +38 -38
  50. package/src/components/FilesCard/src/fileSvg/pdf.vue +38 -38
  51. package/src/components/FilesCard/src/fileSvg/ppt.vue +38 -38
  52. package/src/components/FilesCard/src/fileSvg/three.vue +38 -38
  53. package/src/components/FilesCard/src/fileSvg/txt.vue +38 -38
  54. package/src/components/FilesCard/src/fileSvg/unknown.vue +54 -54
  55. package/src/components/FilesCard/src/fileSvg/video.vue +38 -38
  56. package/src/components/FilesCard/src/fileSvg/word.vue +38 -38
  57. package/src/components/FilesCard/src/fileSvg/zip.vue +38 -38
  58. package/src/components/FilesCard/src/options.js +18 -18
  59. package/src/components/Prompts/index.js +8 -8
  60. package/src/components/Prompts/src/main.vue +248 -248
  61. package/src/components/Sender/index.js +8 -8
  62. package/src/components/Sender/src/components/ClearButton.vue +28 -28
  63. package/src/components/Sender/src/components/Loading.vue +53 -53
  64. package/src/components/Sender/src/components/LoadingButton.vue +39 -39
  65. package/src/components/Sender/src/components/SendButton.vue +26 -26
  66. package/src/components/Sender/src/components/SpeechButton.vue +24 -24
  67. package/src/components/Sender/src/components/SpeechLoading.vue +87 -87
  68. package/src/components/Sender/src/components/SpeechLoadingButton.vue +43 -43
  69. package/src/components/Think/index.js +8 -8
  70. package/src/components/Think/src/main.vue +190 -190
  71. package/src/components/Thinking/index.js +8 -8
  72. package/src/components/Thinking/src/main.vue +195 -195
  73. package/src/components/ThoughtChain/index.js +8 -8
  74. package/src/components/ThoughtChain/src/main.vue +293 -293
  75. package/src/components/Typewriter/index.js +8 -8
  76. package/src/components/Welcome/index.js +8 -8
  77. package/src/components/Welcome/src/main.vue +151 -151
  78. package/src/index.js +23 -3
  79. package/src/styles/Attachments.scss +236 -236
  80. package/src/styles/Bubble.scss +157 -157
  81. package/src/styles/BubbleList.scss +148 -148
  82. package/src/styles/Conversations.scss +260 -260
  83. package/src/styles/FilesCard.scss +221 -221
  84. package/src/styles/Prompts.scss +195 -195
  85. package/src/styles/Sender.scss +199 -199
  86. package/src/styles/Think.scss +134 -134
  87. package/src/styles/Thinking.scss +112 -112
  88. package/src/styles/ThoughtChain.scss +113 -113
  89. package/src/styles/Typewriter.scss +66 -66
  90. package/src/styles/button.scss +302 -0
  91. package/src/styles/var.scss +1052 -0
  92. package/src/theme/var.scss +72 -72
@@ -1,112 +1,112 @@
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
- .arrow {
61
- margin-left: auto;
62
- transition: transform var(--el-x-thinking-animation-duration);
63
- }
64
-
65
- .arrow.expanded {
66
- transform: rotate(180deg);
67
- }
68
-
69
- .slide-enter-active,
70
- .slide-leave-active {
71
- height: max-content;
72
- transition: height var(--el-x-thinking-animation-duration) ease-in-out,
73
- opacity var(--el-x-thinking-animation-duration) ease-in-out;
74
- overflow: hidden;
75
- }
76
-
77
- .slide-enter-from,
78
- .slide-leave-to {
79
- height: 0 !important;
80
- opacity: 0;
81
- }
82
-
83
- .content-wrapper {
84
- box-sizing: border-box;
85
- min-width: 0;
86
- }
87
-
88
- .content pre {
89
- border: $--el-x-border-width $--border-style-base $--el-x-border-color;
90
- background: var(--el-x-thinking-content-wrapper-background-color);
91
- padding: $--el-x-padding-sm calc($--el-x-padding-sm + 4px);
92
- border-radius: $--el-x-border-radius-lg;
93
- max-width: var(--el-x-thinking-content-wrapper-width);
94
- font-size: $--el-x-font-size-base;
95
- color: var(--el-x-thinking-content-wrapper-color);
96
- white-space: pre-wrap;
97
- margin: 0;
98
- line-height: $--el-x-font-line-height-primary;
99
- }
100
-
101
- .error-state {
102
- border-color: $--color-danger-lighter;
103
- background: $--color-danger-lighter;
104
- }
105
-
106
- .error-message {
107
- color: $--color-danger;
108
- height: fit-content;
109
- padding: $--el-x-spacing-xs;
110
- background: $--color-danger-lighter;
111
- border-radius: $--el-x-border-radius-md;
112
- }
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
+ .arrow {
61
+ margin-left: auto;
62
+ transition: transform var(--el-x-thinking-animation-duration);
63
+ }
64
+
65
+ .arrow.expanded {
66
+ transform: rotate(180deg);
67
+ }
68
+
69
+ .slide-enter-active,
70
+ .slide-leave-active {
71
+ height: max-content;
72
+ transition: height var(--el-x-thinking-animation-duration) ease-in-out,
73
+ opacity var(--el-x-thinking-animation-duration) ease-in-out;
74
+ overflow: hidden;
75
+ }
76
+
77
+ .slide-enter-from,
78
+ .slide-leave-to {
79
+ height: 0 !important;
80
+ opacity: 0;
81
+ }
82
+
83
+ .content-wrapper {
84
+ box-sizing: border-box;
85
+ min-width: 0;
86
+ }
87
+
88
+ .content pre {
89
+ border: $--el-x-border-width $--border-style-base $--el-x-border-color;
90
+ background: var(--el-x-thinking-content-wrapper-background-color);
91
+ padding: $--el-x-padding-sm calc($--el-x-padding-sm + 4px);
92
+ border-radius: $--el-x-border-radius-lg;
93
+ max-width: var(--el-x-thinking-content-wrapper-width);
94
+ font-size: $--el-x-font-size-base;
95
+ color: var(--el-x-thinking-content-wrapper-color);
96
+ white-space: pre-wrap;
97
+ margin: 0;
98
+ line-height: $--el-x-font-line-height-primary;
99
+ }
100
+
101
+ .error-state {
102
+ border-color: $--color-danger-lighter;
103
+ background: $--color-danger-lighter;
104
+ }
105
+
106
+ .error-message {
107
+ color: $--color-danger;
108
+ height: fit-content;
109
+ padding: $--el-x-spacing-xs;
110
+ background: $--color-danger-lighter;
111
+ border-radius: $--el-x-border-radius-md;
112
+ }
@@ -1,113 +1,113 @@
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
+ @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 +1,66 @@
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
+ .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
+ }