@douyinfe/semi-foundation 2.3.1 → 2.5.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.
Files changed (143) hide show
  1. package/button/button.scss +6 -0
  2. package/button/variables.scss +9 -1
  3. package/cascader/cascader.scss +1 -0
  4. package/cascader/variables.scss +4 -2
  5. package/input/textarea.scss +15 -8
  6. package/input/variables.scss +1 -0
  7. package/inputNumber/constants.ts +1 -0
  8. package/inputNumber/foundation.ts +15 -1
  9. package/lib/cjs/autoComplete/autoComplete.css +1 -0
  10. package/lib/cjs/autoComplete/constants.d.ts +1 -1
  11. package/lib/cjs/button/button.css +6 -0
  12. package/lib/cjs/button/button.scss +6 -0
  13. package/lib/cjs/button/variables.scss +9 -1
  14. package/lib/cjs/cascader/cascader.css +1 -0
  15. package/lib/cjs/cascader/cascader.scss +1 -0
  16. package/lib/cjs/cascader/variables.scss +4 -2
  17. package/lib/cjs/dropdown/constants.d.ts +1 -1
  18. package/lib/cjs/input/textarea.css +15 -9
  19. package/lib/cjs/input/textarea.scss +15 -8
  20. package/lib/cjs/input/variables.scss +1 -0
  21. package/lib/cjs/inputNumber/constants.d.ts +1 -0
  22. package/lib/cjs/inputNumber/constants.js +2 -1
  23. package/lib/cjs/inputNumber/foundation.d.ts +5 -0
  24. package/lib/cjs/inputNumber/foundation.js +19 -0
  25. package/lib/cjs/modal/modal.css +2 -0
  26. package/lib/cjs/modal/modal.scss +2 -0
  27. package/lib/cjs/modal/variables.scss +7 -4
  28. package/lib/cjs/scrollList/scrollList.css +1 -0
  29. package/lib/cjs/scrollList/scrollList.scss +1 -0
  30. package/lib/cjs/scrollList/variables.scss +13 -12
  31. package/lib/cjs/select/constants.d.ts +1 -1
  32. package/lib/cjs/select/option.css +1 -0
  33. package/lib/cjs/select/option.scss +1 -0
  34. package/lib/cjs/select/optionFoundation.d.ts +1 -1
  35. package/lib/cjs/select/optionFoundation.js +3 -3
  36. package/lib/cjs/select/select.css +4 -0
  37. package/lib/cjs/select/select.scss +4 -2
  38. package/lib/cjs/select/variables.scss +11 -1
  39. package/lib/cjs/slider/foundation.js +2 -2
  40. package/lib/cjs/table/foundation.d.ts +2 -0
  41. package/lib/cjs/table/foundation.js +16 -4
  42. package/lib/cjs/table/table.css +3 -0
  43. package/lib/cjs/table/table.scss +4 -0
  44. package/lib/cjs/table/variables.scss +2 -2
  45. package/lib/cjs/tagInput/tagInput.css +1 -0
  46. package/lib/cjs/tagInput/tagInput.scss +3 -2
  47. package/lib/cjs/tagInput/variables.scss +8 -2
  48. package/lib/cjs/timePicker/foundation.d.ts +2 -1
  49. package/lib/cjs/timePicker/foundation.js +7 -1
  50. package/lib/cjs/tooltip/constants.d.ts +1 -1
  51. package/lib/cjs/tooltip/constants.js +1 -1
  52. package/lib/cjs/tooltip/foundation.js +65 -4
  53. package/lib/cjs/tree/foundation.d.ts +4 -1
  54. package/lib/cjs/tree/foundation.js +69 -20
  55. package/lib/cjs/tree/treeUtil.d.ts +1 -1
  56. package/lib/cjs/treeSelect/foundation.d.ts +3 -3
  57. package/lib/cjs/treeSelect/foundation.js +103 -35
  58. package/lib/cjs/treeSelect/treeSelect.css +1 -0
  59. package/lib/cjs/treeSelect/treeSelect.scss +2 -1
  60. package/lib/cjs/treeSelect/variables.scss +3 -1
  61. package/lib/cjs/upload/upload.css +49 -27
  62. package/lib/cjs/upload/upload.scss +66 -41
  63. package/lib/cjs/upload/variables.scss +3 -1
  64. package/lib/es/autoComplete/autoComplete.css +1 -0
  65. package/lib/es/autoComplete/constants.d.ts +1 -1
  66. package/lib/es/button/button.css +6 -0
  67. package/lib/es/button/button.scss +6 -0
  68. package/lib/es/button/variables.scss +9 -1
  69. package/lib/es/cascader/cascader.css +1 -0
  70. package/lib/es/cascader/cascader.scss +1 -0
  71. package/lib/es/cascader/variables.scss +4 -2
  72. package/lib/es/dropdown/constants.d.ts +1 -1
  73. package/lib/es/input/textarea.css +15 -9
  74. package/lib/es/input/textarea.scss +15 -8
  75. package/lib/es/input/variables.scss +1 -0
  76. package/lib/es/inputNumber/constants.d.ts +1 -0
  77. package/lib/es/inputNumber/constants.js +2 -1
  78. package/lib/es/inputNumber/foundation.d.ts +5 -0
  79. package/lib/es/inputNumber/foundation.js +18 -0
  80. package/lib/es/modal/modal.css +2 -0
  81. package/lib/es/modal/modal.scss +2 -0
  82. package/lib/es/modal/variables.scss +7 -4
  83. package/lib/es/scrollList/scrollList.css +1 -0
  84. package/lib/es/scrollList/scrollList.scss +1 -0
  85. package/lib/es/scrollList/variables.scss +13 -12
  86. package/lib/es/select/constants.d.ts +1 -1
  87. package/lib/es/select/option.css +1 -0
  88. package/lib/es/select/option.scss +1 -0
  89. package/lib/es/select/optionFoundation.d.ts +1 -1
  90. package/lib/es/select/optionFoundation.js +3 -3
  91. package/lib/es/select/select.css +4 -0
  92. package/lib/es/select/select.scss +4 -2
  93. package/lib/es/select/variables.scss +11 -1
  94. package/lib/es/slider/foundation.js +2 -2
  95. package/lib/es/table/foundation.d.ts +2 -0
  96. package/lib/es/table/foundation.js +16 -4
  97. package/lib/es/table/table.css +3 -0
  98. package/lib/es/table/table.scss +4 -0
  99. package/lib/es/table/variables.scss +2 -2
  100. package/lib/es/tagInput/tagInput.css +1 -0
  101. package/lib/es/tagInput/tagInput.scss +3 -2
  102. package/lib/es/tagInput/variables.scss +8 -2
  103. package/lib/es/timePicker/foundation.d.ts +2 -1
  104. package/lib/es/timePicker/foundation.js +7 -1
  105. package/lib/es/tooltip/constants.d.ts +1 -1
  106. package/lib/es/tooltip/constants.js +1 -1
  107. package/lib/es/tooltip/foundation.js +65 -4
  108. package/lib/es/tree/foundation.d.ts +4 -1
  109. package/lib/es/tree/foundation.js +69 -20
  110. package/lib/es/tree/treeUtil.d.ts +1 -1
  111. package/lib/es/treeSelect/foundation.d.ts +3 -3
  112. package/lib/es/treeSelect/foundation.js +102 -35
  113. package/lib/es/treeSelect/treeSelect.css +1 -0
  114. package/lib/es/treeSelect/treeSelect.scss +2 -1
  115. package/lib/es/treeSelect/variables.scss +3 -1
  116. package/lib/es/upload/upload.css +49 -27
  117. package/lib/es/upload/upload.scss +66 -41
  118. package/lib/es/upload/variables.scss +3 -1
  119. package/modal/modal.scss +2 -0
  120. package/modal/variables.scss +7 -4
  121. package/package.json +3 -3
  122. package/scrollList/scrollList.scss +1 -0
  123. package/scrollList/variables.scss +13 -12
  124. package/select/option.scss +1 -0
  125. package/select/optionFoundation.ts +3 -3
  126. package/select/select.scss +4 -2
  127. package/select/variables.scss +11 -1
  128. package/slider/foundation.ts +2 -2
  129. package/table/foundation.ts +23 -10
  130. package/table/table.scss +4 -0
  131. package/table/variables.scss +2 -2
  132. package/tagInput/tagInput.scss +3 -2
  133. package/tagInput/variables.scss +8 -2
  134. package/timePicker/foundation.ts +8 -3
  135. package/tooltip/constants.ts +2 -0
  136. package/tooltip/foundation.ts +52 -4
  137. package/tree/foundation.ts +56 -17
  138. package/tree/treeUtil.ts +1 -1
  139. package/treeSelect/foundation.ts +89 -41
  140. package/treeSelect/treeSelect.scss +2 -1
  141. package/treeSelect/variables.scss +3 -1
  142. package/upload/upload.scss +66 -41
  143. package/upload/variables.scss +3 -1
