vue-element-ui-x 0.1.6-beta → 0.1.8-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 +2 -2
  5. package/lib/components/Bubble/index.js +74 -79
  6. package/lib/components/BubbleList/index.js +75 -80
  7. package/lib/components/Conversations/index.js +6 -6
  8. package/lib/components/FilesCard/index.js +1 -1
  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 +11 -11
  13. package/lib/components/ThoughtChain/index.js +77 -82
  14. package/lib/components/Typewriter/index.js +73 -78
  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 +1463 -1457
  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 +1 -2
  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 +1 -1
  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 +2 -2
  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,151 +1,151 @@
1
- <template>
2
- <div
3
- :class="containerClass"
4
- :style="styleConfig"
5
- class="el-x-welcome"
6
- >
7
- <!-- image -->
8
- <slot name="image">
9
- <div
10
- v-if="hasIcon"
11
- :class="iconClass"
12
- :style="styles && styles.icon"
13
- class="el-x-welcome-icon"
14
- >
15
- <el-image
16
- :src="icon"
17
- class="icon-image"
18
- />
19
- </div>
20
- </slot>
21
-
22
- <div class="content-wrapper">
23
- <!-- extra -->
24
- <div
25
- v-if="hasTitleOrExtra"
26
- class="title-wrapper"
27
- >
28
- <div
29
- v-if="title"
30
- :class="titleClass"
31
- :style="styles && styles.title"
32
- class="el-x-welcome-title"
33
- >
34
- {{ title }}
35
- </div>
36
- <div
37
- v-if="hasExtraOrSlot"
38
- :class="extraClass"
39
- :style="styles && styles.extra"
40
- class="el-x-welcome-extra"
41
- >
42
- <slot name="extra">{{ extra }}</slot>
43
- </div>
44
- </div>
45
-
46
- <!-- description -->
47
- <div
48
- v-if="hasDescription"
49
- :class="descriptionClass"
50
- :style="styles && styles.description"
51
- class="el-x-welcome-description"
52
- >
53
- {{ description }}
54
- </div>
55
- </div>
56
- </div>
57
- </template>
58
-
59
- <script>
60
- export default {
61
- name: 'ElXWelcome',
62
- props: {
63
- className: {
64
- type: String,
65
- default: '',
66
- },
67
- rootClassName: {
68
- type: String,
69
- default: '',
70
- },
71
- variant: {
72
- type: String,
73
- default: 'filled',
74
- validator: value => ['filled', 'borderless'].includes(value),
75
- },
76
- direction: {
77
- type: String,
78
- default: 'ltr',
79
- validator: value => ['ltr', 'rtl'].includes(value),
80
- },
81
- classNames: {
82
- type: Object,
83
- default: () => ({}),
84
- },
85
- icon: {
86
- type: String,
87
- default: '',
88
- },
89
- title: {
90
- type: String,
91
- default: '',
92
- },
93
- extra: {
94
- type: [String, Object],
95
- default: '',
96
- },
97
- description: {
98
- type: String,
99
- default: '',
100
- },
101
- styleConfig: {
102
- type: Object,
103
- default: () => ({}),
104
- },
105
- styles: {
106
- type: Object,
107
- default: () => ({}),
108
- },
109
- },
110
- computed: {
111
- hasIcon() {
112
- return !!this.icon;
113
- },
114
- hasTitleOrExtra() {
115
- return !!this.title || !!this.extra;
116
- },
117
- hasExtraOrSlot() {
118
- return !!this.extra || !!this.$slots.extra;
119
- },
120
- hasDescription() {
121
- return !!this.description;
122
- },
123
- containerClass() {
124
- return [
125
- this.className,
126
- this.rootClassName,
127
- `el-x-welcome-${this.variant}`,
128
- {
129
- 'el-x-welcome-rtl': this.direction === 'rtl',
130
- },
131
- ];
132
- },
133
- iconClass() {
134
- return this.classNames && this.classNames.icon;
135
- },
136
- titleClass() {
137
- return this.classNames && this.classNames.title;
138
- },
139
- extraClass() {
140
- return this.classNames && this.classNames.extra;
141
- },
142
- descriptionClass() {
143
- return this.classNames && this.classNames.description;
144
- },
145
- },
146
- };
147
- </script>
148
-
149
- <style lang="scss" scoped>
150
- @import '../../../styles/Welcome.scss';
151
- </style>
1
+ <template>
2
+ <div
3
+ :class="containerClass"
4
+ :style="styleConfig"
5
+ class="el-x-welcome"
6
+ >
7
+ <!-- image -->
8
+ <slot name="image">
9
+ <div
10
+ v-if="hasIcon"
11
+ :class="iconClass"
12
+ :style="styles && styles.icon"
13
+ class="el-x-welcome-icon"
14
+ >
15
+ <el-image
16
+ :src="icon"
17
+ class="icon-image"
18
+ />
19
+ </div>
20
+ </slot>
21
+
22
+ <div class="content-wrapper">
23
+ <!-- extra -->
24
+ <div
25
+ v-if="hasTitleOrExtra"
26
+ class="title-wrapper"
27
+ >
28
+ <div
29
+ v-if="title"
30
+ :class="titleClass"
31
+ :style="styles && styles.title"
32
+ class="el-x-welcome-title"
33
+ >
34
+ {{ title }}
35
+ </div>
36
+ <div
37
+ v-if="hasExtraOrSlot"
38
+ :class="extraClass"
39
+ :style="styles && styles.extra"
40
+ class="el-x-welcome-extra"
41
+ >
42
+ <slot name="extra">{{ extra }}</slot>
43
+ </div>
44
+ </div>
45
+
46
+ <!-- description -->
47
+ <div
48
+ v-if="hasDescription"
49
+ :class="descriptionClass"
50
+ :style="styles && styles.description"
51
+ class="el-x-welcome-description"
52
+ >
53
+ {{ description }}
54
+ </div>
55
+ </div>
56
+ </div>
57
+ </template>
58
+
59
+ <script>
60
+ export default {
61
+ name: 'ElXWelcome',
62
+ props: {
63
+ className: {
64
+ type: String,
65
+ default: '',
66
+ },
67
+ rootClassName: {
68
+ type: String,
69
+ default: '',
70
+ },
71
+ variant: {
72
+ type: String,
73
+ default: 'filled',
74
+ validator: value => ['filled', 'borderless'].includes(value),
75
+ },
76
+ direction: {
77
+ type: String,
78
+ default: 'ltr',
79
+ validator: value => ['ltr', 'rtl'].includes(value),
80
+ },
81
+ classNames: {
82
+ type: Object,
83
+ default: () => ({}),
84
+ },
85
+ icon: {
86
+ type: String,
87
+ default: '',
88
+ },
89
+ title: {
90
+ type: String,
91
+ default: '',
92
+ },
93
+ extra: {
94
+ type: [String, Object],
95
+ default: '',
96
+ },
97
+ description: {
98
+ type: String,
99
+ default: '',
100
+ },
101
+ styleConfig: {
102
+ type: Object,
103
+ default: () => ({}),
104
+ },
105
+ styles: {
106
+ type: Object,
107
+ default: () => ({}),
108
+ },
109
+ },
110
+ computed: {
111
+ hasIcon() {
112
+ return !!this.icon;
113
+ },
114
+ hasTitleOrExtra() {
115
+ return !!this.title || !!this.extra;
116
+ },
117
+ hasExtraOrSlot() {
118
+ return !!this.extra || !!this.$slots.extra;
119
+ },
120
+ hasDescription() {
121
+ return !!this.description;
122
+ },
123
+ containerClass() {
124
+ return [
125
+ this.className,
126
+ this.rootClassName,
127
+ `el-x-welcome-${this.variant}`,
128
+ {
129
+ 'el-x-welcome-rtl': this.direction === 'rtl',
130
+ },
131
+ ];
132
+ },
133
+ iconClass() {
134
+ return this.classNames && this.classNames.icon;
135
+ },
136
+ titleClass() {
137
+ return this.classNames && this.classNames.title;
138
+ },
139
+ extraClass() {
140
+ return this.classNames && this.classNames.extra;
141
+ },
142
+ descriptionClass() {
143
+ return this.classNames && this.classNames.description;
144
+ },
145
+ },
146
+ };
147
+ </script>
148
+
149
+ <style lang="scss" scoped>
150
+ @import '../../../styles/Welcome.scss';
151
+ </style>
package/src/index.js CHANGED
@@ -12,7 +12,15 @@ import ElXTypewriter from './components/Typewriter/index.js';
12
12
  import ElXWelcome from './components/Welcome/index.js';
