@douyinfe/semi-ui 2.19.0-alpha.6 → 2.19.0-alpha.9

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 (114) hide show
  1. package/avatar/index.tsx +3 -1
  2. package/button/buttonGroup.tsx +38 -4
  3. package/button/index.tsx +2 -0
  4. package/checkbox/_story/checkbox.stories.js +2 -0
  5. package/checkbox/checkbox.tsx +25 -20
  6. package/checkbox/checkboxGroup.tsx +1 -0
  7. package/dist/css/semi.css +64 -55
  8. package/dist/css/semi.min.css +1 -1
  9. package/dist/umd/semi-ui.js +422 -311
  10. package/dist/umd/semi-ui.js.map +1 -1
  11. package/dist/umd/semi-ui.min.js +1 -1
  12. package/dist/umd/semi-ui.min.js.map +1 -1
  13. package/form/baseForm.tsx +0 -1
  14. package/lib/cjs/anchor/index.d.ts +1 -1
  15. package/lib/cjs/autoComplete/index.d.ts +1 -1
  16. package/lib/cjs/avatar/index.d.ts +1 -0
  17. package/lib/cjs/avatar/index.js +2 -1
  18. package/lib/cjs/button/Button.d.ts +2 -2
  19. package/lib/cjs/button/buttonGroup.d.ts +2 -1
  20. package/lib/cjs/button/buttonGroup.js +52 -3
  21. package/lib/cjs/button/index.d.ts +2 -1
  22. package/lib/cjs/button/index.js +1 -0
  23. package/lib/cjs/carousel/CarouselIndicator.d.ts +2 -2
  24. package/lib/cjs/carousel/index.d.ts +3 -3
  25. package/lib/cjs/cascader/index.d.ts +1 -1
  26. package/lib/cjs/cascader/item.d.ts +1 -1
  27. package/lib/cjs/checkbox/checkbox.d.ts +1 -0
  28. package/lib/cjs/checkbox/checkbox.js +19 -10
  29. package/lib/cjs/checkbox/checkboxGroup.js +10 -9
  30. package/lib/cjs/datePicker/dateInput.d.ts +1 -1
  31. package/lib/cjs/datePicker/datePicker.d.ts +3 -3
  32. package/lib/cjs/datePicker/monthsGrid.d.ts +3 -3
  33. package/lib/cjs/datePicker/quickControl.d.ts +1 -1
  34. package/lib/cjs/datePicker/yearAndMonth.d.ts +1 -1
  35. package/lib/cjs/dropdown/index.d.ts +1 -1
  36. package/lib/cjs/form/baseForm.d.ts +1 -1
  37. package/lib/cjs/form/baseForm.js +0 -1
  38. package/lib/cjs/form/field.d.ts +1 -1
  39. package/lib/cjs/popconfirm/index.d.ts +4 -2
  40. package/lib/cjs/popconfirm/index.js +49 -31
  41. package/lib/cjs/popover/index.d.ts +2 -2
  42. package/lib/cjs/radio/radio.d.ts +2 -1
  43. package/lib/cjs/radio/radio.js +1 -0
  44. package/lib/cjs/radio/radioGroup.d.ts +1 -1
  45. package/lib/cjs/select/index.d.ts +1 -1
  46. package/lib/cjs/table/Table.d.ts +2 -2
  47. package/lib/cjs/tabs/TabBar.js +5 -1
  48. package/lib/cjs/tag/index.d.ts +1 -1
  49. package/lib/cjs/tag/index.js +1 -1
  50. package/lib/cjs/timePicker/TimePicker.d.ts +2 -2
  51. package/lib/cjs/timePicker/TimeShape.d.ts +1 -1
  52. package/lib/cjs/timePicker/index.d.ts +2 -2
  53. package/lib/cjs/tooltip/index.d.ts +2 -2
  54. package/lib/cjs/transfer/index.js +7 -2
  55. package/lib/cjs/typography/base.d.ts +1 -1
  56. package/lib/cjs/typography/paragraph.d.ts +1 -1
  57. package/lib/cjs/typography/text.d.ts +1 -1
  58. package/lib/cjs/typography/title.d.ts +1 -1
  59. package/lib/cjs/upload/index.d.ts +1 -1
  60. package/lib/es/anchor/index.d.ts +1 -1
  61. package/lib/es/autoComplete/index.d.ts +1 -1
  62. package/lib/es/avatar/index.d.ts +1 -0
  63. package/lib/es/avatar/index.js +2 -1
  64. package/lib/es/button/Button.d.ts +2 -2
  65. package/lib/es/button/buttonGroup.d.ts +2 -1
  66. package/lib/es/button/buttonGroup.js +50 -3
  67. package/lib/es/button/index.d.ts +2 -1
  68. package/lib/es/button/index.js +1 -0
  69. package/lib/es/carousel/CarouselIndicator.d.ts +2 -2
  70. package/lib/es/carousel/index.d.ts +3 -3
  71. package/lib/es/cascader/index.d.ts +1 -1
  72. package/lib/es/cascader/item.d.ts +1 -1
  73. package/lib/es/checkbox/checkbox.d.ts +1 -0
  74. package/lib/es/checkbox/checkbox.js +19 -10
  75. package/lib/es/checkbox/checkboxGroup.js +8 -7
  76. package/lib/es/datePicker/dateInput.d.ts +1 -1
  77. package/lib/es/datePicker/datePicker.d.ts +3 -3
  78. package/lib/es/datePicker/monthsGrid.d.ts +3 -3
  79. package/lib/es/datePicker/quickControl.d.ts +1 -1
  80. package/lib/es/datePicker/yearAndMonth.d.ts +1 -1
  81. package/lib/es/dropdown/index.d.ts +1 -1
  82. package/lib/es/form/baseForm.d.ts +1 -1
  83. package/lib/es/form/baseForm.js +0 -1
  84. package/lib/es/form/field.d.ts +1 -1
  85. package/lib/es/popconfirm/index.d.ts +4 -2
  86. package/lib/es/popconfirm/index.js +49 -31
  87. package/lib/es/popover/index.d.ts +2 -2
  88. package/lib/es/radio/radio.d.ts +2 -1
  89. package/lib/es/radio/radio.js +1 -0
  90. package/lib/es/radio/radioGroup.d.ts +1 -1
  91. package/lib/es/select/index.d.ts +1 -1
  92. package/lib/es/table/Table.d.ts +2 -2
  93. package/lib/es/tabs/TabBar.js +5 -1
  94. package/lib/es/tag/index.d.ts +1 -1
  95. package/lib/es/tag/index.js +1 -1
  96. package/lib/es/timePicker/TimePicker.d.ts +2 -2
  97. package/lib/es/timePicker/TimeShape.d.ts +1 -1
  98. package/lib/es/timePicker/index.d.ts +2 -2
  99. package/lib/es/tooltip/index.d.ts +2 -2
  100. package/lib/es/transfer/index.js +7 -2
  101. package/lib/es/typography/base.d.ts +1 -1
  102. package/lib/es/typography/paragraph.d.ts +1 -1
  103. package/lib/es/typography/text.d.ts +1 -1
  104. package/lib/es/typography/title.d.ts +1 -1
  105. package/lib/es/upload/index.d.ts +1 -1
  106. package/package.json +7 -7
  107. package/popconfirm/_story/popconfirm.stories.js +37 -1
  108. package/popconfirm/index.tsx +14 -6
  109. package/radio/radio.tsx +2 -0
  110. package/tabs/TabBar.tsx +7 -1
  111. package/tag/index.tsx +1 -1
  112. package/transfer/_story/transfer.stories.js +2 -2
  113. package/transfer/index.tsx +7 -2
  114. package/treeSelect/_story/treeSelect.stories.js +3 -0