@@ -1,4 +1,4 @@
1
- @import "./variables.scss";
1
+ @import './variables.scss';
2
2
 
3
3
  $module: #{$prefix}-upload;
4
4
 
@@ -47,7 +47,7 @@ $module: #{$prefix}-upload;
47
47
  align-items: center;
48
48
  }
49
49
 
50
- &[x-prompt-pos="right"] {
50
+ &[x-prompt-pos='right'] {
51
51
  .#{$module}-add {
52
52
  display: inline-flex;
53
53
  }
@@ -57,7 +57,7 @@ $module: #{$prefix}-upload;
57
57
  }
58
58
  }
59
59
 
60
- &[x-prompt-pos="bottom"] {
60
+ &[x-prompt-pos='bottom'] {
61
61
  .#{$module}-add {
62
62
  display: flex;
63
63
  }
@@ -72,15 +72,14 @@ $module: #{$prefix}-upload;
72
72
  }
73
73
  }
74
74
 
75
- &[x-prompt-pos="left"] {
75
+ &[x-prompt-pos='left'] {
76
76
  .#{$module}-add {
77
77
  display: inline-flex;
78
- order: 2;
79
78
  }
80
79
 
81
80
  .#{$module}-prompt {
82
81
  display: inline-flex;
83
- order: 1;
82
+ order: -1;
84
83
  }
85
84
 
86
85
  .#{$module}-file-list {
@@ -247,7 +246,6 @@ $module: #{$prefix}-upload;
247
246
  }
248
247
 