13
13
  // 导入所有 mixins
14
14
  import * as customMixins from './mixins';
15
- import { streamMixin, sendMixin, recordMixin } from './mixins';
15
+ import {
16
+ createSendUtils,
17
+ createStreamUtils,
18
+ recordMixin,
19
+ sendMixin,
20
+ streamMixin,
21
+ XRequest,
22
+ XStream,
23
+ } from './mixins';
16
24
 
17
25
  const components = [
18
26
  ElXTypewriter,
@@ -52,8 +60,16 @@ export {
52
60
  };
53
61
 
54
62
  // 具名导出(按需引入)- Mixins
55
- export { customMixins, streamMixin, sendMixin, recordMixin };
56
-
63
+ export {
64
+ createSendUtils,
65
+ createStreamUtils,
66
+ customMixins,
67
+ recordMixin,
68
+ sendMixin,
69
+ streamMixin,
70
+ XRequest,
71
+ XStream,
72
+ };
57
73
  // 默认导出(完整引入)
58
74
  const ElementUIX = {
59
75
  version: '1.0.0',
@@ -70,5 +86,9 @@ ElementUIX.customMixins = customMixins;
70
86
  ElementUIX.streamMixin = streamMixin;
71
87
  ElementUIX.sendMixin = sendMixin;
72
88
  ElementUIX.recordMixin = recordMixin;
89
+ ElementUIX.createStreamUtils = createStreamUtils;
90
+ ElementUIX.createSendUtils = createSendUtils;
91
+ ElementUIX.XRequest = XRequest;
92
+ ElementUIX.XStream = XStream;
73
93
 
74
94
  export default ElementUIX;