package/avatar/index.tsx CHANGED
@@ -31,6 +31,7 @@ export default class Avatar extends BaseComponent<AvatarProps, AvatarState> {
31
31
  onMouseLeave: noop,
32
32
  };
33
33
 
34
+ static elementType: string;
34
35
  static propTypes = {
35
36
  children: PropTypes.node,
36
37
  color: PropTypes.oneOf(colorSet),
@@ -192,7 +193,7 @@ export default class Avatar extends BaseComponent<AvatarProps, AvatarState> {
192
193
  const finalProps = clickable ? { ...props, ...a11yFocusProps } : props;
193
194
  content = (
194
195
  <span className={`${prefixCls}-content`}>
195
- <span {...finalProps} x-semi-prop="children">{children}</span>
196
+ <span {...finalProps} x-semi-prop="children">{children}</span>
196
197
  </span>
197
198
  );
198
199
  }
@@ -234,3 +235,4 @@ export default class Avatar extends BaseComponent<AvatarProps, AvatarState> {
234
235
  );
235
236
  }
236
237
  }
238
+ Avatar.elementType = 'Avatar';
@@ -1,9 +1,10 @@
1
- import React, { isValidElement, cloneElement } from 'react';
1
+ import React, { isValidElement, cloneElement, ReactNode } from 'react';
2
2
  import BaseComponent, { BaseProps } from '../_base/baseComponent';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