249
248
  &-icon {
250
-
251
249
  &-loading,
252
250
  &-error {
253
251
  font-size: $width-upload_file_card-icon;
@@ -275,7 +273,6 @@ $module: #{$prefix}-upload;
275
273
  }
276
274
 
277
275
  .#{$module}-file-card {
278
-
279
276
  &-info-validate-message {
280
277
  color: $color-upload_file_card_fail_info-text;
281
278
  }
@@ -288,26 +285,18 @@ $module: #{$prefix}-upload;
288
285
  &-picture {
289
286
  display: flex;
290
287
 
291
- &[x-prompt-pos="bottom"] {
288
+ &[x-prompt-pos='bottom'] {
292
289
  flex-direction: column;
293
290
 
294
291
  .#{$module}-prompt {
295
292
  order: 1;
296
293
  }
297
-
298
- .#{$module}-add {
299
- order: 0;
300
- }
301
294
  }
302
295
 
303
- &[x-prompt-pos="right"] {
296
+ &[x-prompt-pos='right'] {
304
297
  .#{$module}-prompt {
305
298
  order: 1;
306
299
  }
307
-
308
- .#{$module}-add {
309
- order: 0;
310
- }
311
300
  }
312
301
 
313
302
  &-add {
@@ -321,7 +310,6 @@ $module: #{$prefix}-upload;
321
310
  border: $width-upload_picture_add-border dashed $color-upload-border;
322
311
  color: $color-upload-icon;
323
312
  border-radius: $radius-upload_picture_add;
324
- order: 2;
325
313
  cursor: pointer;
326
314
 
327
315
  &:hover {
@@ -370,38 +358,32 @@ $module: #{$prefix}-upload;
370
358
  }
371
359
 
372
360
  &-close {
373
- width: $width-upload_picture_file_card_close;
374
- height: $width-upload_picture_file_card_close;
375
- background-color: $color-upload_pic_remove-bg;
361
+ visibility: hidden;
362
+ display: inline-flex;
376
363
  position: absolute;
377
364
  top: $spacing-upload_picture_file_card_close-top;
378
365
  right: $spacing-upload_picture_file_card_close-right;
379
- @include all-center;
380
- display: none;
381
366
  border-radius: $radius-upload_picture_file_card_close;
382
- color: white;
383
367
  cursor: pointer;
384
368
  transition: all 0s;
385
369
  }
386
-
387
- &:hover {
388
- .#{$module}-picture-file-card-close {
389
- display: flex;
390
- }
391
-
392
- .#{$module}-picture-file-card-replace {
393
- visibility: visible;
394
- }
370
+ &-icon-close {
371
+ font-size: $width-upload_picture_file_card_close;
372
+ color: $color-upload_picture_file_card_close-icon;
395
373
  }
396
374
 
397
- .#{$prefix}-progress-circle {
375
+ &::before {
376
+ visibility: hidden;
377
+ background-color: $color-upload_picture_file_card_hover-bg;
378
+ content: '';
398
379
  position: absolute;
399
- top: 50%;
400
- left: 50%;
401
- transform: translate(-50%, -50%);
380
+ left: 0;
381
+ right: 0;
382
+ top: 0;
383
+ bottom: 0;
402
384
  }
403
-
404
385
  &-retry {
386
+ visibility: hidden;
405
387
  background-color: $color-upload_file_card_retry-bg;
406
388
  width: $width-upload_file_card_retry;
407
389
  height: $width-upload_file_card_retry;
@@ -416,7 +398,6 @@ $module: #{$prefix}-upload;
416
398
  justify-content: center;
417
399
  cursor: pointer;
418
400
  }
419
-
420
401
  &-icon-retry {
421
402
  transform: scale(-1, 1);
422
403
  font-size: $width-upload_file_card_retry-icon;
@@ -432,6 +413,17 @@ $module: #{$prefix}-upload;
432
413
  color: $color-upload_replace-text;
433
414
  transform: translate3D(-50%, -50%, 0);
434
415
  }
416
+
417
+ &-preview {
418
+ visibility: hidden;
419
+ display: inline-flex;
420
+ position: absolute;
421
+ cursor: pointer;
422
+ top: 50%;
423
+ left: 50%;
424
+ transform: translate3D(-50%, -50%, 0);
425
+ }
426
+
435
427
  &-pic-info {
436
428
  display: inline-flex;
437
429
  box-sizing: border-box;
@@ -468,6 +460,39 @@ $module: #{$prefix}-upload;
468
460
  &-error {
469
461
  outline: 1px solid $color-upload_picture_file_card_error-border;
470
462
  }
463
+
464
+ &:hover {
465
+ &::before {
466
+ visibility: visible;
467
+ }
468
+
469
+ .#{$module}-picture-file-card-close {
470
+ visibility: visible;
471
+ }
472
+ .#{$module}-picture-file-card-replace {
473
+ visibility: visible;
474
+ }
475
+
476
+ .#{$module}-picture-file-card-retry {
477
+ visibility: visible;
478
+ }
479
+ .#{$module}-picture-file-card-preview {
480
+ visibility: visible;
481
+ }
482
+ }
483
+
484
+ &-uploading {
485
+ &::before {
486
+ visibility: visible;
487
+ }
488
+ }
489
+
490
+ .#{$prefix}-progress-circle {
491
+ position: absolute;
492
+ top: 50%;
493
+ left: 50%;
494
+ transform: translate(-50%, -50%);
495
+ }
471
496
  }
472
497
  }
473
498
 
@@ -542,4 +567,4 @@ $module: #{$prefix}-upload;
542
567
  }
543
568
  }
