vue-element-ui-x 1.0.3 → 1.0.5

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 (121) hide show
  1. package/README.md +20 -9
  2. package/components.json +13 -0
  3. package/lib/components/Attachments/index.js +987 -995
  4. package/lib/components/Bubble/index.js +10656 -10705
  5. package/lib/components/BubbleList/index.js +10951 -11038
  6. package/lib/components/Conversations/index.js +14026 -14063
  7. package/lib/components/FilesCard/index.js +606 -614
  8. package/lib/components/Prompts/index.js +457 -470
  9. package/lib/components/Sender/index.js +1701 -1678
  10. package/lib/components/Thinking/index.js +695 -703
  11. package/lib/components/ThoughtChain/index.js +24795 -24851
  12. package/lib/components/Typewriter/index.js +10247 -10302
  13. package/lib/components/Welcome/index.js +357 -370
  14. package/lib/index.common.js +1 -1
  15. package/lib/index.esm.js +1 -1
  16. package/lib/index.js +32189 -32214
  17. package/lib/index.umd.js +1 -1
  18. package/lib/mixins/index.js +61 -116
  19. package/package.json +20 -7
  20. package/lib/locale/lang/ar-SA.js +0 -18
  21. package/lib/locale/lang/ar-SA.umd.js +0 -26
  22. package/lib/locale/lang/de-DE.js +0 -18
  23. package/lib/locale/lang/de-DE.umd.js +0 -26
  24. package/lib/locale/lang/es-ES.js +0 -18
  25. package/lib/locale/lang/es-ES.umd.js +0 -26
  26. package/lib/locale/lang/fr-FR.js +0 -18
  27. package/lib/locale/lang/fr-FR.umd.js +0 -26
  28. package/lib/locale/lang/it-IT.js +0 -18
  29. package/lib/locale/lang/it-IT.umd.js +0 -26
  30. package/lib/locale/lang/ja-JP.js +0 -18
  31. package/lib/locale/lang/ja-JP.umd.js +0 -26
  32. package/lib/locale/lang/ko-KR.js +0 -18
  33. package/lib/locale/lang/ko-KR.umd.js +0 -26
  34. package/src/components/Attachments/index.js +0 -8
  35. package/src/components/Attachments/src/main.vue +0 -529
  36. package/src/components/Bubble/index.js +0 -6
  37. package/src/components/Bubble/src/main.vue +0 -288
  38. package/src/components/BubbleList/index.js +0 -8
  39. package/src/components/BubbleList/src/loading.vue +0 -75
  40. package/src/components/BubbleList/src/main.vue +0 -444
  41. package/src/components/Conversations/index.js +0 -8
  42. package/src/components/Conversations/src/components/item.vue +0 -350
  43. package/src/components/Conversations/src/main.vue +0 -587
  44. package/src/components/FilesCard/index.js +0 -8
  45. package/src/components/FilesCard/src/fileSvg/audio.vue +0 -38
  46. package/src/components/FilesCard/src/fileSvg/changeFileName.bat +0 -18
  47. package/src/components/FilesCard/src/fileSvg/code.vue +0 -35
  48. package/src/components/FilesCard/src/fileSvg/database.vue +0 -94
  49. package/src/components/FilesCard/src/fileSvg/excel.vue +0 -38
  50. package/src/components/FilesCard/src/fileSvg/file.vue +0 -40
  51. package/src/components/FilesCard/src/fileSvg/image.vue +0 -40
  52. package/src/components/FilesCard/src/fileSvg/index.js +0 -46
  53. package/src/components/FilesCard/src/fileSvg/link.vue +0 -54
  54. package/src/components/FilesCard/src/fileSvg/mark.vue +0 -38
  55. package/src/components/FilesCard/src/fileSvg/pdf.vue +0 -38
  56. package/src/components/FilesCard/src/fileSvg/ppt.vue +0 -38
  57. package/src/components/FilesCard/src/fileSvg/three.vue +0 -38
  58. package/src/components/FilesCard/src/fileSvg/txt.vue +0 -38
  59. package/src/components/FilesCard/src/fileSvg/unknown.vue +0 -54
  60. package/src/components/FilesCard/src/fileSvg/video.vue +0 -38
  61. package/src/components/FilesCard/src/fileSvg/word.vue +0 -38
  62. package/src/components/FilesCard/src/fileSvg/zip.vue +0 -38
  63. package/src/components/FilesCard/src/main.vue +0 -401
  64. package/src/components/FilesCard/src/options.js +0 -18
  65. package/src/components/Prompts/index.js +0 -8
  66. package/src/components/Prompts/src/main.vue +0 -248
  67. package/src/components/Sender/index.js +0 -8
  68. package/src/components/Sender/src/components/ClearButton.vue +0 -28
  69. package/src/components/Sender/src/components/Loading.vue +0 -53
  70. package/src/components/Sender/src/components/LoadingButton.vue +0 -37
  71. package/src/components/Sender/src/components/SendButton.vue +0 -26
  72. package/src/components/Sender/src/components/SpeechButton.vue +0 -24
  73. package/src/components/Sender/src/components/SpeechLoading.vue +0 -87
  74. package/src/components/Sender/src/components/SpeechLoadingButton.vue +0 -41
  75. package/src/components/Sender/src/main.vue +0 -769
  76. package/src/components/Thinking/index.js +0 -8
  77. package/src/components/Thinking/src/main.vue +0 -199
  78. package/src/components/ThoughtChain/index.js +0 -8
  79. package/src/components/ThoughtChain/src/main.vue +0 -291
  80. package/src/components/Typewriter/index.js +0 -8
  81. package/src/components/Typewriter/src/main.vue +0 -255
  82. package/src/components/Welcome/index.js +0 -8
  83. package/src/components/Welcome/src/main.vue +0 -151
  84. package/src/index.js +0 -106
  85. package/src/locale/index.js +0 -97
  86. package/src/locale/lang/ar.js +0 -18
  87. package/src/locale/lang/de.js +0 -18
  88. package/src/locale/lang/en.js +0 -18
  89. package/src/locale/lang/es.js +0 -18
  90. package/src/locale/lang/fr.js +0 -18
  91. package/src/locale/lang/index.js +0 -62
  92. package/src/locale/lang/it.js +0 -18
  93. package/src/locale/lang/ja.js +0 -18
  94. package/src/locale/lang/ko.js +0 -18
  95. package/src/locale/lang/pt-br.js +0 -18
  96. package/src/locale/lang/ru-RU.js +0 -18
  97. package/src/locale/lang/zh-CN.js +0 -18
  98. package/src/locale/lang/zh-TW.js +0 -18
  99. package/src/locale/mixin.js +0 -9
  100. package/src/mixins/index.js +0 -49
  101. package/src/mixins/recordMixin.js +0 -117
  102. package/src/mixins/sendMixin.js +0 -450
  103. package/src/mixins/streamMixin.js +0 -497
  104. package/src/styles/Attachments.scss +0 -236
  105. package/src/styles/Bubble.scss +0 -158
  106. package/src/styles/BubbleList.scss +0 -148
  107. package/src/styles/Conversations.scss +0 -283
  108. package/src/styles/FilesCard.scss +0 -222
  109. package/src/styles/Prompts.scss +0 -197
  110. package/src/styles/Sender.scss +0 -207
  111. package/src/styles/Thinking.scss +0 -142
  112. package/src/styles/ThoughtChain.scss +0 -113
  113. package/src/styles/Typewriter.scss +0 -66
  114. package/src/styles/Welcome.scss +0 -283
  115. package/src/styles/button.scss +0 -302
  116. package/src/styles/var.scss +0 -1051
  117. package/src/theme/var.scss +0 -183
  118. package/src/utils/index.js +0 -199
  119. package/src/utils/scrollDetector.js +0 -34
  120. /package/lib/locale/lang/{pt-BR.js → pt-br.js} +0 -0
  121. /package/lib/locale/lang/{pt-BR.umd.js → pt-br.umd.js} +0 -0