5
5
  import { cssClasses, strings } from '@douyinfe/semi-foundation/button/constants';
6
- import { Type, Size } from './Button';
6
+ import { get } from 'lodash';
7
+ import { Type, Size, ButtonProps } from './Button';
7
8
 
8
9
  import '@douyinfe/semi-foundation/button/button.scss';
9
10
 
@@ -39,9 +40,41 @@ export default class ButtonGroup extends BaseComponent<ButtonGroupProps> {
39
40
  size: 'default',
40
41
  };
41
42
 
43
+ getInnerWithLine(inner) {
44
+ const innerWithLine: ReactNode[] = [];
45
+ let lineCls = `${prefixCls}-group-line`;
46
+ if (inner.length > 1) {
47
+ inner.slice(0, -1).forEach(item => {
48
+ const isButtonType = get(item, 'type.elementType') === 'Button';
49
+ const buttonProps = get(item, 'props') as ButtonProps;
50
+ if (buttonProps) {
51
+ const { type, theme, disabled } = buttonProps;
52
+ lineCls = classNames(
53
+ `${prefixCls}-group-line`,
54
+ `${prefixCls}-group-line-${theme ?? 'light'}`,
55
+ `${prefixCls}-group-line-${type ?? 'primary'}`,
56
+ {
57
+ [`${prefixCls}-group-line-disabled`]: disabled,
58
+ }
59
+ );
60
+ }
61
+ if (isButtonType) {
62
+ innerWithLine.push(item, <span className={lineCls} />);
63
+ } else {
64
+ innerWithLine.push(item);
65
+ }
66
+ });
67
+ innerWithLine.push(inner.slice(-1));
68
+ return innerWithLine;
69
+ } else {
70
+ return inner;
71
+ }
72
+ }
73
+
42
74
  render() {
43
75
  const { children, disabled, size, type, className, 'aria-label': ariaLabel, ...rest } = this.props;
44
- let inner;
76
+ let inner: ReactNode[];
77
+ let innerWithLine: ReactNode[] = [];
45
78
  const cls = classNames(`${prefixCls}-group`, className);
46
79
 
47
80
  if (children) {
@@ -50,7 +83,8 @@ export default class ButtonGroup extends BaseComponent<ButtonGroupProps> {
50
83
  ? cloneElement(itm, { disabled, size, type, ...itm.props, ...rest, key: index })
51
84
  : itm
52
85
  ));
86
+ innerWithLine = this.getInnerWithLine(inner);
53
87
  }
54
- return <div className={cls} role="group" aria-label={ariaLabel}>{inner}</div>;
88
+ return <div className={cls} role="group" aria-label={ariaLabel}>{innerWithLine}</div>;
55
89
  }
56
90
  }
package/button/index.tsx CHANGED
@@ -18,6 +18,7 @@ class Button extends React.PureComponent<ButtonProps> {
18
18
  ...BaseButton.propTypes,
19
19
  ...IconButton.propTypes,
20
20
  };
21
+ static elementType: string;
21
22
  constructor(props = {}) {
22
23
  super(props);
23
24
  }
@@ -34,5 +35,6 @@ class Button extends React.PureComponent<ButtonProps> {
34
35
  }
35
36
  }
36
37
  }
38
+ Button.elementType = 'Button';
37
39
 
38
40
  export default Button;
@@ -31,6 +31,8 @@ export const CheckboxDefault = () => {
31
31
  </Checkbox>
32
32
  <br />
33
33
  <Checkbox indeterminate>indeterminate</Checkbox>
34
+ <Checkbox onChange={e => console.log(e)} value={1} onChange={v => console.log(v)}>
35
+ </Checkbox>
34
36
  </div>
35
37
  );
36
38
  };
@@ -81,6 +81,8 @@ class Checkbox extends BaseComponent<CheckboxProps, CheckboxState> {
81
81
  onMouseLeave: noop,
82
82
  type: 'default',
83
83
  };