544
569
 
545
- @import "./rtl.scss";
570
+ @import './rtl.scss';
@@ -16,7 +16,7 @@ $color-upload_drag_area_tips-text: var(--semi-color-primary); // 上传可拖拽
16
16
  $color-upload_file_card_fail_info-text: var(--semi-color-danger); // 上传文件卡片失败提示信息文本颜色
17
17
  $color-upload_file_card_preview_placeholder-bg: rgba(var(--semi-grey-3), 1); // 文件卡片默认预览背景颜色
18
18
  $color-upload_file_card_preview_placeholder-text: rgba(var(--semi-white), 1); // 文件卡片默认预览图颜色
19
- $color-upload_file_card_retry-bg: #fff; // 重新上传按钮背景颜色
19
+ $color-upload_file_card_retry-bg: var(--semi-color-white); // 重新上传按钮背景颜色
20
20
  $color-upload_file_card_retry-text: var(--semi-color-primary); // 重新上传按钮文本颜色
21
21
  $color-upload-icon: var(--semi-color-tertiary); // 图片墙上传图标加号颜色
22
22
  $color-upload_pic_add-bg-active: var(--semi-color-fill-2); // 图片墙上传背景色 - 按下
@@ -26,6 +26,8 @@ $color-upload_pic_remove-bg: var(--semi-color-overlay-bg); // 图片墙上传移
26
26
  $color-upload_picture_file_card_loading_error-icon: var(--semi-color-danger); // 图片墙上传移除图标颜色
27
27
  $color-upload_picture_file_card_error-border: var(--semi-color-danger); // 图片墙上传移除图标颜色
28
28
  $color-upload_picture_file_card_pic_info-text: var(--semi-color-white); // 图片墙图片信息(序号)文字颜色
29
+ $color-upload_picture_file_card_close-icon: var(--semi-color-white); // 图片墙关闭图标颜色
30
+ $color-upload_picture_file_card_hover-bg: var(--semi-color-overlay-bg); // 图片墙预览悬浮背景色
29
31
  $color-upload_preview-icon: var(--semi-color-text-2); // 上传文件卡片文本颜色
30
32
  $color-upload_retry-text: var(--semi-color-primary); // 上传文件卡片重新上传按钮文本颜色
31
33
  $color-upload_replace-text: var(--semi-color-white); // 上传文件卡片重新替换按钮文本颜色
package/modal/modal.scss CHANGED
@@ -84,6 +84,7 @@ $module: #{$prefix}-modal;
84
84
  padding: $spacing-modal_header-paddingY $spacing-modal_header-paddingX;
85
85
  font-size: $font-modal_header-fontSize;
86
86
  font-weight: $font-modal_header-fontWeight;
87
+ background-color: $color-modal_header-bg;
87
88
  color: $color-modal_main-text;
88
89
  border-bottom: $width-modal_header-border solid $color-modal_header-border;
89
90
  }
@@ -112,6 +113,7 @@ $module: #{$prefix}-modal;
112
113
  text-align: right;
113
114
  border-radius: $radius-modal_footer;
114
115
  border-top: $width-modal_footer-border solid $color-modal_footer-border;
116
+ background-color: $color-modal_footer-bg;
115
117
 
116
118
  .#{$prefix}-button {
117
119
  margin-left: $spacing-modal_footer_button-marginLeft;
@@ -8,6 +8,8 @@ $color-modal_success-icon: var(--semi-color-success); // 模态框成功图标
8
8
  $color-modal_danger-icon: var(--semi-color-danger); // 模态框危险图标颜色
9
9
  $color-modal_warning-icon: var(--semi-color-warning); // 模态框警告图标颜色
10
10
  $color-modal_content-border: var(--semi-color-border); // 模态框描边颜色
11
+ $color-modal_header-bg: transparent; // 模态框 header 背景填充色
12
+ $color-modal_footer-bg: transparent; // 模态框 footer 背景填充色
11
13
 
12
14
  // Spacing
13
15
  $spacing-modal-marginY: 80px; // 模态框距容器顶部外边距
@@ -62,8 +64,9 @@ $font-modal_header-fontSize: $font-size-regular; // 模态框 title 字号
62
64
  $font-modal_header-fontWeight: $font-weight-bold; // 模态框 title 字重
63
65
 
64
66
  //border
65
- $color-modal_header-border:transparent;
66
- $width-modal_header-border:0;
67
- $color-modal_footer-border:transparent;
68
- $width-modal_footer-border:0;
67
+ $color-modal_header-border:transparent; // 模态框 header 底部描边颜色
68
+ $width-modal_header-border:0; // 模态框 header 底部描边宽度
69
+ $color-modal_footer-border:transparent; // 模态框 footer 顶部描边颜色
70
+ $width-modal_footer-border:0; // 模态框 footer 顶部描边宽度
71
+
69
72
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@douyinfe/semi-foundation",
3
- "version": "2.3.1",
3
+ "version": "2.5.0-beta.0",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build:lib": "node ./scripts/compileLib.js",
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@babel/runtime-corejs3": "^7.15.4",
11
- "@douyinfe/semi-animation": "2.3.1",
11
+ "@douyinfe/semi-animation": "2.5.0-beta.0",
12
12
  "async-validator": "^3.5.0",
13
13
  "classnames": "^2.2.6",
14
14
  "date-fns": "^2.9.0",
@@ -24,7 +24,7 @@
24
24
  "*.scss",
