@douyinfe/semi-foundation 2.51.4 → 2.52.0-beta.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 (70) hide show
  1. package/avatar/animation.scss +19 -0
  2. package/avatar/avatar.scss +313 -0
  3. package/avatar/variables.scss +66 -10
  4. package/cascader/foundation.ts +7 -13
  5. package/cascader/util.ts +0 -13
  6. package/datePicker/foundation.ts +7 -7
  7. package/input/input.scss +12 -3
  8. package/input/variables.scss +5 -0
  9. package/lib/cjs/avatar/animation.scss +19 -0
  10. package/lib/cjs/avatar/avatar.css +261 -0
  11. package/lib/cjs/avatar/avatar.scss +313 -0
  12. package/lib/cjs/avatar/variables.scss +66 -10
  13. package/lib/cjs/cascader/foundation.d.ts +11 -4
  14. package/lib/cjs/cascader/foundation.js +14 -22
  15. package/lib/cjs/cascader/util.d.ts +0 -1
  16. package/lib/cjs/cascader/util.js +0 -14
  17. package/lib/cjs/datePicker/foundation.d.ts +2 -2
  18. package/lib/cjs/datePicker/foundation.js +4 -5
  19. package/lib/cjs/input/input.css +12 -0
  20. package/lib/cjs/input/input.scss +12 -3
  21. package/lib/cjs/input/variables.scss +5 -0
  22. package/lib/cjs/modal/modal.css +3 -0
  23. package/lib/cjs/modal/modal.scss +5 -1
  24. package/lib/cjs/modal/modalFoundation.d.ts +1 -0
  25. package/lib/cjs/modal/variables.scss +4 -0
  26. package/lib/cjs/slider/constants.d.ts +1 -0
  27. package/lib/cjs/slider/constants.js +2 -1
  28. package/lib/cjs/slider/foundation.d.ts +7 -0
  29. package/lib/cjs/slider/slider.css +9 -0
  30. package/lib/cjs/slider/slider.scss +10 -0
  31. package/lib/cjs/slider/variables.scss +2 -0
  32. package/lib/cjs/tooltip/foundation.js +0 -11
  33. package/lib/cjs/treeSelect/foundation.d.ts +1 -0
  34. package/lib/cjs/treeSelect/foundation.js +1 -0
  35. package/lib/es/avatar/animation.scss +19 -0
  36. package/lib/es/avatar/avatar.css +261 -0
  37. package/lib/es/avatar/avatar.scss +313 -0
  38. package/lib/es/avatar/variables.scss +66 -10
  39. package/lib/es/cascader/foundation.d.ts +11 -4
  40. package/lib/es/cascader/foundation.js +15 -23
  41. package/lib/es/cascader/util.d.ts +0 -1
  42. package/lib/es/cascader/util.js +0 -13
  43. package/lib/es/datePicker/foundation.d.ts +2 -2
  44. package/lib/es/datePicker/foundation.js +4 -5
  45. package/lib/es/input/input.css +12 -0
  46. package/lib/es/input/input.scss +12 -3
  47. package/lib/es/input/variables.scss +5 -0
  48. package/lib/es/modal/modal.css +3 -0
  49. package/lib/es/modal/modal.scss +5 -1
  50. package/lib/es/modal/modalFoundation.d.ts +1 -0
  51. package/lib/es/modal/variables.scss +4 -0
  52. package/lib/es/slider/constants.d.ts +1 -0
  53. package/lib/es/slider/constants.js +2 -1
  54. package/lib/es/slider/foundation.d.ts +7 -0
  55. package/lib/es/slider/slider.css +9 -0
  56. package/lib/es/slider/slider.scss +10 -0
  57. package/lib/es/slider/variables.scss +2 -0
  58. package/lib/es/tooltip/foundation.js +0 -11
  59. package/lib/es/treeSelect/foundation.d.ts +1 -0
  60. package/lib/es/treeSelect/foundation.js +1 -0
  61. package/modal/modal.scss +5 -1
  62. package/modal/modalFoundation.ts +2 -1
  63. package/modal/variables.scss +4 -0
  64. package/package.json +3 -3
  65. package/slider/constants.ts +1 -0
  66. package/slider/foundation.ts +8 -1
  67. package/slider/slider.scss +10 -0
  68. package/slider/variables.scss +2 -0
  69. package/tooltip/foundation.ts +2 -12
  70. 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
+
@@ -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';
@@ -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; // 超大尺寸头像的圆角
@@ -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
- handleTagRemoveByKey = (key: string) => {
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[key] ?? {};
1040
- !removedItem?.data?.disable && this._handleMultipleSelect(removedItem);
1041
- }
1042
-
1043
- handleTagRemoveInTrigger = (pos: string) => {
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
 
@@ -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?: string | Date | number;
51
- end?: string | Date | number;
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([item.start], timeZone, prevTimeZone);
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([item.start, item.end], timeZone, prevTimeZone);
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";
@@ -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
+