@douyinfe/semi-ui 2.4.1 → 2.6.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 (138) hide show
  1. package/calendar/monthCalendar.tsx +14 -13
  2. package/cascader/__test__/cascader.test.js +24 -0
  3. package/cascader/_story/cascader.stories.js +73 -0
  4. package/cascader/index.tsx +26 -5
  5. package/cascader/item.tsx +25 -5
  6. package/datePicker/_story/v2/FixInputRangeFocus.jsx +25 -0
  7. package/datePicker/_story/v2/index.js +2 -1
  8. package/datePicker/dateInput.tsx +8 -5
  9. package/datePicker/datePicker.tsx +9 -1
  10. package/datePicker/month.tsx +14 -7
  11. package/datePicker/monthsGrid.tsx +17 -5
  12. package/datePicker/navigation.tsx +8 -4
  13. package/datePicker/quickControl.tsx +1 -0
  14. package/datePicker/yearAndMonth.tsx +1 -1
  15. package/dist/css/semi.css +71 -35
  16. package/dist/css/semi.min.css +1 -1
  17. package/dist/umd/semi-ui.js +696 -263
  18. package/dist/umd/semi-ui.js.map +1 -1
  19. package/dist/umd/semi-ui.min.js +1 -1
  20. package/dist/umd/semi-ui.min.js.map +1 -1
  21. package/form/__test__/formApi.test.js +182 -0
  22. package/form/_story/FormApi/arrayDemo.jsx +4 -7
  23. package/form/_story/Layout/slotDemo.jsx +2 -2
  24. package/form/_story/demo.jsx +18 -1
  25. package/form/_story/form.stories.js +6 -6
  26. package/form/baseForm.tsx +2 -2
  27. package/form/hoc/withField.tsx +1 -1
  28. package/lib/cjs/_base/base.css +5 -5
  29. package/lib/cjs/autoComplete/index.d.ts +1 -1
  30. package/lib/cjs/calendar/monthCalendar.js +21 -5
  31. package/lib/cjs/cascader/index.d.ts +9 -2
  32. package/lib/cjs/cascader/index.js +20 -1
  33. package/lib/cjs/cascader/item.d.ts +6 -2
  34. package/lib/cjs/cascader/item.js +33 -4
  35. package/lib/cjs/datePicker/dateInput.d.ts +0 -2
  36. package/lib/cjs/datePicker/dateInput.js +17 -6
  37. package/lib/cjs/datePicker/datePicker.js +19 -12
  38. package/lib/cjs/datePicker/month.d.ts +1 -0
  39. package/lib/cjs/datePicker/month.js +18 -2
  40. package/lib/cjs/datePicker/monthsGrid.js +16 -4
  41. package/lib/cjs/datePicker/navigation.js +8 -0
  42. package/lib/cjs/datePicker/quickControl.js +1 -0
  43. package/lib/cjs/datePicker/yearAndMonth.js +1 -0
  44. package/lib/cjs/dropdown/index.d.ts +1 -1
  45. package/lib/cjs/form/baseForm.d.ts +1 -1
  46. package/lib/cjs/form/baseForm.js +2 -2
  47. package/lib/cjs/form/field.d.ts +1 -1
  48. package/lib/cjs/form/hoc/withField.js +1 -1
  49. package/lib/cjs/scrollList/scrollItem.d.ts +2 -1
  50. package/lib/cjs/scrollList/scrollItem.js +13 -3
  51. package/lib/cjs/select/index.d.ts +3 -3
  52. package/lib/cjs/select/index.js +32 -28
  53. package/lib/cjs/select/option.js +2 -2
  54. package/lib/cjs/select/virtualRow.js +2 -2
  55. package/lib/cjs/table/Table.d.ts +1 -1
  56. package/lib/cjs/table/Table.js +8 -2
  57. package/lib/cjs/table/interface.d.ts +1 -0
  58. package/lib/cjs/tabs/interface.d.ts +1 -1
  59. package/lib/cjs/tooltip/index.d.ts +1 -1
  60. package/lib/cjs/tooltip/index.js +6 -2
  61. package/lib/cjs/tree/index.d.ts +2 -0
  62. package/lib/cjs/tree/index.js +15 -8
  63. package/lib/cjs/treeSelect/index.d.ts +2 -0
  64. package/lib/cjs/treeSelect/index.js +64 -27
  65. package/lib/cjs/upload/fileCard.js +31 -22
  66. package/lib/cjs/upload/index.d.ts +6 -0
  67. package/lib/cjs/upload/index.js +15 -8
  68. package/lib/cjs/upload/interface.d.ts +8 -6
  69. package/lib/es/_base/base.css +5 -5
  70. package/lib/es/autoComplete/index.d.ts +1 -1
  71. package/lib/es/calendar/monthCalendar.js +22 -5
  72. package/lib/es/cascader/index.d.ts +9 -2
  73. package/lib/es/cascader/index.js +19 -1
  74. package/lib/es/cascader/item.d.ts +6 -2
  75. package/lib/es/cascader/item.js +31 -4
  76. package/lib/es/datePicker/dateInput.d.ts +0 -2
  77. package/lib/es/datePicker/dateInput.js +17 -6
  78. package/lib/es/datePicker/datePicker.js +19 -12
  79. package/lib/es/datePicker/month.d.ts +1 -0
  80. package/lib/es/datePicker/month.js +18 -2
  81. package/lib/es/datePicker/monthsGrid.js +16 -4
  82. package/lib/es/datePicker/navigation.js +8 -0
  83. package/lib/es/datePicker/quickControl.js +2 -0
  84. package/lib/es/datePicker/yearAndMonth.js +1 -0
  85. package/lib/es/dropdown/index.d.ts +1 -1
  86. package/lib/es/form/baseForm.d.ts +1 -1
  87. package/lib/es/form/baseForm.js +2 -2
  88. package/lib/es/form/field.d.ts +1 -1
  89. package/lib/es/form/hoc/withField.js +1 -1
  90. package/lib/es/scrollList/scrollItem.d.ts +2 -1
  91. package/lib/es/scrollList/scrollItem.js +13 -3
  92. package/lib/es/select/index.d.ts +3 -3
  93. package/lib/es/select/index.js +30 -26
  94. package/lib/es/select/option.js +2 -2
  95. package/lib/es/select/virtualRow.js +2 -2
  96. package/lib/es/table/Table.d.ts +1 -1
  97. package/lib/es/table/Table.js +10 -2
  98. package/lib/es/table/interface.d.ts +1 -0
  99. package/lib/es/tabs/interface.d.ts +1 -1
  100. package/lib/es/tooltip/index.d.ts +1 -1
  101. package/lib/es/tooltip/index.js +6 -2
  102. package/lib/es/tree/index.d.ts +2 -0
  103. package/lib/es/tree/index.js +15 -8
  104. package/lib/es/treeSelect/index.d.ts +2 -0
  105. package/lib/es/treeSelect/index.js +64 -27
  106. package/lib/es/upload/fileCard.js +31 -24
  107. package/lib/es/upload/index.d.ts +6 -0
  108. package/lib/es/upload/index.js +14 -8
  109. package/lib/es/upload/interface.d.ts +8 -6
  110. package/package.json +9 -9
  111. package/scrollList/_story/ScrollList/index.js +3 -0
  112. package/scrollList/_story/WheelList/index.js +3 -0
  113. package/scrollList/scrollItem.tsx +30 -9
  114. package/select/index.tsx +18 -19
  115. package/select/option.tsx +2 -2
  116. package/select/virtualRow.tsx +2 -2
  117. package/table/Table.tsx +7 -2
  118. package/table/_story/Perf/Virtualized/index.jsx +6 -0
  119. package/table/_story/table.stories.js +1 -2
  120. package/table/_story/v2/FixedHeaderMerge/index.jsx +98 -0
  121. package/table/_story/v2/FixedResizable/index.jsx +114 -0
  122. package/table/_story/v2/defaultFilteredValue.tsx +114 -0
  123. package/table/_story/v2/index.js +5 -0
  124. package/table/interface.ts +1 -0
  125. package/tabs/interface.ts +1 -1
  126. package/tooltip/__test__/tooltip.test.js +48 -4
  127. package/tooltip/_story/tooltip.stories.js +83 -1
  128. package/tooltip/index.tsx +4 -4
  129. package/tree/__test__/treeMultiple.test.js +94 -0
  130. package/tree/_story/tree.stories.js +169 -0
  131. package/tree/index.tsx +12 -5
  132. package/treeSelect/__test__/treeMultiple.test.js +94 -0
  133. package/treeSelect/_story/treeSelect.stories.js +242 -0
  134. package/treeSelect/index.tsx +72 -40
  135. package/upload/_story/upload.stories.js +22 -6
  136. package/upload/fileCard.tsx +23 -23
  137. package/upload/index.tsx +15 -6
  138. package/upload/interface.ts +7 -5
