@douyinfe/semi-foundation 2.51.4 → 2.52.0-beta.0
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.
- package/avatar/animation.scss +19 -0
- package/avatar/avatar.scss +313 -0
- package/avatar/variables.scss +66 -10
- package/cascader/foundation.ts +7 -13
- package/cascader/util.ts +0 -13
- package/datePicker/foundation.ts +7 -7
- package/input/input.scss +12 -3
- package/input/variables.scss +5 -0
- package/lib/cjs/avatar/animation.scss +19 -0
- package/lib/cjs/avatar/avatar.css +261 -0
- package/lib/cjs/avatar/avatar.scss +313 -0
- package/lib/cjs/avatar/variables.scss +66 -10
- package/lib/cjs/cascader/foundation.d.ts +11 -4
- package/lib/cjs/cascader/foundation.js +14 -22
- package/lib/cjs/cascader/util.d.ts +0 -1
- package/lib/cjs/cascader/util.js +0 -14
- package/lib/cjs/datePicker/foundation.d.ts +2 -2
- package/lib/cjs/datePicker/foundation.js +4 -5
- package/lib/cjs/input/input.css +12 -0
- package/lib/cjs/input/input.scss +12 -3
- package/lib/cjs/input/variables.scss +5 -0
- package/lib/cjs/modal/modal.css +3 -0
- package/lib/cjs/modal/modal.scss +5 -1
- package/lib/cjs/modal/modalFoundation.d.ts +1 -0
- package/lib/cjs/modal/variables.scss +4 -0
- package/lib/cjs/slider/constants.d.ts +1 -0
- package/lib/cjs/slider/constants.js +2 -1
- package/lib/cjs/slider/foundation.d.ts +7 -0
- package/lib/cjs/slider/slider.css +9 -0
- package/lib/cjs/slider/slider.scss +10 -0
- package/lib/cjs/slider/variables.scss +2 -0
- package/lib/cjs/tooltip/foundation.js +0 -11
- package/lib/cjs/treeSelect/foundation.d.ts +1 -0
- package/lib/cjs/treeSelect/foundation.js +1 -0
- package/lib/es/avatar/animation.scss +19 -0
- package/lib/es/avatar/avatar.css +261 -0
- package/lib/es/avatar/avatar.scss +313 -0
- package/lib/es/avatar/variables.scss +66 -10
- package/lib/es/cascader/foundation.d.ts +11 -4
- package/lib/es/cascader/foundation.js +15 -23
- package/lib/es/cascader/util.d.ts +0 -1
- package/lib/es/cascader/util.js +0 -13
- package/lib/es/datePicker/foundation.d.ts +2 -2
- package/lib/es/datePicker/foundation.js +4 -5
- package/lib/es/input/input.css +12 -0
- package/lib/es/input/input.scss +12 -3
- package/lib/es/input/variables.scss +5 -0
- package/lib/es/modal/modal.css +3 -0
- package/lib/es/modal/modal.scss +5 -1
- package/lib/es/modal/modalFoundation.d.ts +1 -0
- package/lib/es/modal/variables.scss +4 -0
- package/lib/es/slider/constants.d.ts +1 -0
- package/lib/es/slider/constants.js +2 -1
- package/lib/es/slider/foundation.d.ts +7 -0
- package/lib/es/slider/slider.css +9 -0
- package/lib/es/slider/slider.scss +10 -0
- package/lib/es/slider/variables.scss +2 -0
- package/lib/es/tooltip/foundation.js +0 -11
- package/lib/es/treeSelect/foundation.d.ts +1 -0
- package/lib/es/treeSelect/foundation.js +1 -0
- package/modal/modal.scss +5 -1
- package/modal/modalFoundation.ts +2 -1
- package/modal/variables.scss +4 -0
- package/package.json +3 -3
- package/slider/constants.ts +1 -0
- package/slider/foundation.ts +8 -1
- package/slider/slider.scss +10 -0
- package/slider/variables.scss +2 -0
- package/tooltip/foundation.ts +2 -12
- package/treeSelect/foundation.ts +2 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
$animation_duration-additionalBorder: 800ms; // 边框动画持续时间
|
|
2
|
+
$animation_duration-content: 1000ms; // 内容动画持续时间
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
$animation_opacity-additionalBorder-start: 1; // 边框动画起始透明度
|
|
6
|
+
$animation_opacity-additionalBorder-end: 0; // 边框动画结束透明度
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
$animation_width-additionalBorder-end:0; // 边框动画结束宽度
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
$animation_scale-additionalBorder-start: 1; // 边框动画起始缩放比例
|
|
13
|
+
$animation_scale-additionalBorder-end: 1.15; // 边框动画结束缩放比例
|
|
14
|
+
|
|
15
|
+
$animation_scale-content-start: 1; // 边框动画起始缩放比例
|
|
16
|
+
$animation_scale-content-middle: 0.9; // 边框动画中间态缩放比例
|
|
17
|
+
$animation_scale-content-end: 1; // 边框动画结束缩放比例
|
|
18
|
+
|
|
19
|
+
|
package/avatar/avatar.scss
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
@import "./animation";
|
|
1
2
|
@import './variables.scss';
|
|
2
3
|
@import './mixin.scss';
|
|
3
4
|
|
|
5
|
+
|
|
4
6
|
$module: #{$prefix}-avatar;
|
|
5
7
|
$colors: 'amber', 'blue', 'cyan', 'green', 'grey', 'indigo', 'light-blue', 'light-green', 'lime', 'orange', 'pink',
|
|
6
8
|
'purple', 'red', 'teal', 'violet', 'yellow';
|
|
@@ -15,6 +17,12 @@ $colors: 'amber', 'blue', 'cyan', 'green', 'grey', 'indigo', 'light-blue', 'ligh
|
|
|
15
17
|
text-align: center;
|
|
16
18
|
vertical-align: middle;
|
|
17
19
|
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
18
26
|
&:focus-visible {
|
|
19
27
|
outline: $width-avatar-outline solid $color-avatar-outline-focus;
|
|
20
28
|
}
|
|
@@ -149,6 +157,197 @@ $colors: 'amber', 'blue', 'cyan', 'green', 'grey', 'indigo', 'light-blue', 'ligh
|
|
|
149
157
|
&:hover {
|
|
150
158
|
cursor: pointer;
|
|
151
159
|
}
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
.#{$module}-wrapper{
|
|
166
|
+
position: relative;
|
|
167
|
+
display: inline-flex;
|
|
168
|
+
flex-direction: column;
|
|
169
|
+
align-items: center;
|
|
170
|
+
width: fit-content;
|
|
171
|
+
.#{$module}-top_slot-bg{
|
|
172
|
+
position: absolute;
|
|
173
|
+
display: flex;
|
|
174
|
+
justify-content: center;
|
|
175
|
+
border-radius: 50%;
|
|
176
|
+
overflow: hidden;
|
|
177
|
+
|
|
178
|
+
&-small{
|
|
179
|
+
width: $width-avatar_small;
|
|
180
|
+
height: $width-avatar_small;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
&-default{
|
|
184
|
+
width: $width-avatar_default;
|
|
185
|
+
height: $width-avatar_default;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
&-medium{
|
|
189
|
+
width: $width-avatar_medium;
|
|
190
|
+
height: $width-avatar_medium;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
&-large{
|
|
194
|
+
width: $width-avatar_large;
|
|
195
|
+
height: $width-avatar_large;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
&-extra-large{
|
|
199
|
+
width: $width-avatar_extra_large;
|
|
200
|
+
height: $width-avatar_extra_large;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
&-svg{
|
|
205
|
+
position: absolute;
|
|
206
|
+
}
|
|
207
|
+
&-svg-small{
|
|
208
|
+
top: $spacing-avatar-top_slot_small-shift;
|
|
209
|
+
scale: $spacing-avatar-top_slot_small-scale;
|
|
210
|
+
}
|
|
211
|
+
&-svg-default{
|
|
212
|
+
top: $spacing-avatar-top_slot_default-shift;
|
|
213
|
+
scale: $spacing-avatar-top_slot_default-scale;
|
|
214
|
+
}
|
|
215
|
+
&-svg-medium{
|
|
216
|
+
top: $spacing-avatar-top_slot_medium-shift;
|
|
217
|
+
scale: $spacing-avatar-top_slot_medium-scale;
|
|
218
|
+
}
|
|
219
|
+
&-svg-large{
|
|
220
|
+
top: $spacing-avatar-top_slot_large-shift;
|
|
221
|
+
scale: $spacing-avatar-top_slot_large-scale;
|
|
222
|
+
}
|
|
223
|
+
&-svg-extra-large{
|
|
224
|
+
top: $spacing-avatar-top_slot_extra_large-shift;
|
|
225
|
+
scale: $spacing-avatar-top_slot_extra_large-scale;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.#{$module}-top_slot-bg-with_border{
|
|
230
|
+
//top: $width-avatar_additional-border;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.#{$module}-top_slot-wrapper{
|
|
234
|
+
position: absolute;
|
|
235
|
+
display: flex;
|
|
236
|
+
justify-content: center;
|
|
237
|
+
.#{$module}-top_slot{
|
|
238
|
+
color:$color-avatar-top_slot_text;
|
|
239
|
+
font-weight: $font-weight-bold;
|
|
240
|
+
&-content{
|
|
241
|
+
user-select: none;
|
|
242
|
+
position: relative;
|
|
243
|
+
line-height: normal;
|
|
244
|
+
&-small{
|
|
245
|
+
font-size: $font-avatar_top_slot-small-fontSize;
|
|
246
|
+
margin-top: $spacing-avatar-top_slot_small-content-marginTop;
|
|
247
|
+
}
|
|
248
|
+
&-default{
|
|
249
|
+
font-size: $font-avatar_top_slot-default-fontSize;
|
|
250
|
+
margin-top: $spacing-avatar-top_slot_default-content-marginTop;
|
|
251
|
+
}
|
|
252
|
+
&-medium{
|
|
253
|
+
font-size: $font-avatar_top_slot-medium-fontSize;
|
|
254
|
+
margin-top: $spacing-avatar-top_slot_medium-content-marginTop;
|
|
255
|
+
}
|
|
256
|
+
&-large{
|
|
257
|
+
font-size: $font-avatar_top_slot-large-fontSize;
|
|
258
|
+
margin-top: $spacing-avatar-top_slot_large-content-marginTop;
|
|
259
|
+
}
|
|
260
|
+
&-extra-large{
|
|
261
|
+
font-size: $font-avatar_top_slot-extra_large-fontSize;
|
|
262
|
+
margin-top: $spacing-avatar-top_slot_extra_large-content-marginTop;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
.#{$module}-bottom_slot{
|
|
272
|
+
color:var(--semi-color-bg-0);
|
|
273
|
+
position: absolute;
|
|
274
|
+
cursor: pointer;
|
|
275
|
+
bottom: $spacing-avatar_additional-borderGap + $width-avatar_additional-border;
|
|
276
|
+
transform: translateY(50%);
|
|
277
|
+
user-select: none;
|
|
278
|
+
&-shape_circle{
|
|
279
|
+
display: flex;
|
|
280
|
+
justify-content: center;
|
|
281
|
+
align-items: center;
|
|
282
|
+
background: $color-avatar-bottom_slot_bg;
|
|
283
|
+
border-radius: var(--semi-border-radius-circle);
|
|
284
|
+
line-height:normal;
|
|
285
|
+
}
|
|
286
|
+
&-shape_circle-small{
|
|
287
|
+
width:$width-avatar-bottom_slot_circle_small;
|
|
288
|
+
height:$width-avatar-bottom_slot_circle_small;
|
|
289
|
+
font-size: $font-avatar_bottom_slot-small-fontSize;
|
|
290
|
+
}
|
|
291
|
+
&-shape_circle-default{
|
|
292
|
+
width:$width-avatar-bottom_slot_circle_default;
|
|
293
|
+
height:$width-avatar-bottom_slot_circle_default;
|
|
294
|
+
font-size: $font-avatar_bottom_slot-default-fontSize;
|
|
295
|
+
}
|
|
296
|
+
&-shape_circle-medium{
|
|
297
|
+
width:$width-avatar-bottom_slot_circle_medium;
|
|
298
|
+
height:$width-avatar-bottom_slot_circle_medium;
|
|
299
|
+
font-size: $font-avatar_bottom_slot-medium-fontSize;
|
|
300
|
+
}
|
|
301
|
+
&-shape_circle-large{
|
|
302
|
+
width:$width-avatar-bottom_slot_circle_large;
|
|
303
|
+
height:$width-avatar-bottom_slot_circle_large;
|
|
304
|
+
font-size: $font-avatar_bottom_slot-large-fontSize;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
&-shape_circle-extra-large{
|
|
308
|
+
width:$width-avatar-bottom_slot_circle_extra_large;
|
|
309
|
+
height:$width-avatar-bottom_slot_circle_extra_large;
|
|
310
|
+
font-size: $font-avatar_bottom_slot-extra_large-fontSize;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
&-shape_square{
|
|
316
|
+
display: flex;
|
|
317
|
+
justify-content: center;
|
|
318
|
+
align-items: center;
|
|
319
|
+
background: $color-avatar-bottom_slot_bg;
|
|
320
|
+
border-radius: $radius-avatar-bottom_slot_square;
|
|
321
|
+
padding: $spacing-avatar-bottom_slot_square-paddingY $spacing-avatar-bottom_slot_square-paddingX;
|
|
322
|
+
font-weight: $font-weight-bold;
|
|
323
|
+
border-style: solid;
|
|
324
|
+
border-color: $color-avatar-bottom_slot_square-border;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
&-shape_square-small{
|
|
328
|
+
font-size: $font-avatar_bottom_slot-small-fontSize;
|
|
329
|
+
border-width: $width-avatar-bottom_slot_square_small-border;
|
|
330
|
+
}
|
|
331
|
+
&-shape_square-default{
|
|
332
|
+
font-size: $font-avatar_bottom_slot-default-fontSize;
|
|
333
|
+
border-width: $width-avatar-bottom_slot_square_default-border;
|
|
334
|
+
|
|
335
|
+
}
|
|
336
|
+
&-shape_square-medium{
|
|
337
|
+
font-size: $font-avatar_bottom_slot-medium-fontSize;
|
|
338
|
+
border-width: $width-avatar-bottom_slot_square_medium-border;
|
|
339
|
+
|
|
340
|
+
}
|
|
341
|
+
&-shape_square-large{
|
|
342
|
+
font-size: $font-avatar_bottom_slot-large-fontSize;
|
|
343
|
+
border-width: $width-avatar-bottom_slot_square_large-border;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
&-shape_square-extra-large{
|
|
347
|
+
font-size: $font-avatar_bottom_slot-extra_large-fontSize;
|
|
348
|
+
border-width: $width-avatar-bottom_slot_square_extra_large-border;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
152
351
|
}
|
|
153
352
|
|
|
154
353
|
.#{$module}-group {
|
|
@@ -206,6 +405,7 @@ $colors: 'amber', 'blue', 'cyan', 'green', 'grey', 'indigo', 'light-blue', 'ligh
|
|
|
206
405
|
}
|
|
207
406
|
}
|
|
208
407
|
|
|
408
|
+
|
|
209
409
|
.#{$module}-item-more {
|
|
210
410
|
background-color: $color-avatar_more_default-bg-default;
|
|
211
411
|
}
|
|
@@ -217,4 +417,117 @@ $colors: 'amber', 'blue', 'cyan', 'green', 'grey', 'indigo', 'light-blue', 'ligh
|
|
|
217
417
|
}
|
|
218
418
|
}
|
|
219
419
|
|
|
420
|
+
|
|
421
|
+
.#{$module}-additionalBorder{
|
|
422
|
+
border-style: solid;
|
|
423
|
+
border-color: $color-avatar_additional-border;
|
|
424
|
+
display: inline-block;
|
|
425
|
+
box-sizing: border-box;
|
|
426
|
+
position: absolute;
|
|
427
|
+
border-width: $width-avatar_additional-border;
|
|
428
|
+
top: -1 * $width-avatar_additional-border - $spacing-avatar_additional-borderGap;
|
|
429
|
+
left: -1 * $width-avatar_additional-border - $spacing-avatar_additional-borderGap;
|
|
430
|
+
|
|
431
|
+
&-extra-extra-small{
|
|
432
|
+
width: $width-avatar_extra_extra_small + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
433
|
+
height: $width-avatar_extra_extra_small + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
&-extra-small{
|
|
437
|
+
width: $width-avatar_extra-small + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
438
|
+
height: $width-avatar_extra-small + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
&-small{
|
|
442
|
+
width: $width-avatar_small + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
443
|
+
height: $width-avatar_small + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
&-default{
|
|
447
|
+
width: $width-avatar_default + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
448
|
+
height: $width-avatar_default + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
&-medium{
|
|
452
|
+
|
|
453
|
+
width: $width-avatar_medium + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
454
|
+
height: $width-avatar_medium + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
&-large{
|
|
458
|
+
width: $width-avatar_large + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
459
|
+
height: $width-avatar_large + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
460
|
+
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
&-extra-large{
|
|
464
|
+
width: $width-avatar_extra_large + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
465
|
+
height: $width-avatar_extra_large + 2 * $spacing-avatar_additional-borderGap + 2 * $width-avatar_additional-border;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
.#{$module}-square.#{$module}-additionalBorder-extra_extra_small {
|
|
470
|
+
border-radius: $radius-avatar-extra_extra_small;
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
.#{$module}-square.#{$module}-additionalBorder-extra_small {
|
|
474
|
+
border-radius: $radius-avatar-extra_small;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
.#{$module}-square.#{$module}-additionalBorder-small {
|
|
478
|
+
border-radius: $radius-avatar-small;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
.#{$module}-square.#{$module}-additionalBorder-default {
|
|
482
|
+
border-radius: $radius-avatar-default;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
.#{$module}-square.#{$module}-additionalBorder-medium {
|
|
486
|
+
border-radius: $radius-avatar-medium;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
.#{$module}-square.#{$module}-additionalBorder-large {
|
|
490
|
+
border-radius: $radius-avatar-large;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
.#{$module}-additionalBorder-circle{
|
|
494
|
+
border-radius: var(--semi-border-radius-circle);
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
.#{$module}-additionalBorder-animated{
|
|
499
|
+
animation: $animation_duration-additionalBorder linear infinite #{$module}-additionalBorder;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
.#{$module}-animated{
|
|
503
|
+
animation: $animation_duration-content linear infinite #{$module}-content ;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
@keyframes #{$module}-additionalBorder {
|
|
507
|
+
0% {
|
|
508
|
+
opacity: $animation_opacity-additionalBorder-start;
|
|
509
|
+
transform: scale($animation_scale-additionalBorder-start)
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
to {
|
|
513
|
+
border-width: $animation_width-additionalBorder-end;
|
|
514
|
+
opacity: $animation_opacity-additionalBorder-end;
|
|
515
|
+
transform: scale($animation_scale-additionalBorder-end);
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
@keyframes #{$module}-content{
|
|
520
|
+
0% {
|
|
521
|
+
transform: scale($animation_scale-content-start)
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
50% {
|
|
525
|
+
transform: scale($animation_scale-content-middle)
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
to {
|
|
529
|
+
transform: scale($animation_scale-content-start)
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
|
|
220
533
|
@import './rtl.scss';
|
package/avatar/variables.scss
CHANGED
|
@@ -24,29 +24,85 @@ $font-avatar_extra_large-lineHeight: 77px; // 文本行高 - 超大
|
|
|
24
24
|
|
|
25
25
|
$radius-avatar: var(--semi-border-radius-circle); // 头像圆角
|
|
26
26
|
|
|
27
|
-
$width-avatar_extra_large-border: 3px; //
|
|
28
|
-
$spacing-avatar_extra_large-marginLeft: -32px; //
|
|
27
|
+
$width-avatar_extra_large-border: 3px; // 头像组头像描边尺寸 - 超大
|
|
28
|
+
$spacing-avatar_extra_large-marginLeft: -32px; // 头像组头像左侧外边距 - 超大
|
|
29
29
|
|
|
30
|
-
$width-avatar_large-border: 3px; //
|
|
30
|
+
$width-avatar_large-border: 3px; // 头像组头像描边尺寸 - 大
|
|
31
31
|
$spacing-avatar_large-marginLeft: -18px; // 头像左侧外边距 - 大
|
|
32
32
|
|
|
33
|
-
$width-avatar_medium-border: 2px; //
|
|
33
|
+
$width-avatar_medium-border: 2px; // 头像组头像描边尺寸 - 中
|
|
34
34
|
$spacing-avatar_medium-marginLeft: -12px; // 头像左侧外边距 - 中
|
|
35
35
|
|
|
36
|
-
$width-avatar_default-border: 2px; //
|
|
36
|
+
$width-avatar_default-border: 2px; // 头像组头像描边尺寸 - 默认
|
|
37
37
|
$spacing-avatar_default-marginLeft: -12px; // 头像左侧外边距 - 默认
|
|
38
38
|
|
|
39
|
-
$width-avatar_small-border: 2px; //
|
|
39
|
+
$width-avatar_small-border: 2px; // 头像组头像描边尺寸 - 小
|
|
40
40
|
$spacing-avatar_small-marginLeft: -12px; // 头像左侧外边距 - 小
|
|
41
41
|
|
|
42
|
-
$width-avatar_extra_small-border: 1px; //
|
|
42
|
+
$width-avatar_extra_small-border: 1px; // 头像组头像描边尺寸 - 超小
|
|
43
43
|
$spacing-avatar_extra_small-marginLeft: -10px; // 头像左侧外边距 - 超小
|
|
44
44
|
|
|
45
|
-
$width-avatar_extra_extra_small-border: 1px; //
|
|
45
|
+
$width-avatar_extra_extra_small-border: 1px; // 头像组头像描边尺寸 - 极小
|
|
46
46
|
$spacing-avatar_extra_extra_small-marginLeft: -4px; // 头像左侧外边距 - 极小
|
|
47
|
-
|
|
48
47
|
$width-avatar-outline: 2px; //头像聚焦轮廓宽度
|
|
49
48
|
|
|
49
|
+
$width-avatar_additional-border: 1.5px; // 额外描边尺寸
|
|
50
|
+
$color-avatar_additional-border: var(--semi-color-primary); // 额外描边颜色
|
|
51
|
+
$spacing-avatar_additional-borderGap: 2px; // 额外描边与内侧间距
|
|
52
|
+
|
|
53
|
+
$width-avatar-bottom_slot_circle_small: 12px; // small 头像底部 slot 圆形半径
|
|
54
|
+
$width-avatar-bottom_slot_circle_default: 16px; // default 头像底部 slot 圆形半径
|
|
55
|
+
$width-avatar-bottom_slot_circle_medium: 18px; // medium 头像底部 slot 圆形半径
|
|
56
|
+
$width-avatar-bottom_slot_circle_large: 28px; // large 头像底部 slot 圆形半径
|
|
57
|
+
$width-avatar-bottom_slot_circle_extra_large: 28px; // extra large 头像底部 slot 圆形半径
|
|
58
|
+
$color-avatar-bottom_slot_bg:var(--semi-color-primary); // 头像底部 slot 背景色
|
|
59
|
+
|
|
60
|
+
$radius-avatar-bottom_slot_square:4px; // 底部 slot square 圆角
|
|
61
|
+
$font-avatar_bottom_slot-small-fontSize: 5px; // small 底部 slot 文字大小
|
|
62
|
+
$font-avatar_bottom_slot-default-fontSize: 12px; // default 底部 slot 文字大小
|
|
63
|
+
$font-avatar_bottom_slot-medium-fontSize: 12px; // medium 底部 slot 文字大小
|
|
64
|
+
$font-avatar_bottom_slot-large-fontSize: 12px; // large 底部 slot 文字大小
|
|
65
|
+
$font-avatar_bottom_slot-extra_large-fontSize: 14px; // extra large 底部 slot 文字大小
|
|
66
|
+
$spacing-avatar-bottom_slot_square-paddingX:4px; // 底部 slot square 形状左边距
|
|
67
|
+
$spacing-avatar-bottom_slot_square-paddingY:1px; //底部 slot square 形状右边距
|
|
68
|
+
|
|
69
|
+
$font-avatar_top_slot-small-fontSize: 5px; // small 顶部 slot 文字大小
|
|
70
|
+
$font-avatar_top_slot-default-fontSize: 6px; // default 顶部 slot 文字大小
|
|
71
|
+
$font-avatar_top_slot-medium-fontSize: 8px; // medium 顶部 slot 文字大小
|
|
72
|
+
$font-avatar_top_slot-large-fontSize: 14px; // large 顶部 slot 文字大小
|
|
73
|
+
$font-avatar_top_slot-extra_large-fontSize: 16px; // extra large 顶部 slot 文字大小
|
|
74
|
+
|
|
75
|
+
$spacing-avatar-top_slot_small-content-marginTop: 0px; // small 顶部文字 marginTop
|
|
76
|
+
$spacing-avatar-top_slot_default-content-marginTop: -2px; // default 顶部文字 marginTop
|
|
77
|
+
$spacing-avatar-top_slot_medium-content-marginTop: 0px; // medium 顶部文字 marginTop
|
|
78
|
+
$spacing-avatar-top_slot_large-content-marginTop: 0px; // large 顶部文字 marginTop
|
|
79
|
+
$spacing-avatar-top_slot_extra_large-content-marginTop: 0px; // extra large 顶部文字 marginTop
|
|
80
|
+
|
|
81
|
+
$color-avatar-bottom_slot_square-border:var(--semi-color-bg-0); // 底部 square 边框颜色
|
|
82
|
+
$width-avatar-bottom_slot_square_small-border:2px; // small 头像底部 square 边框宽度
|
|
83
|
+
$width-avatar-bottom_slot_square_default-border:2px; // default 头像底部 square 边框宽度
|
|
84
|
+
$width-avatar-bottom_slot_square_medium-border:2px; // medium 头像底部 square 边框宽度
|
|
85
|
+
$width-avatar-bottom_slot_square_large-border:2px; // large 头像底部 square 边框宽度
|
|
86
|
+
$width-avatar-bottom_slot_square_extra_large-border:2px; // extra large 头像底部 square 边框宽度
|
|
87
|
+
|
|
88
|
+
$color-avatar-top_slot_text:var(--semi-color-bg-0); //顶部 Slot 文字颜色
|
|
89
|
+
$color-avatar-top_slot_gradient_start: var(--semi-color-primary); // 顶部 slot 渐变起始色
|
|
90
|
+
$color-avatar-top_slot_gradient_end: var(--semi-color-primary); // 顶部 slot 渐变结束色
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
$spacing-avatar-top_slot_small-shift: -28px; // small 顶部 slot 偏移量, 和 scale 一起控制 slot 的位置
|
|
94
|
+
$spacing-avatar-top_slot_default-shift: -32px; // default 顶部 slot 偏移量, 和 scale 一起控制 slot 的位置
|
|
95
|
+
$spacing-avatar-top_slot_medium-shift: -30px; // medium 顶部 slot 偏移量, 和 scale 一起控制 slot 的位置
|
|
96
|
+
$spacing-avatar-top_slot_large-shift: -30px; // large 顶部 slot 偏移量, 和 scale 一起控制 slot 的位置
|
|
97
|
+
$spacing-avatar-top_slot_extra_large-shift: -32px; // extra large 顶部 slot 偏移量, 和 scale 一起控制 slot 的位置
|
|
98
|
+
|
|
99
|
+
$spacing-avatar-top_slot_small-scale: 0.4; // small 顶部 slot 缩放比例
|
|
100
|
+
$spacing-avatar-top_slot_default-scale: 0.7; // default 顶部 slot 缩放比例
|
|
101
|
+
$spacing-avatar-top_slot_medium-scale: 0.8; // medium 顶部 slot 缩放比例
|
|
102
|
+
$spacing-avatar-top_slot_large-scale: 1.1; // large 顶部 slot 缩放比例
|
|
103
|
+
$spacing-avatar-top_slot_extra_large-scale: 1.4; // large 顶部 slot 缩放比例
|
|
104
|
+
|
|
105
|
+
|
|
50
106
|
// radius
|
|
51
107
|
$radius-avatar_extra_extra_small: 3px; // 极小尺寸头像的圆角
|
|
52
108
|
$radius-avatar_extra_small: 3px; // 超小尺寸头像的圆角
|
|
@@ -54,4 +110,4 @@ $radius-avatar_small: 3px; // 小尺寸头像的圆角
|
|
|
54
110
|
$radius-avatar_default: 3px; // 默认尺寸头像的圆角
|
|
55
111
|
$radius-avatar_medium: 3px; // 中尺寸头像的圆角
|
|
56
112
|
$radius-avatar_large: 6px; // 大尺寸头像的圆角
|
|
57
|
-
$radius-avatar_extra_large: 12px; // 超大尺寸头像的圆角
|
|
113
|
+
$radius-avatar_extra_large: 12px; // 超大尺寸头像的圆角
|
package/cascader/foundation.ts
CHANGED
|
@@ -15,8 +15,7 @@ import {
|
|
|
15
15
|
normalizedArr,
|
|
16
16
|
isValid,
|
|
17
17
|
calcMergeType,
|
|
18
|
-
getKeysByValuePath
|
|
19
|
-
getKeyByPos
|
|
18
|
+
getKeysByValuePath
|
|
20
19
|
} from './util';
|
|
21
20
|
import { strings } from './constants';
|
|
22
21
|
import isEnterPress from '../utils/isEnterPress';
|
|
@@ -57,8 +56,6 @@ export interface BasicEntity {
|
|
|
57
56
|
parentKey?: string;
|
|
58
57
|
/* key path */
|
|
59
58
|
path: Array<string>;
|
|
60
|
-
/* pos in treeData */
|
|
61
|
-
pos: string;
|
|
62
59
|
/* value path */
|
|
63
60
|
valuePath: Array<string>
|
|
64
61
|
}
|
|
@@ -1029,20 +1026,17 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
|
|
|
1029
1026
|
this._adapter.notifyListScroll(e, { panelIndex: ind, activeNode: data });
|
|
1030
1027
|
}
|
|
1031
1028
|
|
|
1032
|
-
|
|
1029
|
+
handleTagRemove(e: any, tagValuePath: string[]) {
|
|
1033
1030
|
const { keyEntities } = this.getStates();
|
|
1034
1031
|
const { disabled } = this.getProps();
|
|
1035
1032
|
if (disabled) {
|
|
1036
1033
|
/* istanbul ignore next */
|
|
1037
1034
|
return;
|
|
1038
1035
|
}
|
|
1039
|
-
const removedItem = keyEntities[
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
const { treeData } = this.getStates();
|
|
1045
|
-
const key = getKeyByPos(pos, treeData);
|
|
1046
|
-
this.handleTagRemoveByKey(key);
|
|
1036
|
+
const removedItem = (Object.values(keyEntities) as BasicEntity[])
|
|
1037
|
+
.filter(item => isEqual(item.valuePath, tagValuePath))[0];
|
|
1038
|
+
!isEmpty(removedItem) &&
|
|
1039
|
+
!removedItem.data.disabled &&
|
|
1040
|
+
this._handleMultipleSelect(removedItem);
|
|
1047
1041
|
}
|
|
1048
1042
|
}
|
package/cascader/util.ts
CHANGED
|
@@ -31,12 +31,10 @@ function traverseDataNodes(treeNodes: any, callback: any) {
|
|
|
31
31
|
// Process node if is not root
|
|
32
32
|
if (node) {
|
|
33
33
|
const key = parent ? `${parent.key}${VALUE_SPLIT}${node.value}` : node.value;
|
|
34
|
-
const pos = parent ? getPosition(parent.pos, ind) : `${ind}`;
|
|
35
34
|
item = {
|
|
36
35
|
data: { ...node },
|
|
37
36
|
ind,
|
|
38
37
|
key,
|
|
39
|
-
pos,
|
|
40
38
|
level: parent ? parent.level + 1 : 0,
|
|
41
39
|
parentKey: parent ? parent.key : null,
|
|
42
40
|
path: parent ? [...parent.path, key] : [key],
|
|
@@ -76,17 +74,6 @@ export function getValuePathByKey(key: string) {
|
|
|
76
74
|
return key.split(VALUE_SPLIT);
|
|
77
75
|
}
|
|
78
76
|
|
|
79
|
-
export function getKeyByPos(pos: string, treeData: any) {
|
|
80
|
-
const posArr = pos.split('-').map(item => Number(item));
|
|
81
|
-
let resultData = treeData;
|
|
82
|
-
let valuePath = [];
|
|
83
|
-
posArr.forEach((item, index) => {
|
|
84
|
-
resultData = index === 0 ? resultData[item] : resultData?.children?.[item];
|
|
85
|
-
valuePath.push(resultData?.value);
|
|
86
|
-
});
|
|
87
|
-
return getKeyByValuePath(valuePath);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
77
|
export function convertDataToEntities(dataNodes: any) {
|
|
91
78
|
const keyEntities: any = {};
|
|
92
79
|
|
package/datePicker/foundation.ts
CHANGED
|
@@ -18,7 +18,6 @@ import type { Type, DateInputFoundationProps, InsetInputValue } from './inputFou
|
|
|
18
18
|
import type { MonthsGridFoundationProps } from './monthsGridFoundation';
|
|
19
19
|
import type { WeekStartNumber } from './_utils/getMonthTable';
|
|
20
20
|
import isValidTimeZone from './_utils/isValidTimeZone';
|
|
21
|
-
import warning from '../utils/warning';
|
|
22
21
|
|
|
23
22
|
export type ValidateStatus = ArrayElement<typeof strings.STATUS>;
|
|
24
23
|
export type InputSize = ArrayElement<typeof strings.SIZE_SET>;
|
|
@@ -46,9 +45,10 @@ export type DisabledDateOptions = {
|
|
|
46
45
|
*/
|
|
47
46
|
rangeInputFocus?: 'rangeStart' | 'rangeEnd' | false
|
|
48
47
|
};
|
|
48
|
+
|
|
49
49
|
export type PresetType = {
|
|
50
|
-
start?:
|
|
51
|
-
end?:
|
|
50
|
+
start?: BaseValueType | (() => BaseValueType);
|
|
51
|
+
end?: BaseValueType | (() => BaseValueType);
|
|
52
52
|
text?: string
|
|
53
53
|
};
|
|
54
54
|
|
|
@@ -292,8 +292,6 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
292
292
|
parsedV = zonedTimeToUtc(parsedV, prevTimeZone);
|
|
293
293
|
}
|
|
294
294
|
result.push(isValidTimeZone(timeZone) ? utcToZonedTime(parsedV, timeZone) : parsedV);
|
|
295
|
-
} else {
|
|
296
|
-
warning(true, `[Semi DatePicker] value cannot be parsed, value: ${String(v)}`);
|
|
297
295
|
}
|
|
298
296
|
}
|
|
299
297
|
}
|
|
@@ -1068,18 +1066,20 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
1068
1066
|
handlePresetClick(item: PresetType, e: any) {
|
|
1069
1067
|
const { type, timeZone } = this.getProps();
|
|
1070
1068
|
const prevTimeZone = this.getState('prevTimezone');
|
|
1069
|
+
const start = typeof item.start === 'function' ? item.start() : item.start;
|
|
1070
|
+
const end = typeof item.end === 'function' ? item.end() : item.end;
|
|
1071
1071
|
|
|
1072
1072
|
let value;
|
|
1073
1073
|
switch (type) {
|
|
1074
1074
|
case 'month':
|
|
1075
1075
|
case 'dateTime':
|
|
1076
1076
|
case 'date':
|
|
1077
|
-
value = this.parseWithTimezone([
|
|
1077
|
+
value = this.parseWithTimezone([start], timeZone, prevTimeZone);
|
|
1078
1078
|
this.handleSelectedChange(value);
|
|
1079
1079
|
break;
|
|
1080
1080
|
case 'dateTimeRange':
|
|
1081
1081
|
case 'dateRange':
|
|
1082
|
-
value = this.parseWithTimezone([
|
|
1082
|
+
value = this.parseWithTimezone([start, end], timeZone, prevTimeZone);
|
|
1083
1083
|
this.handleSelectedChange(value, { needCheckFocusRecord: false });
|
|
1084
1084
|
break;
|
|
1085
1085
|
default:
|
package/input/input.scss
CHANGED
|
@@ -85,7 +85,7 @@ $module: #{$prefix}-input;
|
|
|
85
85
|
border: $color-input_default-border-focus solid $width-input_wrapper_focus-border;
|
|
86
86
|
|
|
87
87
|
&:hover {
|
|
88
|
-
background-color: $color-input_default-bg-focus;
|
|
88
|
+
background-color: $color-input_default-bg-focus-hover;
|
|
89
89
|
border-color: $color-input_default-border-focus;
|
|
90
90
|
}
|
|
91
91
|
|
|
@@ -690,7 +690,18 @@ $module: #{$prefix}-input;
|
|
|
690
690
|
}
|
|
691
691
|
}
|
|
692
692
|
|
|
693
|
+
.#{$module}-only_border{
|
|
694
|
+
background: transparent;
|
|
695
|
+
&:hover{
|
|
696
|
+
background: transparent;
|
|
697
|
+
border-color: $color_input-default-border-only_border-hover;
|
|
698
|
+
}
|
|
699
|
+
&:focus-within{
|
|
700
|
+
background: transparent;
|
|
701
|
+
}
|
|
702
|
+
border-color: $color_input-default-border-only_border-default;
|
|
693
703
|
|
|
704
|
+
}
|
|
694
705
|
|
|
695
706
|
.#{$module}-borderless{
|
|
696
707
|
|
|
@@ -713,8 +724,6 @@ $module: #{$prefix}-input;
|
|
|
713
724
|
}
|
|
714
725
|
|
|
715
726
|
|
|
716
|
-
|
|
717
|
-
|
|
718
727
|
}
|
|
719
728
|
|
|
720
729
|
@import "./rtl.scss";
|
package/input/variables.scss
CHANGED
|
@@ -13,6 +13,8 @@ $color-input_default-bg-focus: var(--semi-color-fill-0); // 输入框背景颜
|
|
|
13
13
|
$color-input_default-border-focus: var(--semi-color-focus-border); // 输入框描边颜色 - 选中
|
|
14
14
|
$color-input_icon-outline: var(--semi-color-primary-light-active); // 输入框 icon outline 颜色
|
|
15
15
|
|
|
16
|
+
$color-input_default-bg-focus-hover: $color-input_default-bg-focus; // 输入框背景颜色 - 选中悬浮
|
|
17
|
+
|
|
16
18
|
// error
|
|
17
19
|
$color-input_danger-bg-default: var(--semi-color-danger-light-default); // 错误输入框背景颜色 - 默认
|
|
18
20
|
$color-input_danger-border-default: var(--semi-color-danger-light-default); // 错误输入框描边颜色 - 默认
|
|
@@ -57,6 +59,9 @@ $color-input_counter_danger-text-default: var(--semi-color-danger); // 多行文
|
|
|
57
59
|
|
|
58
60
|
$color-input_group-border-default: var(--semi-color-border); // 输入框组合分割线颜色
|
|
59
61
|
|
|
62
|
+
$color_input-default-border-only_border-default: var(--semi-color-border); // 只有描边的输入框描边颜色 - 默认
|
|
63
|
+
$color_input-default-border-only_border-hover: var(--semi-color-border); // 只有描边的输入框描边颜色 - 默认
|
|
64
|
+
|
|
60
65
|
$height-input_large: $height-control-large - 2px; // 输入框高度 & 行高 - 大尺寸
|
|
61
66
|
$height-input_small: $height-control-small - 2px; // 输入框高度 & 行高 - 小尺寸
|
|
62
67
|
$height-input_default: $height-control-default - 2px; // 输入框高度 & 行高 - 默认尺寸
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
$animation_duration-additionalBorder: 800ms; // 边框动画持续时间
|
|
2
|
+
$animation_duration-content: 1000ms; // 内容动画持续时间
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
$animation_opacity-additionalBorder-start: 1; // 边框动画起始透明度
|
|
6
|
+
$animation_opacity-additionalBorder-end: 0; // 边框动画结束透明度
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
$animation_width-additionalBorder-end:0; // 边框动画结束宽度
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
$animation_scale-additionalBorder-start: 1; // 边框动画起始缩放比例
|
|
13
|
+
$animation_scale-additionalBorder-end: 1.15; // 边框动画结束缩放比例
|
|
14
|
+
|
|
15
|
+
$animation_scale-content-start: 1; // 边框动画起始缩放比例
|
|
16
|
+
$animation_scale-content-middle: 0.9; // 边框动画中间态缩放比例
|
|
17
|
+
$animation_scale-content-end: 1; // 边框动画结束缩放比例
|
|
18
|
+
|
|
19
|
+
|