84
+ static elementType: string;
85
+
84
86
  checkboxEntity: CheckboxInner;
85
87
  context: CheckboxContextType;
86
88
 
@@ -235,20 +237,27 @@ class Checkbox extends BaseComponent<CheckboxProps, CheckboxState> {
235
237
  const name = inGroup && this.context.checkboxGroup.name;
236
238
  const xSemiPropChildren = this.props['x-semi-children-alias'] || 'children';
237
239
 
238
- const renderContent = () => (
239
- <>
240
- {children ? (
241
- <span id={addonId} className={`${prefix}-addon`} x-semi-prop={xSemiPropChildren}>
242
- {children}
243
- </span>
244
- ) : null}
245
- {extra ? (
246
- <div id={extraId} className={extraCls} x-semi-prop="extra">
247
- {extra}
248
- </div>
249
- ) : null}
250
- </>
251
- );
240
+ const renderContent = () => {
241
+ if (!children && !extra) {
242
+ return null;
243
+ }
244
+
245
+ return (
246
+ <div className={`${prefix}-content`}>
247
+ {children ? (
248
+ <span id={addonId} className={`${prefix}-addon`} x-semi-prop={xSemiPropChildren}>
249
+ {children}
250
+ </span>
251
+ ) : null}
252
+ {extra ? (
253
+ <div id={extraId} className={extraCls} x-semi-prop="extra">
254
+ {extra}
255
+ </div>
256
+ ) : null}
257
+ </div>
258
+ );
259
+ };
260
+
252
261
  return (
253
262
  // label is better than span, however span is here which is to solve gitlab issue #364
254
263
  <span
@@ -276,15 +285,11 @@ class Checkbox extends BaseComponent<CheckboxProps, CheckboxState> {
276
285
  onInputFocus={this.handleFocusVisible}
277
286
  onInputBlur={this.handleBlur}
278
287
  />
279
- {
280
- props.isCardType ?
281
- <div>{renderContent()}</div> :
282
- renderContent()
283
- }
288
+ {renderContent()}
284
289
  </span>
285
290
  );
286
291
  }
287
292
  }
288
-
293
+ Checkbox.elementType = 'Checkbox';
289
294
 
290
295
  export default Checkbox;
@@ -120,6 +120,7 @@ class CheckboxGroup extends BaseComponent<CheckboxGroupProps, CheckboxGroupState
120
120
  [`${prefix }-wrapper`]: true,
121
121
  [`${prefix }-${ direction}`]: direction,
122
122
  [`${prefix}-${direction}-cardType`]: direction && isCardType,
123
+ [`${prefix}-${direction}-pureCardType`]: direction && isPureCardType,
123
124
  }, className);
124
125
 
125
126
  const realValue = this.state.value.slice();