@@ -1,222 +0,0 @@
1
- @import '../theme/var.scss';
2
-
3
- .el-x-filescard {
4
- width: fit-content;
5
- padding: 12px;
6
- display: flex;
7
- flex-wrap: nowrap;
8
- gap: 8px;
9
- align-items: center;
10
- border-radius: 8px;
11
- position: relative;
12
- background: rgba(0, 0, 0, 0.06);
13
- max-width: var(--elx-files-card-max-width);
14
-
15
- .el-x-filescard-progress {
16
- position: absolute;
17
- top: 0;
18
- left: 0;
19
- bottom: 0;
20
- background: rgba(0, 0, 0, 0.08);
21
- border-radius: 8px;
22
- transition: width 0.2s ease;
23
- }
24
-
25
- .el-x-filescard-delete-icon {
26
- position: absolute;
27
- top: -8px;
28
- right: -6px;
29
- cursor: pointer;
30
- color: rgba(0, 0, 0, 0.4);
31
- display: none;
32
-
33
- &:hover {
34
- color: #ff4d4f;
35
- }
36
- }
37
-
38
- &:hover .el-x-filescard-delete-icon {
39
- display: block;
40
- }
41
- }
42
-
43
- .el-x-filescard-square {
44
- padding: 0;
45
- margin: 0;
46
- }
47
-
48
- .el-x-filescard-icon {
49
- flex: none;
50
- font-size: var(--elx-files-card-icon-size);
51
- }
52
-
53
- .el-x-filescard-img {
54
- flex: none;
55
- width: var(--elx-files-card-icon-size);
56
- height: var(--elx-files-card-icon-size);
57
- border-radius: 8px;
58
- object-fit: cover;
59
- }
60
-
61
- .el-x-filescard-content {
62
- flex: auto;
63
- min-width: 0;
64
- display: flex;
65
- flex-direction: column;
66
- align-items: stretch;
67
- justify-content: space-between;
68
- height: 100%;
69
-
70
- .el-x-filescard-name {
71
- display: flex;
72
- flex-wrap: nowrap;
73
- max-width: 100%;
74
- font-size: 14px;
75
-
76
- .el-x-filescard-name-prefix {
77
- flex: 0 1 auto;
78
- min-width: 0;
79
- overflow: hidden;
80
- text-overflow: ellipsis;
81
- white-space: nowrap;
82
- }
83
-
84
- .el-x-filescard-name-suffix {
85
- flex: none;
86
- }
87
- }
88
-
89
- .el-x-filescard-description {
90
- flex: none;
91
- min-width: 0;
92
- overflow: hidden;
93
- text-overflow: ellipsis;
94
- white-space: nowrap;
95
- color: rgba(0, 0, 0, 0.4);
96
- font-size: 12px;
97
- }
98
-
99
- .el-x-filescard-description-error {
100
- color: #ff4d4f;
101
- }
102
- }
103
-
104
- /* 遮罩层样式 */
105
- .image-preview-container {
106
- position: relative;
107
- padding: 0px;
108
- width: var(--elx-files-card-icon-size);
109
- height: var(--elx-files-card-icon-size);
110
- display: inline-block;
111
- border-radius: 8px;
112
- // overflow: hidden;
113
- transition: all 0.3s;
114
-
115
- .preview-mask {
116
- position: absolute;
117
- inset: 0;
118
- width: 100%;
119
- display: flex;
120
- justify-content: center;
121
- align-items: center;
122
- opacity: 0;
123
- background: rgba(0, 0, 0, 0.65);
124
- color: #fff;
125
- font-size: 10px;
126
- transition: opacity 0.3s;
127
-
128
- .el-icon-view {
129
- font-size: 10px;
130
- margin-right: 2px;
131
- display: flex;
132
- align-items: center;
133
- height: 100%;
134
- margin-top: 2px;
135
- }
136
-
137
- &:hover {
138
- opacity: 1;
139
- transition: opacity 0.3s;
140
- cursor: pointer;
141
- }
142
- }
143
- }
144
-
145
- .image-preview-container-square {
146
- .preview-mask {
147
- font-size: 14px;
148
-
149
- .el-icon-view {
150
- font-size: 12px;
151
- }
152
- }
153
- }
154
-
155
- // 正方形变体,加载中样式,不悬停直接展示
156
- .preview-mask-loading {
157
- position: absolute;
158
- inset: 0;
159
- width: 100%;
160
- display: flex;
161
- justify-content: center;
162
- align-items: center;
163
- background: rgba(0, 0, 0, 0.65);
164
- color: #fff;
165
- transition: all 0.3s;
166
-
167
- .circle-progress {
168
- width: 100% !important;
169
- height: 100% !important;
170
- display: flex;
171
- justify-content: center;
172
- align-items: center;
173
-
174
- .el-progress-circle {
175
- width: calc(100% - 12px) !important;
176
- height: calc(100% - 12px) !important;
177
-
178
- svg>path:nth-child(1) {
179
- stroke: rgba(255, 255, 255, 0.2);
180
- stroke-width: 8px;
181
- }
182
- }
183
-
184
- .el-progress__text {
185
- color: #fff;
186
- font-size: 14px;
187
- }
188
- }
189
- }
190
-
191
- // 正方形变体,加载中样式,不悬停直接展示
192
- .preview-mask-error {
193
- position: absolute;
194
- inset: 0;
195
- width: 100%;
196
- display: flex;
197
- justify-content: center;
198
- align-items: center;
199
- background: rgba(0, 0, 0, 0.5);
200
- font-size: 12px;
201
- transition: all 0.3s;
202
- color: #ff4d4f;
203
- // 溢出隐藏
204
- overflow: hidden;
205
- text-overflow: ellipsis;
206
- white-space: nowrap;
207
- }
208
-
209
- .el-image-viewer__progress {
210
- display: none;
211
- }
212
-
213
- /* 过渡动画样式 */
214
- .fade-enter-active,
215
- .fade-leave-active {
216
- transition: opacity 0.3s;
217
- }
218
-
219
- .fade-enter,
220
- .fade-leave-to {
221
- opacity: 0;
222
- }
@@ -1,197 +0,0 @@
1
- @import '../theme/var.scss';
2
-
3
- // 移动设备断点
4
- $--mobile-breakpoint: 768px;
5
-
6
- // Prompts 组件样式
7
- .el-x-prompts {
8
- max-width: 100%;
9
-
10
- &,
11
- & * {
12
- box-sizing: border-box;
13
- }
14
-
15
-
16
- // RTL 支持
17
- &.el-x-prompts-rtl {
18
- direction: rtl;
19
- }
20
-
21
- // 标题样式
22
- .el-x-prompts-title {
23
- font-weight: normal;
24
- font-size: $--el-x-font-size-medium;
25
- color: $--color-text-secondary;
26
- margin-top: 0;
27
- margin-bottom: 0.5em;
28
- }
29
-
30
- // 列表样式
31
- .el-x-prompts-list {
32
- display: flex;
33
- gap: $--el-x-padding-sm;
34
- overflow-x: auto;
35
- // 隐藏滚动条
36
- scrollbar-width: none;
37
- -ms-overflow-style: none;
38
-
39
- &::-webkit-scrollbar {
40
- display: none;
41
- }
42
-
43
- list-style: none;
44
- padding-left: 0;
45
- margin: 0;
46
- align-items: stretch;
47
-
48
- // 换行
49
- &-wrap {
50
- flex-wrap: wrap;
51
- }
52
-
53
- // 垂直排列
54
- &-vertical {
55
- flex-direction: column;
56
- align-items: flex-start;
57
- }
58
-
59
- // 移动设备响应式
60
- @media screen and (max-width: $--mobile-breakpoint) {
61
- flex-wrap: wrap;
62
- gap: 8px;
63
-
64
- &-wrap {
65
- justify-content: space-between;
66
- }
67
- }
68
- }
69
-
70
- // 项目样式
71
- .el-x-prompts-item {
72
- flex: none;
73
- display: flex;
74
- gap: 4px;
75
- height: auto;
76
- padding: $--el-x-padding-md $--el-x-padding-lg;
77
- align-items: flex-start;
78
- justify-content: flex-start;
79
- background: $--color-white;
80
- border-radius: $--el-x-border-radius-md;
81
- transition: border $--all-transition, background $--all-transition;
82
- border: $--border-width-base $--border-style-base $--border-color-lighter;
83
-
84
- // 移动设备响应式
85
- @media screen and (max-width: $--mobile-breakpoint) {
86
- width: calc(50% - 4px); // 小屏幕上默认两列布局
87
- min-width: 150px;
88
- padding: $--el-x-padding-sm $--el-x-padding-md;
89
-
90
- .el-x-prompts-list-wrap & {
91
- width: calc(50% - 4px);
92
- margin-bottom: 8px;
93
- }
94
-
95
- .el-x-prompts-list-vertical & {
96
- width: 100%;
97
- }
98
- }
99
-
100
- &:not(.el-x-prompts-item-has-nest) {
101
- &:hover {
102
- cursor: pointer;
103
- background: $--background-color-base;
104
- }
105
-
106
- &:active {
107
- background: $--color-primary-light-9;
108
- }
109
- }
110
-
111
- // 内容样式
112
- .el-x-prompts-content {
113
- flex: auto;
114
- min-width: 0;
115
- display: flex;
116
- gap: 4px;
117
- flex-direction: column;
118
- align-items: flex-start;
119
-
120
- // 移动设备响应式
121
- @media screen and (max-width: $--mobile-breakpoint) {
122
- width: 100%;
123
- gap: 2px;
124
- }
125
- }
126
-
127
- // 图标、标签和描述共同样式
128
- .el-x-prompts-icon,
129
- .el-x-prompts-label,
130
- .el-x-prompts-desc {
131
- margin: 0;
132
- padding: 0;
133
- font-size: $--el-x-font-size-base;
134
- line-height: $--el-x-font-line-height-primary;
135
- text-align: start;
136
- white-space: normal;
137
-
138
- // 移动设备响应式
139
- @media screen and (max-width: $--mobile-breakpoint) {
140
- font-size: 14px;
141
- line-height: 1.4;
142
- overflow: hidden;
143
- text-overflow: ellipsis;
144
- display: -webkit-box;
145
- -webkit-line-clamp: 2;
146
- -webkit-box-orient: vertical;
147
- }
148
- }
149
-
150
- // 标签样式
151
- .el-x-prompts-label {
152
- color: $--color-text-primary;
153
- font-weight: 500;
154
- }
155
-
156
- // 描述样式
157
- .el-x-prompts-label+.el-x-prompts-desc {
158
- color: $--color-text-secondary;
159
- }
160
-
161
- // 禁用状态
162
- &.el-x-prompts-item-disabled {
163
- pointer-events: none;
164
- background: $--background-color-base;
165
-
166
- .el-x-prompts-label,
167
- .el-x-prompts-desc {
168
- color: $--color-text-secondary;
169
- }
170
- }
171
- }
172
-
173
- // 嵌套样式
174
- .el-x-prompts-item-has-nest {
175
- >.el-x-prompts-content {
176
- >.el-x-prompts-label {
177
- font-size: $--font-size-large;
178
- line-height: $--font-line-height-primary;
179
- }
180
- }
181
- }
182
-
183
- // 嵌套组件样式
184
- &.el-x-prompts-nested {
185
- margin-top: 5px;
186
- align-self: stretch;
187
-
188
- .el-x-prompts-list {
189
- align-items: stretch;
190
- }
191
-
192
- .el-x-prompts-item {
193
- border: 0;
194
- background: $--background-color-base;
195
- }
196
- }
197
- }
@@ -1,207 +0,0 @@
1
- @import '../theme/var.scss';
2
-
3
- // 设置全局CSS变量默认值
4
- // :root {
5
- // --el-x-sender-trigger-popover-width: fit-content;
6
- // --el-x-sender-trigger-popover-left: 0px;
7
- // }
8
-
9
- $--el-x-sender-box-shadow-tertiary: 0 1px 2px 0 rgba(0, 0, 0, 0.03),
10
- 0 1px 6px -1px rgba(0, 0, 0, 0.02),
11
- 0 2px 4px 0 rgba(0, 0, 0, 0.02);
12
- $--el-x-sender-input-font-size: 14px;
13
- // $--el-x-sender-header-animation-duration: 300ms;
14
- $--el-x-border-width: $--border-width-base;
15
- $--el-x-padding-xs: 8px;
16
- $--el-x-padding-sm: 12px;
17
- $--el-x-padding: 16px;
18
- $--el-x-transition-duration: 0.3s;
19
- $--el-x-color-primary: $--color-primary;
20
- $--el-x-color-white: $--color-white;
21
- $--el-x-box-shadow: $--box-shadow-base;
22
- $--el-x-border-color: $--border-color-base;
23
- $--el-x-text-color-primary: $--color-text-primary;
24
- $--el-x-font-line-height-primary: $--font-line-height-primary;
25
- $--el-x-fill-color: $--background-color-base;
26
-
27
- .el-x-sender {
28
- width: 100%;
29
- display: flex;
30
- flex-direction: column;
31
-
32
- position: relative;
33
- box-sizing: border-box;
34
- box-shadow: $--el-x-sender-box-shadow-tertiary;
35
- transition: background $--el-x-transition-duration;
36
- border-radius: calc(#{$--border-radius-base} * 2);
37
- border-color: $--el-x-border-color;
38
- border-width: 0;
39
- border-style: solid;
40
- transition: width var(--el-x-sender-header-animation-duration);
41
-
42
- &:after {
43
- content: '';
44
- position: absolute;
45
- inset: 0;
46
- pointer-events: none;
47
- transition: border-color $--el-x-transition-duration;
48
- border-radius: inherit;
49
- border-style: inherit;
50
- border-color: inherit;
51
- border-width: $--el-x-border-width;
52
- }
53
-
54
- &:focus-within {
55
- box-shadow: $--el-x-box-shadow;
56
- border-color: $--el-x-color-primary;
57
-
58
- &::after {
59
- border-width: 2px;
60
- }
61
- }
62
-
63
- .el-x-sender-header-wrap {
64
- display: flex;
65
- flex-direction: column;
66
- gap: $--el-x-padding-xs;
67
- width: 100%;
68
- margin: 0;
69
- padding: 0;
70
- }
71
-
72
- // 展开收起动画 - calc-size:解决无法对某些非固定尺寸(如 auto、min-content、max-content 等)进行动画过渡的新特性
73
- .slide-enter-active,
74
- .slide-leave-active {
75
- height: calc-size(max-content, size);
76
- opacity: 1;
77
- transition:
78
- height var(--el-x-sender-header-animation-duration),
79
- opacity var(--el-x-sender-header-animation-duration),
80
- border var(--el-x-sender-header-animation-duration);
81
- overflow: hidden;
82
- }
83
-
84
- .slide-enter,
85
- .slide-leave-to {
86
- height: 0;
87
- opacity: 0 !important;
88
- }
89
-
90
- .slide-enter-to,
91
- .slide-leave {
92
- height: calc-size(max-content, size);
93
- opacity: 1;
94
- }
95
-
96
- // 确保内部内容能够正确收缩
97
- .slide-enter-active .el-x-sender-header-wrap,
98
- .slide-leave-active .el-x-sender-header-wrap {
99
- min-height: 0;
100
- overflow: hidden;
101
- }
102
-
103
- .el-x-sender-header {
104
- border-bottom-width: $--el-x-border-width;
105
- border-bottom-style: solid;
106
- border-bottom-color: $--el-x-border-color;
107
- }
108
-
109
- .el-x-sender-content {
110
- display: flex;
111
- gap: $--el-x-padding-xs;
112
- width: 100%;
113
- padding-block: $--el-x-padding-sm;
114
- padding-inline-start: $--el-x-padding;
115
- padding-inline-end: $--el-x-padding-sm;
116
- box-sizing: border-box;
117
- align-items: flex-end;
118
-
119
- // 前缀
120
- .el-x-sender-prefix {
121
- flex: none;
122
- }
123
-
124
- // 输入框
125
- .el-x-sender-input {
126
- height: 100%;
127
- display: flex;
128
- align-items: center;
129
- align-self: center;
130
-
131
- ::v-deep .el-textarea__inner {
132
- padding: 0;
133
- margin: 0;
134
- color: $--el-x-text-color-primary;
135
- font-size: $--el-x-sender-input-font-size;
136
- line-height: $--el-x-font-line-height-primary;
137
- list-style: none;
138
- position: relative;
139
- display: inline-block;
140
- box-sizing: border-box;
141
- width: 100%;
142
- min-width: 0;
143
- max-width: 100%;
144
- height: auto;
145
- min-height: auto !important;
146
- border-radius: 0;
147
- border: none;
148
- flex: auto;
149
- align-self: center;
150
- vertical-align: bottom;
151
- resize: none;
152
- background-color: transparent;
153
- transition: all $--el-x-transition-duration, height 0s;
154
- box-shadow: none !important;
155
- }
156
- }
157
-
158
- // 操作列表
159
- .el-x-sender-action-list-presets {
160
- display: flex;
161
- gap: $--el-x-padding-xs;
162
- flex-direction: row-reverse;
163
- }
164
- }
165
-
166
- // 变体样式 --variant
167
- .content-variant-updown {
168
- display: flex;
169
- flex-direction: column;
170
- align-items: initial;
171
-
172
- .el-x-sender-updown-wrap {
173
- display: flex;
174
- justify-content: space-between;
175
- gap: 8px;
176
-
177
- // 前缀
178
- .el-x-sender-prefix {
179
- flex: initial;
180
- }
181
-
182
- .el-x-sender-action-list {
183
- margin-left: auto;
184
- }
185
- }
186
- }
187
-
188
- // 底部容器
189
- .el-x-sender-footer {
190
- border-top-width: $--el-x-border-width;
191
- border-top-style: solid;
192
- border-top-color: $--el-x-border-color;
193
- }
194
- }
195
-
196
- .el-x-sender-disabled {
197
- background-color: $--el-x-fill-color;
198
- pointer-events: none;
199
- }
200
-
201
- ::v-deep .el-x-sender-trigger-popover {
202
- max-width: calc(100% - 54px) !important;
203
-
204
- // 应用自定义变量(如果存在)
205
- width: var(--el-x-sender-trigger-popover-width) !important;
206
- margin-left: var(--el-x-sender-trigger-popover-left) !important;
207
- }