25
25
  "*.css"
26
26
  ],
27
- "gitHead": "c77d5f7c20ea94158c0c79458879c7d884d99c21",
27
+ "gitHead": "d71dddacba0c96004c19103f2e0d3cb59ac52857",
28
28
  "devDependencies": {
29
29
  "@babel/plugin-proposal-decorators": "^7.15.8",
30
30
  "@babel/plugin-transform-runtime": "^7.15.8",
@@ -24,6 +24,7 @@ $module: #{$prefix}-scrolllist;
24
24
  &-title {
25
25
  padding: $spacing-scrollList_header_title-paddingY $spacing-scrollList_header_title-paddingX;
26
26
  font-weight: $font-scrollList_header_title-fontWeight;
27
+ color: $color-scrollList_header-title;
27
28
 
28
29
  @include font-size-regular;
29
30
  }
@@ -1,18 +1,19 @@
1
1
  // Color
2
- $color-scrollList-bg: var(--semi-color-bg-3);
3
- $color-scrollList-border: var(--semi-color-border);
4
- $color-scrollList_item-bg: transparent;
5
- $color-scrollList_item-text: var(--semi-color-text-0);
6
- $color-scrollList_disabled_item-text: var(--semi-color-disabled-text);
7
- $color-scrollList_item-text-hover: var(--semi-color-fill-1);
8
- $color-scrollList_item-bg-active: var(--semi-color-fill-2);
9
- $color-scrollList_selected_item-bg: var(--semi-color-primary-light-default);
10
- $color-scrollList_selected_item-text: var(--semi-color-text-0);
11
- $color-scrollList_selected_item-icon: var(--semi-color-text-2);
12
- $color-scrollList_footer-border: var(--semi-color-border);
2
+ $color-scrollList-bg: var(--semi-color-bg-3); // 滚动列表背景色
3
+ $color-scrollList-border: var(--semi-color-border); // 滚动列表描边颜色
4
+ $color-scrollList_header-title: var(--semi-color-text-0); // 滚动列表标题颜色
5
+ $color-scrollList_item-bg: transparent; // 滚动列表选项背景色
6
+ $color-scrollList_item-text: var(--semi-color-text-0); // 滚动列表选项文字颜色
7
+ $color-scrollList_disabled_item-text: var(--semi-color-disabled-text); // 滚动列表选项背景色 - 禁用
8
+ $color-scrollList_item-text-hover: var(--semi-color-fill-1); // 滚动列表选项文字颜色 - 悬浮
9
+ $color-scrollList_item-bg-active: var(--semi-color-fill-2); // 滚动列表选项文字颜色 - 选中
10
+ $color-scrollList_selected_item-bg: var(--semi-color-primary-light-default); // 滚动列表选中选项背景颜色
11
+ $color-scrollList_selected_item-text: var(--semi-color-text-0); // 滚动列表选中选项文字颜色
12
+ $color-scrollList_selected_item-icon: var(--semi-color-text-2); // 滚动列表选中选项图标颜色
13
+ $color-scrollList_footer-border: var(--semi-color-border); // 滚动列表底部描边颜色
13
14
 
14
15
  // Width/Height
15
- $height-scrollList: 300px;
16
+ $height-scrollList: 300px;
16
17
  $height-scrollList_item: 36px;
17
18
  $width-scrollList_item-border: $border-thickness-control;
18
19
  $width-scrollList_item_sel_svg: 16px;
@@ -13,6 +13,7 @@ $multiple: #{$module}-multiple;
13
13
  padding-top: $spacing-select_option-paddingTop;
14
14
  padding-bottom: $spacing-select_option-paddingBottom;
15
15
  color: $color-select_option_main-text;
16
+ border-radius: $radius-select_option;
16
17
  position: relative;
17
18
  display: flex;
18
19
  flex-wrap: nowrap;
@@ -29,13 +29,13 @@ export default class OptionFoundation extends BaseFoundation<OptionDefaultAdapte
29
29
  destroy() {}
30
30
 
31
31
  onOptionClick(option: BasicOptionProps) {
32
- const isDisbled = this.isDisbled_();
33
- if (!isDisbled) {
32
+ const isDisabled = this._isDisabled();
33
+ if (!isDisabled) {
34
34
  this._adapter.notifyClick(option);
35
35
  }
36
36
  }
37
37
 
38
- isDisbled_() {
38
+ _isDisabled() {
39
39
  return this.getProp('disabled');
40
40
  }
41
41
  }
@@ -24,14 +24,16 @@ $multiple: #{$module}-multiple;
24
24
 
25
25
  &:hover {
26
26
  background-color: $color-select-bg-hover;
27
+ border: $width-select-border-hover solid $color-select-border-hover;
27
28
  }
28
29
 
29
30
  &:active {
30
31
  background-color: $color-select-bg-active;
32
+ border: $width-select-border-active solid $color-select-border-active;
31
33
  }
32
34
 
33
35
  &:focus {
34
- border: $border-thickness-control-focus solid $color-select_default-border-focus;
36
+ border: $width-select-border-focus solid $color-select-border-focus;
35
37
  outline: 0;
36
38
  }
37
39
 
@@ -383,7 +385,7 @@ $multiple: #{$module}-multiple;
383
385
  .#{$module}-option-list {
384
386
  overflow-x: hidden;
385
387
  overflow-y: auto;
386
-
388
+ padding: $spacing-select_option_list-paddingTop $spacing-select_option_list-paddingRight $spacing-select_option_list-paddingBottom $spacing-select_option_list-paddingLeft;
387
389
  &-chosen {
388
390
  .#{$module}-option-icon {
389
391
  display: flex;
@@ -3,6 +3,9 @@ $color-select-bg-default: var(--semi-color-fill-0); // 选择器输入框背景
3
3
  $color-select-bg-hover: var(--semi-color-fill-1); // 选择器输入框背景色 - 悬停态
4
4
  $color-select-bg-active: var(--semi-color-fill-2); // 选择器输入框背景色 - 按下态
5
5
  $color-select-border-default: transparent; // 选择器输入框描边颜色
6
+ $color-select-border-hover: $color-select-border-default; // 选择器输入框描边颜色 - 悬浮
7
+ $color-select-border-active: var(--semi-color-focus-border); // 选择器输入框描边颜色 - 按下态
8
+ $color-select-border-focus: $color-select-border-active;// 选择器输入框描边颜色 - 悬停态
6
9
  $color-select_warning-bg-default: var(--semi-color-warning-light-default); // 警示选择器输入框背景色 - 默认态
7
10
  $color-select_warning-border-default: var(--semi-color-warning-light-default); // 警示选择器输入框描边颜色 - 默认态
8
11
  $color-select_warning-bg-hover: var(--semi-color-warning-light-hover); // 警示选择器输入框背景色 - 悬停态
@@ -56,7 +59,9 @@ $width-select_arrow_empty: 12px; // 选择器输入框下拉箭头为空时(
56
59
  $width-select_clear-icon: 32px; // 选择器输入框清空按钮宽度
57
60
  $width-select_group_top-border: $border-thickness-control; // 选择器菜单分组标题描边宽度
58
61
  $height-select_multiple_content_wrapper-minHeight: $height-select_default - 2; // 多项选择器标签组最小宽度
59
-
62
+ $width-select-border-hover: $width-select-border; // 选择器输入框描边宽度 - 悬浮
63
+ $width-select-border-focus: $width-select-border-hover; // 选择器输入框描边宽度 - 按下
64
+ $width-select-border-active: $width-select-border-focus; // 选择器输入框描边宽度 - 选中
60
65
  // Spacing
61
66
  $spacing-select_option_tick-marginRight: $spacing-tight; // 选择器菜单选中对勾右侧外边距
62
67
  $spacing-select_prefix_suffix_text-marginX: $spacing-base-tight; // 选择器输入框前后缀文本水平内边距
@@ -86,9 +91,14 @@ $spacing-select_tag-marginRight: $spacing-extra-tight; // 多项选择器标签
86
91
  $spacing-select_tag-marginBottom: $spacing-super-tight - 1; // 多项选择器标签底部外边距
87
92
  $spacing-select_selection-marginLeft: $spacing-base-tight; // 选择器内容区左侧外边距
88
93
  $spacing-select_insetLabel-marginRight: $spacing-base-tight; // 选择器内嵌标签右侧外边距
94
+ $spacing-select_option_list-paddingTop: 0; // 选择器内容区顶部内边距
95
+ $spacing-select_option_list-paddingRight: 0; // 选择器内容区右侧内边距
96
+ $spacing-select_option_list-paddingBottom: 0; // 选择器内容区底部内边距
97
+ $spacing-select_option_list-paddingLeft: 0; // 选择器内容区左侧内边距
89
98
 
90
99
  // Radius
91
100
  $radius-select: var(--semi-border-radius-small); // 选择器输入框圆角
101
+ $radius-select_option: 0; // 选择器待选项圆角
92
102
 
93
103
  // Font
94
104
  $font-select-fontWeight: $font-weight-regular; // 选择器文本字重
@@ -240,7 +240,7 @@ export default class SliderFoundation extends BaseFoundation<SliderAdapter> {
240
240
  const scroll = (node: Element) => regex.test(style(node, 'overflow') + style(node, 'overflow-y') + style(node, 'overflow-x'));
241
241
 
242
242
  const scrollParent = (node: Element): Element => (
243
- !node || node === document.body ? document.body : scroll(node) ? node : scrollParent(node.parentNode as Element)
243
+ !node || (node === document.body || !(node instanceof Element)) ? document.body : scroll(node) ? node : scrollParent(node.parentNode as Element)
244
244
  );
245
245
 
246
246
  return scrollParent(el);
@@ -320,7 +320,7 @@ export default class SliderFoundation extends BaseFoundation<SliderAdapter> {
320
320
  } else {
321
321
  compareValue = currentValue;
322
322
  }
323
- if (step !== 1) { // Find nearest step point
323
+ if (step !== 1) { // Find nearest step point
324
324
  stepValue = Math.round(stepValue / step) * step;
325
325
  }
326
326
  if (range && stepValue !== compareValue) {
@@ -34,6 +34,7 @@ export interface BaseColumnProps<RecordType> {
34
34
  className?: string;
35
35
  colSpan?: number;
36
36
  dataIndex?: string;
37
+ defaultFilteredValue?: any[];
37
38
  defaultSortOrder?: BaseSortOrder;
38
39
  filterChildrenRecord?: boolean;
39
40
  filterDropdown?: any;
@@ -200,13 +201,23 @@ class TableFoundation<RecordType> extends BaseFoundation<TableAdapter<RecordType
200
201
  */
201
202
  getFilteredSortedDataSource(dataSource: RecordType[], queries: BaseColumnProps<RecordType>[]) {
202
203
  const filteredDataSource = this.filterDataSource(dataSource, queries.filter(
203
- query => (
204
- isFunction(query.onFilter) &&
205
- Array.isArray(query.filters) &&
206
- query.filters.length &&
207
- Array.isArray(query.filteredValue) &&
208
- query.filteredValue.length
209
- )
204
+ query => {
205
+ /**
206
+ * 这里无需判断 filteredValue 是否为数组,初始化时它是 `undefined`,点击选择空时为 `[]`
207
+ * 初始化时我们应该用 `defaultFilteredValue`,点击后我们应该用 `filteredValue`
208
+ *
209
+ * There is no need to judge whether `filteredValue` is an array here, because it is `undefined` when initialized, and `[]` when you click to select empty
210
+ * When initializing we should use `defaultFilteredValue`, after clicking we should use `filteredValue`
211
+ */
212
+ const currentFilteredValue = query.filteredValue ? query.filteredValue : query.defaultFilteredValue;
213
+ return (
214
+ isFunction(query.onFilter) &&
215
+ Array.isArray(query.filters) &&
216
+ query.filters.length &&
217
+ Array.isArray(currentFilteredValue) &&
218
+ currentFilteredValue.length
219
+ );
220
+ }
210
221
  ));
211
222
  const sortedDataSource = this.sortDataSource(filteredDataSource, queries.filter(query => query && isFunction(query.sorter)));
212
223
  return sortedDataSource;
@@ -371,8 +382,9 @@ class TableFoundation<RecordType> extends BaseFoundation<TableAdapter<RecordType
371
382
  const childrenRecordName = this.getProp('childrenRecordName');
372
383
 
373
384
  each(filters, filterObj => {
374
- const { onFilter, filteredValue, filterChildrenRecord } = filterObj;
375
- if (typeof onFilter === 'function' && Array.isArray(filteredValue) && filteredValue.length) {
385
+ const { onFilter, filteredValue, filterChildrenRecord, defaultFilteredValue } = filterObj;
386
+ const currentFilteredValue = Array.isArray(filteredValue) ? filteredValue : defaultFilteredValue;
387
+ if (typeof onFilter === 'function' && Array.isArray(currentFilteredValue) && currentFilteredValue.length) {
376
388
  hasValidFilters = true;
377
389
 
378
390
  if (filteredData === null) {
@@ -381,7 +393,7 @@ class TableFoundation<RecordType> extends BaseFoundation<TableAdapter<RecordType
381
393
  dataSource = Array.from(filteredData && filteredData.values());
382
394
  filteredData = new Map();
383
395
  }
384
- each(filteredValue, value => {
396
+ each(currentFilteredValue, value => {
385
397
  each(dataSource, record => {
386
398
  const childrenRecords = get(record, childrenRecordName);
387
399
  const recordKey = this.getRecordKey(record);
@@ -1165,6 +1177,7 @@ export interface BaseChangeInfoFilter<RecordType> {
1165
1177
  filters?: BaseFilter[];
1166
1178
  onFilter?: (filteredValue?: any, record?: RecordType) => boolean;
1167
1179
  filteredValue?: any[];
1180
+ defaultFilteredValue?: any[];
1168
1181
  children?: BaseFilter[];
1169
1182
  filterChildrenRecord?: boolean;
1170
1183
  }
package/table/table.scss CHANGED
@@ -22,6 +22,10 @@ $module: #{$prefix}-table;
22
22
  @include font-size-regular;
23
23
  color: $color-table-text-default;
24
24
  width: 100%;
25
+
26
+ &[data-column-fixed=true] {
27
+ z-index: 1;
28
+ }
25
29
  }
26
30
 
27
31
  &-middle {
@@ -79,8 +79,8 @@ $font-table_base-fontSize: 14px; // 表格默认文本字号
79
79
  $border-table_base-borderStyle: solid; // 表格描边样式
80
80
  $shadow-table_left: -3px 0 0 0 $color-table_shadow-bg-default; // 表格滚动阴影 - 左侧
81
81
  $shadow-table_right: 3px 0 0 0 $color-table_shadow-bg-default; // 表格滚动阴影 - 右侧
82
- $border-table: #{$width-table_base_border} #{$border-table_base-borderStyle} $color-table-border-default; // 表格默认描边
83
- $border-table_head-bottom: #{$width-table_header_border} #{$border-table_base-borderStyle} $color-table_th-border-default; // 表头单元格描边 - 底部
82
+ $border-table: $width-table_base_border $border-table_base-borderStyle $color-table-border-default; // 表格默认描边
83
+ $border-table_head-bottom: $width-table_header_border $border-table_base-borderStyle $color-table_th-border-default; // 表头单元格描边 - 底部
84
84
  $border-table_resizer: $width-table_resizer_border solid $color-table_resizer-bg-default; // 表格拉伸标识描边
85
85
 
86
86
  $z-table-fixed: 101!default; // fixed列的zIndex值
@@ -4,7 +4,7 @@ $module: #{$prefix}-tagInput;
4
4
 
5
5
  .#{$module} {
6
6
  background-color: $color-tagInput_default-bg-default;
7
- border: $border-thickness-control-focus $color-textarea-border-default solid;
7
+ border: $width-tagInput-border-default $color-tagInput-border-default solid;
8
8
  border-radius: $radius-tagInput;
9
9
  display: inline-flex;
10
10
  font-weight: $font-weight-regular;
@@ -13,11 +13,12 @@ $module: #{$prefix}-tagInput;
13
13
 
14
14
  &-hover {
15
15
  background-color: $color-tagInput_default-bg-hover;
16
+ border: $width-tagInput-border-hover $color-tagInput-border-hover solid;
16
17
  }
17
18
 
18
19
  &-focus {
19
20
  background-color: $color-tagInput_default-bg-focus;
20
- border: $border-thickness-control-focus $color-tagInput_default-border-focus solid;
21
+ border: $width-tagInput-border-focus $color-tagInput-border-focus solid;
21
22
  }
22
23
 
23
24
  &-warning {
@@ -3,13 +3,16 @@ $color-tagInput-maxTagCount-default: var(--semi-color-text-0); // 标签输入
3
3
  $color-tagInput-icon-hover: var(--semi-color-primary-hover); // 标签输入框图标颜色 - 悬浮
4
4
  $color-tagInput_disabled-text-default: var(--semi-color-disabled-text); // 标签输入框禁用文字颜色
5
5
  $color-tagInput_default-bg-focus: var(--semi-color-fill-0); // 标签输入框背景颜色 - 选中态
6
- $color-tagInput_default-border-focus: var(--semi-color-focus-border); // 标签输入框描边颜色 - 选中态
6
+
7
+ $color-tagInput-border-default: transparent; // 标签输入框描边颜色 - 默认
8
+ $color-tagInput-border-hover: transparent ; // 标签输入框描边颜色 - 悬浮
9
+ $color-tagInput-border-focus: var(--semi-color-focus-border); // 标签输入框描边颜色 - 选中态
7
10
  $color-tagInput_prefix-default: var(--semi-color-text-2); // 标签输入框 prefix 颜色
8
11
  $color-tagInput_suffix-default: var(--semi-color-text-1); // 标签输入框 suffix 颜色
9
12
 
10
13
  $color-tagInput_default-bg-default: var(--semi-color-fill-0); // 标签输入框背景颜色 - 默认
11
14
  $color-tagInput_default-bg-hover: var(--semi-color-fill-1); // 标签输入框背景颜色 - 悬浮
12
- $color-textarea-border-default: transparent; // 标签输入框描边颜色 - 默认
15
+ // $color-textarea-border-default: transparent; // 标签输入框描边颜色 - 默认,已废弃 deprecated-v2.4
13
16
 
14
17
  $color-tagInput_warning-bg-default: var(--semi-color-warning-light-default); // 警告标签输入框背景颜色 - 默认
15
18
  $color-tagInput_warning-border-default: var(--semi-color-warning-light-default); // 警告标签输入框描边颜色 - 默认
@@ -35,5 +38,8 @@ $height-tagInput-default: $height-control-default; // 默认尺寸标签输入
35
38
  $height-tagInput-small: $height-control-small; // 小尺寸标签输入框高度
36
39
 
37
40
  $width-tagInput-clear-medium: $width-icon-medium * 2; // 标签输入框清空按钮宽度
41
+ $width-tagInput-border-default: $border-thickness-control; // 标签输入框描边描边宽度 - 默认
42
+ $width-tagInput-border-hover: $width-tagInput-border-default; // 标签输入框描边描边宽度 - 悬浮
43
+ $width-tagInput-border-focus: $border-thickness-control-focus; // 标签输入框描边宽度 - 选中态
38
44
 
39
45
  $radius-tagInput: var(--semi-border-radius-small); // 标签输入框圆角
@@ -37,7 +37,8 @@ export interface TimePickerAdapter<P = Record<string, any>, S = Record<string, a
37
37
  setInputValue: (inputValue: string, cb?: () => void) => void;
38
38
  unregisterClickOutSide: () => void;
39
39
  notifyOpenChange: (open: boolean) => void;
40
- notifyChange: (value: Date | Date[], input: string | string[]) => void;
40
+ notifyChange(value: Date | Date[], input: string | string[]): void;
41
+ notifyChange(input: string | string[], value: Date | Date[]): void;
41
42
  notifyFocus: (e: any) => void;
42
43
  notifyBlur: (e: any) => void;
43
44
  isRangePicker: () => boolean;
@@ -413,8 +414,12 @@ class TimePickerFoundation<P = Record<string, any>, S = Record<string, any>> ext
413
414
  str = format(_value, formatToken);
414
415
  }
415
416
  }
416
-
417
- this._adapter.notifyChange(_value, str);
417
+ const onChangeWithDateFirst = this.getProp('onChangeWithDateFirst');
418
+ if (onChangeWithDateFirst) {
419
+ this._adapter.notifyChange(_value, str);
420
+ } else {
421
+ this._adapter.notifyChange(str, _value);
422
+ }
418
423
  }
419
424
 
420
425
  _hasChanged(dates: Date[] = [], oldDates: Date[] = []) {
@@ -20,6 +20,8 @@ const strings = {
20
20
  'bottomRight',
21
21
  'leftTopOver',
22
22
  'rightTopOver',
23
+ 'leftBottomOver',
24
+ 'rightBottomOver',
23
25
  ],
24
26
  TRIGGER_SET: ['hover', 'focus', 'click', 'custom'],
25
27
  STATUS_DISABLED: 'disabled',