package/dist/css/semi.css CHANGED
@@ -1778,6 +1778,10 @@ body {
1778
1778
  .semi-button-block {
1779
1779
  width: 100%;
1780
1780
  }
1781
+ .semi-button-group {
1782
+ display: flex;
1783
+ flex-wrap: wrap;
1784
+ }
1781
1785
  .semi-button-group > .semi-button {
1782
1786
  margin: 0;
1783
1787
  padding-left: 0;
@@ -1816,13 +1820,46 @@ body {
1816
1820
  border-top-left-radius: var(--semi-border-radius-small);
1817
1821
  border-bottom-left-radius: var(--semi-border-radius-small);
1818
1822
  }
1819
- .semi-button-group > .semi-button:not(:last-child) .semi-button-content {
1820
- border-right: 1px var(--semi-color-border) solid;
1821
- }
1822
1823
  .semi-button-group > .semi-button:last-child {
1823
1824
  border-top-right-radius: var(--semi-border-radius-small);
1824
1825
  border-bottom-right-radius: var(--semi-border-radius-small);
1825
1826
  }
1827
+ .semi-button-group-line {
1828
+ display: inline-flex;
1829
+ align-items: center;
1830
+ background-color: var(--semi-color-border);
1831
+ }
1832
+ .semi-button-group-line-primary {
1833
+ background-color: var(--semi-color-primary);
1834
+ }
1835
+ .semi-button-group-line-secondary {
1836
+ background-color: var(--semi-color-secondary);
1837
+ }
1838
+ .semi-button-group-line-tertiary {
1839
+ background-color: var(--semi-color-tertiary);
1840
+ }
1841
+ .semi-button-group-line-warning {
1842
+ background-color: var(--semi-color-warning);
1843
+ }
1844
+ .semi-button-group-line-danger {
1845
+ background-color: var(--semi-color-danger);
1846
+ }
1847
+ .semi-button-group-line-disabled {
1848
+ background-color: var(--semi-color-disabled-bg);
1849
+ }
1850
+ .semi-button-group-line-light {
1851
+ background-color: var(--semi-color-fill-0);
1852
+ }
1853
+ .semi-button-group-line-borderless {
1854
+ background-color: transparent;
1855
+ }
1856
+ .semi-button-group-line::before {
1857
+ display: block;
1858
+ content: "";
1859
+ width: 1px;
1860
+ height: 20px;
1861
+ background-color: var(--semi-color-border);
1862
+ }
1826
1863
 
1827
1864
  .semi-rtl .semi-button,
1828
1865
  .semi-portal-rtl .semi-button {
@@ -3471,7 +3508,7 @@ body {
3471
3508
  box-sizing: border-box;
3472
3509
  position: relative;
3473
3510
  display: flex;
3474
- align-items: center;
3511
+ align-items: flex-start;
3475
3512
  flex-wrap: wrap;
3476
3513
  font-size: 14px;
3477
3514
  line-height: 20px;
@@ -3479,6 +3516,7 @@ body {
3479
3516
  cursor: pointer;
3480
3517
  transition: background-color var(--semi-transition_duration-faster) var(--semi-transition_function-easeIn) var(--semi-transition_delay-fastest), border var(--semi-transition_duration-faster) var(--semi-transition_function-easeIn) var(--semi-transition_delay-fastest);
3481
3518
  transform: scale(var(--semi-transform_scale-none));
3519
+ column-gap: 8px;
3482
3520
  }
3483
3521
  .semi-checkbox input[type=checkbox] {
3484
3522
  position: absolute;
@@ -3489,11 +3527,16 @@ body {
3489
3527
  margin: 0;
3490
3528
  opacity: 0;
3491
3529
  }
3530
+ .semi-checkbox-content {
3531
+ flex: 1;
3532
+ display: flex;
3533
+ flex-direction: column;
3534
+ row-gap: 4px;
3535
+ }
3492
3536
  .semi-checkbox-addon {
3493
3537
  display: flex;
3494
3538
  flex: 1;
3495
3539
  align-items: center;
3496
- padding-left: 8px;
3497
3540
  color: var(--semi-color-text-0);
3498
3541
  line-height: 20px;
3499
3542
  user-select: none;
@@ -3596,7 +3639,6 @@ body {
3596
3639
  }
3597
3640
  .semi-checkbox-cardType .semi-checkbox-inner {
3598
3641
  position: relative;
3599
- margin-right: 8px;
3600
3642
  flex-shrink: 0;
3601
3643
  }
3602
3644
  .semi-checkbox-cardType .semi-checkbox-inner-display {
@@ -3605,22 +3647,18 @@ body {
3605
3647
  .semi-checkbox-cardType .semi-checkbox-inner-pureCardType {
3606
3648
  opacity: 0;
3607
3649
  width: 0;
3608
- margin-right: 0;
3609
3650
  }
3610
3651
  .semi-checkbox-cardType .semi-checkbox-addon {
3611
3652
  font-weight: 600;
3612
3653
  font-size: 14px;
3613
3654
  line-height: 20px;
3614
3655
  color: var(--semi-color-text-0);
3615
- margin-left: 0;
3616
- padding-left: 0;
3617
3656
  }
3618
3657
  .semi-checkbox-cardType .semi-checkbox-extra {
3619
3658
  font-weight: normal;
3620
3659
  font-size: 14px;
3621
3660
  line-height: 20px;
3622
3661
  color: var(--semi-color-text-2);
3623
- padding-left: 0;
3624
3662
  }
3625
3663
  .semi-checkbox-cardType .semi-checkbox-extra.semi-checkbox-cardType_extra_noChildren {
3626
3664
  margin-top: 0;
@@ -3722,9 +3760,7 @@ body {
3722
3760
  flex-grow: 1;
3723
3761
  flex-basis: 100%;
3724
3762
  box-sizing: border-box;
3725
- padding-left: 24px;
3726
3763
  color: var(--semi-color-text-2);
3727
- margin-top: 4px;
3728
3764
  }
3729
3765
  .semi-checkbox-focus {
3730
3766
  outline: 2px solid var(--semi-color-primary-light-active);
@@ -3742,21 +3778,24 @@ body {
3742
3778
  .semi-checkboxGroup .semi-checkbox.semi-checkbox-vertical {
3743
3779
  margin-bottom: 16px;
3744
3780
  }
3781
+ .semi-checkboxGroup-horizontal {
3782
+ display: flex;
3783
+ flex-wrap: wrap;
3784
+ gap: 16px;
3785
+ }
3745
3786
  .semi-checkboxGroup-horizontal .semi-checkbox {
3746
- margin-right: 16px;
3747
3787
  display: inline-flex;
3748
3788
  }
3749
- .semi-checkboxGroup-horizontal .semi-checkbox:last-of-type {
3750
- margin-right: 0;
3751
- }
3752
- .semi-checkboxGroup-vertical .semi-checkbox {
3753
- margin-bottom: 12px;
3789
+ .semi-checkboxGroup-vertical {
3790
+ display: flex;
3791
+ flex-direction: column;
3792
+ row-gap: 12px;
3754
3793
  }
3755
- .semi-checkboxGroup-vertical .semi-checkbox:last-of-type {
3756
- margin-bottom: 0;
3794
+ .semi-checkboxGroup-vertical-cardType {
3795
+ row-gap: 16px;
3757
3796
  }
3758
- .semi-checkboxGroup-vertical-cardType .semi-checkbox {
3759
- margin-bottom: 16px;
3797
+ .semi-checkboxGroup-vertical-pureCardType .semi-checkbox {
3798
+ column-gap: 0;
3760
3799
  }
3761
3800
 
3762
3801
  .semi-rtl .semi-checkbox,
@@ -3768,43 +3807,10 @@ body {
3768
3807
  left: auto;
3769
3808
  right: 0;
3770
3809
  }
3771
- .semi-rtl .semi-checkbox-addon,
3772
- .semi-portal-rtl .semi-checkbox-addon {
3773
- padding-left: 0;
3774
- padding-right: 8px;
3775
- }
3776
- .semi-rtl .semi-checkbox-extra,
3777
- .semi-portal-rtl .semi-checkbox-extra {
3778
- padding-left: 0;
3779
- padding-right: 24px;
3780
- }
3781
- .semi-rtl .semi-checkbox-cardType .semi-checkbox-inner,
3782
- .semi-portal-rtl .semi-checkbox-cardType .semi-checkbox-inner {
3783
- margin-right: 0;
3784
- margin-left: 8px;
3785
- }
3786
- .semi-rtl .semi-checkbox-cardType .semi-checkbox-addon,
3787
- .semi-portal-rtl .semi-checkbox-cardType .semi-checkbox-addon {
3788
- margin-right: 0;
3789
- padding-right: 0;
3790
- }
3791
- .semi-rtl .semi-checkbox-cardType .semi-checkbox-extra,
3792
- .semi-portal-rtl .semi-checkbox-cardType .semi-checkbox-extra {
3793
- padding-right: 0;
3794
- }
3795
3810
  .semi-rtl .semi-checkboxGroup,
3796
3811
  .semi-portal-rtl .semi-checkboxGroup {
3797
3812
  direction: rtl;
3798
3813
  }
3799
- .semi-rtl .semi-checkboxGroup-horizontal .semi-checkbox,
3800
- .semi-portal-rtl .semi-checkboxGroup-horizontal .semi-checkbox {
3801
- margin-right: 0;
3802
- margin-left: 16px;
3803
- }
3804
- .semi-rtl .semi-checkboxGroup-horizontal .semi-checkbox:last-of-type,
3805
- .semi-portal-rtl .semi-checkboxGroup-horizontal .semi-checkbox:last-of-type {
3806
- margin-left: 0;
3807
- }
3808
3814
 
3809
3815
  .semi-collapse-item {
3810
3816
  border-bottom: 1px solid var(--semi-color-border);
@@ -19617,6 +19623,9 @@ body {
19617
19623
  user-select: none;
19618
19624
  cursor: not-allowed;
19619
19625
  }
19626
+ .semi-tree-option-list .semi-checkboxGroup-vertical {
19627
+ row-gap: 0;
19628
+ }
19620
19629
 
19621
19630
  .semi-tree-option-list-block .semi-tree-option:hover {
19622
19631
  background-color: var(--semi-color-fill-0);