@@ -1,3 +1,4 @@
1
+ /* eslint-disable jsx-a11y/no-static-element-interactions,jsx-a11y/click-events-have-key-events */
1
2
  import React, { PureComponent } from 'react';
2
3
  import classNames from 'classnames';
3
4
  import PropTypes from 'prop-types';
@@ -208,7 +208,7 @@ class YearAndMonth extends BaseComponent<YearAndMonthProps, YearAndMonthState> {
208
208
  <div className={prefix}>
209
209
  <IconButton
210
210
  noHorizontalPadding={false}
211
- icon={<IconChevronLeft size={iconSize} />}
211
+ icon={<IconChevronLeft aria-hidden size={iconSize} />}
212
212
  size={buttonSize}
213
213
  onClick={this.backToMain}
214
214
  >
package/dist/css/semi.css CHANGED
@@ -19,7 +19,7 @@ body .semi-always-light {
19
19
  --semi-blue-2: 152,205,253;
20
20
  --semi-blue-3: 101,178,252;
21
21
  --semi-blue-4: 50,149,251;
22
- --semi-blue-5: 0,119,250;
22
+ --semi-blue-5: 0,100,250;
23
23
  --semi-blue-6: 0,98,214;
24
24
  --semi-blue-7: 0,79,179;
25
25
  --semi-blue-8: 0,61,143;
@@ -410,7 +410,7 @@ body, body[theme-mode=dark] .semi-always-light {
410
410
  --semi-color-bg-4: rgba(var(--semi-white), 1);
411
411
  --semi-color-text-0: rgba(var(--semi-grey-9), 1);
412
412
  --semi-color-text-1: rgba(var(--semi-grey-9), .8);
413
- --semi-color-text-2: rgba(var(--semi-grey-9), .6);
413
+ --semi-color-text-2: rgba(var(--semi-grey-9), .62);
414
414
  --semi-color-text-3: rgba(var(--semi-grey-9), .35);
415
415
  --semi-shadow-elevated: 0 0 1px rgba(0, 0, 0, .3), 0 4px 14px rgba(0, 0, 0, .1);
416
416
  --semi-border-radius-extra-small: 3px;
@@ -487,9 +487,9 @@ body[theme-mode=dark], body .semi-always-dark {
487
487
  --semi-color-nav-bg: rgba(35, 36, 41, 1);
488
488
  --semi-shadow-elevated: inset 0 0 0 1px rgba(255, 255, 255, .1), 0 4px 14px rgba(0, 0, 0, .25);
489
489
  --semi-color-overlay-bg: rgba(22, 22, 26, .6);
490
- --semi-color-fill-0: rgba(var(--semi-white), .05);
491
- --semi-color-fill-1: rgba(var(--semi-white), .09);
492
- --semi-color-fill-2: rgba(var(--semi-white), .13);
490
+ --semi-color-fill-0: rgba(var(--semi-white), .12);
491
+ --semi-color-fill-1: rgba(var(--semi-white), .16);
492
+ --semi-color-fill-2: rgba(var(--semi-white), .20);
493
493
  --semi-color-border: rgba(var(--semi-white), .08);
494
494
  --semi-color-shadow: rgba(var(--semi-black), .04);
495
495
  --semi-color-bg-0: rgba(22, 22, 26, 1);
@@ -1588,6 +1588,9 @@ body[theme-mode=dark], body .semi-always-dark {
1588
1588
  vertical-align: middle;
1589
1589
  white-space: nowrap;
1590
1590
  }
1591
+ .semi-button:focus {
1592
+ outline: 2px solid var(--semi-color-primary-light-active);
1593
+ }
1591
1594
  .semi-button-danger {
1592
1595
  background-color: var(--semi-color-danger);
1593
1596
  color: white;
@@ -1601,6 +1604,9 @@ body[theme-mode=dark], body .semi-always-dark {
1601
1604
  .semi-button-danger.semi-button-light, .semi-button-danger.semi-button-borderless {
1602
1605
  color: var(--semi-color-danger);
1603
1606
  }
1607
+ .semi-button-danger:not(.semi-button-borderless):not(.semi-button-light):focus {
1608
+ outline-color: var(--semi-color-danger-light-active);
1609
+ }
1604
1610
  .semi-button-warning {
1605
1611
  background-color: var(--semi-color-warning);
1606
1612
  color: white;
@@ -1614,6 +1620,9 @@ body[theme-mode=dark], body .semi-always-dark {
1614
1620
  .semi-button-warning.semi-button-light, .semi-button-warning.semi-button-borderless {
1615
1621
  color: var(--semi-color-warning);
1616
1622
  }
1623
+ .semi-button-warning:not(.semi-button-borderless):not(.semi-button-light):focus {
1624
+ outline-color: var(--semi-color-warning-light-active);
1625
+ }
1617
1626
  .semi-button-tertiary {
1618
1627
  background-color: var(--semi-color-tertiary);
1619
1628
  color: white;
@@ -2612,6 +2621,7 @@ body[theme-mode=dark], body .semi-always-dark {
2612
2621
  }
2613
2622
  .semi-cascader:hover {
2614
2623
  background-color: var(--semi-color-fill-1);
2624
+ border: 1px transparent solid;
2615
2625
  }
2616
2626
  .semi-cascader-small {
2617
2627
  min-height: 24px;
@@ -2687,7 +2697,7 @@ body[theme-mode=dark], body .semi-always-dark {
2687
2697
  color: var(--semi-color-text-2);
2688
2698
  }
2689
2699
  .semi-cascader-selection-tag {
2690
- margin: 1px 2px;
2700
+ margin: 1px 2px 1px 0;
2691
2701
  }
2692
2702
  .semi-cascader-selection-tag:first-child {
2693
2703
  margin-left: 0;
@@ -4739,6 +4749,10 @@ body[theme-mode=dark], body .semi-always-dark {
4739
4749
  padding-top: 6px;
4740
4750
  padding-bottom: 6px;
4741
4751
  }
4752
+ .semi-form-field[x-label-pos=left] .semi-radioGroup-buttonRadio {
4753
+ padding-top: 0;
4754
+ padding-bottom: 0;
4755
+ }
4742
4756
  .semi-form-field[x-label-pos=left] .semi-switch,
4743
4757
  .semi-form-field[x-label-pos=left] .semi-rating {
4744
4758
  vertical-align: middle;
@@ -11447,6 +11461,7 @@ body[theme-mode=dark], body .semi-always-dark {
11447
11461
  cursor: not-allowed;
11448
11462
  color: var(--semi-color-disabled-text);
11449
11463
  background-color: var(--semi-color-disabled-fill);
11464
+ -webkit-text-fill-color: var(--semi-color-disabled-text);
11450
11465
  }
11451
11466
  .semi-input-wrapper-disabled:hover {
11452
11467
  background-color: var(--semi-color-disabled-fill);
@@ -16206,7 +16221,6 @@ body[theme-mode=dark], body .semi-always-dark {
16206
16221
  word-break: break-all;
16207
16222
  word-wrap: break-word;
16208
16223
  position: relative;
16209
- user-select: none;
16210
16224
  }
16211
16225
  .semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-left, .semi-table-thead > .semi-table-row > .semi-table-row-head.semi-table-cell-fixed-right {
16212
16226
  z-index: 101;
@@ -16478,7 +16492,7 @@ body[theme-mode=dark], body .semi-always-dark {
16478
16492
  position: relative;
16479
16493
  z-index: 1;
16480
16494
  padding: 16px 12px;
16481
- color: var(--semi-color-disabled-bg);
16495
+ color: var(--semi-color-text-2);
16482
16496
  font-size: 14px;
16483
16497
  text-align: center;
16484
16498
  background: transparent;
@@ -19438,11 +19452,10 @@ p.semi-typography-extended,
19438
19452
  }
19439
19453
  .semi-upload[x-prompt-pos=left] .semi-upload-add {
19440
19454
  display: inline-flex;
19441
- order: 2;
19442
19455
  }
19443
19456
  .semi-upload[x-prompt-pos=left] .semi-upload-prompt {
19444
19457
  display: inline-flex;
19445
- order: 1;
19458
+ order: -1;
19446
19459
  }
19447
19460
  .semi-upload[x-prompt-pos=left] .semi-upload-file-list {
19448
19461
  order: 2;
@@ -19622,15 +19635,9 @@ p.semi-typography-extended,
19622
19635
  .semi-upload-picture[x-prompt-pos=bottom] .semi-upload-prompt {
19623
19636
  order: 1;
19624
19637
  }
19625
- .semi-upload-picture[x-prompt-pos=bottom] .semi-upload-add {
19626
- order: 0;
19627
- }
19628
19638
  .semi-upload-picture[x-prompt-pos=right] .semi-upload-prompt {
19629
19639
  order: 1;
19630
19640
  }
19631
- .semi-upload-picture[x-prompt-pos=right] .semi-upload-add {
19632
- order: 0;
19633
- }
19634
19641
  .semi-upload-picture-add {
19635
19642
  background-color: var(--semi-color-fill-0);
19636
19643
  height: 96px;
@@ -19642,7 +19649,6 @@ p.semi-typography-extended,
19642
19649
  border: 2px dashed var(--semi-color-border);
19643
19650
  color: var(--semi-color-tertiary);
19644
19651
  border-radius: var(--semi-border-radius-small);
19645
- order: 2;
19646
19652
  cursor: pointer;
19647
19653
  }
19648
19654
  .semi-upload-picture-add:hover {
@@ -19682,35 +19688,32 @@ p.semi-typography-extended,
19682
19688
  border-radius: var(--semi-border-radius-small);
19683
19689
  }
19684
19690
  .semi-upload-picture-file-card-close {
19685
- width: 16px;
19686
- height: 16px;
19687
- background-color: var(--semi-color-overlay-bg);
19691
+ visibility: hidden;
19692
+ display: inline-flex;
19688
19693
  position: absolute;
19689
19694
  top: 8px;
19690
19695
  right: 8px;
19691
- display: flex;
19692
- justify-content: center;
19693
- align-items: center;
19694
- display: none;
19695
19696
  border-radius: var(--semi-border-radius-circle);
19696
- color: white;
19697
19697
  cursor: pointer;
19698
19698
  transition: all 0s;
19699
19699
  }
19700
- .semi-upload-picture-file-card:hover .semi-upload-picture-file-card-close {
19701
- display: flex;
19702
- }
19703
- .semi-upload-picture-file-card:hover .semi-upload-picture-file-card-replace {
19704
- visibility: visible;
19700
+ .semi-upload-picture-file-card-icon-close {
19701
+ font-size: 16px;
19702
+ color: var(--semi-color-white);
19705
19703
  }
19706
- .semi-upload-picture-file-card .semi-progress-circle {
19704
+ .semi-upload-picture-file-card::before {
19705
+ visibility: hidden;
19706
+ background-color: var(--semi-color-overlay-bg);
19707
+ content: "";
19707
19708
  position: absolute;
19708
- top: 50%;
19709
- left: 50%;
19710
- transform: translate(-50%, -50%);
19709
+ left: 0;
19710
+ right: 0;
19711
+ top: 0;
19712
+ bottom: 0;
19711
19713
  }
19712
19714
  .semi-upload-picture-file-card-retry {
19713
- background-color: #fff;
19715
+ visibility: hidden;
19716
+ background-color: var(--semi-color-white);
19714
19717
  width: 24px;
19715
19718
  height: 24px;
19716
19719
  position: absolute;
@@ -19738,6 +19741,15 @@ p.semi-typography-extended,
19738
19741
  color: var(--semi-color-white);
19739
19742
  transform: translate3D(-50%, -50%, 0);
19740
19743
  }
19744
+ .semi-upload-picture-file-card-preview {
19745
+ visibility: hidden;
19746
+ display: inline-flex;
19747
+ position: absolute;
19748
+ cursor: pointer;
19749
+ top: 50%;
19750
+ left: 50%;
19751
+ transform: translate3D(-50%, -50%, 0);
19752
+ }
19741
19753
  .semi-upload-picture-file-card-pic-info {
19742
19754
  display: inline-flex;
19743
19755
  box-sizing: border-box;
@@ -19769,6 +19781,30 @@ p.semi-typography-extended,
19769
19781
  .semi-upload-picture-file-card-error {
19770
19782
  outline: 1px solid var(--semi-color-danger);
19771
19783
  }
19784
+ .semi-upload-picture-file-card:hover::before {
19785
+ visibility: visible;
19786
+ }
19787
+ .semi-upload-picture-file-card:hover .semi-upload-picture-file-card-close {
19788
+ visibility: visible;
19789
+ }
19790
+ .semi-upload-picture-file-card:hover .semi-upload-picture-file-card-replace {
19791
+ visibility: visible;
19792
+ }
19793
+ .semi-upload-picture-file-card:hover .semi-upload-picture-file-card-retry {
19794
+ visibility: visible;
19795
+ }
19796
+ .semi-upload-picture-file-card:hover .semi-upload-picture-file-card-preview {
19797
+ visibility: visible;
19798
+ }
19799
+ .semi-upload-picture-file-card-uploading::before {
19800
+ visibility: visible;
19801
+ }
19802
+ .semi-upload-picture-file-card .semi-progress-circle {
19803
+ position: absolute;
19804
+ top: 50%;
19805
+ left: 50%;
19806
+ transform: translate(-50%, -50%);
19807
+ }
19772
19808
  .semi-upload-drag-area {
19773
19809
  border-radius: var(--semi-border-radius-small);
19774
19810
  border: 2px dashed var(--semi-color-border);