@douyinfe/semi-foundation 2.22.3 → 2.23.0-alpha.2

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 (76) hide show
  1. package/cascader/cascader.scss +15 -0
  2. package/cascader/variables.scss +1 -0
  3. package/checkbox/variables.scss +1 -1
  4. package/form/form.scss +3 -4
  5. package/form/interface.ts +8 -4
  6. package/form/rtl.scss +0 -1
  7. package/form/variables.scss +38 -35
  8. package/image/imageFoundation.ts +1 -1
  9. package/image/previewFooterFoundation.ts +2 -2
  10. package/image/previewImageFoundation.ts +0 -1
  11. package/image/previewInnerFoundation.ts +2 -2
  12. package/lib/cjs/cascader/cascader.css +12 -0
  13. package/lib/cjs/cascader/cascader.scss +15 -0
  14. package/lib/cjs/cascader/variables.scss +1 -0
  15. package/lib/cjs/checkbox/variables.scss +1 -1
  16. package/lib/cjs/form/form.css +0 -2
  17. package/lib/cjs/form/form.scss +3 -4
  18. package/lib/cjs/form/interface.d.ts +8 -6
  19. package/lib/cjs/form/rtl.scss +0 -1
  20. package/lib/cjs/form/variables.scss +38 -35
  21. package/lib/cjs/image/imageFoundation.js +1 -1
  22. package/lib/cjs/image/previewFooterFoundation.js +2 -2
  23. package/lib/cjs/image/previewInnerFoundation.d.ts +1 -1
  24. package/lib/cjs/image/previewInnerFoundation.js +1 -1
  25. package/lib/cjs/navigation/navigation.css +6 -0
  26. package/lib/cjs/navigation/navigation.scss +9 -0
  27. package/lib/cjs/table/constants.d.ts +1 -0
  28. package/lib/cjs/table/constants.js +4 -2
  29. package/lib/cjs/table/table.css +2 -1
  30. package/lib/cjs/table/table.scss +2 -1
  31. package/lib/cjs/tabs/tabs.css +40 -0
  32. package/lib/cjs/tabs/tabs.scss +43 -2
  33. package/lib/cjs/tabs/variables.scss +20 -0
  34. package/lib/cjs/tooltip/constants.d.ts +1 -0
  35. package/lib/cjs/tooltip/constants.js +2 -2
  36. package/lib/cjs/tooltip/foundation.d.ts +21 -2
  37. package/lib/cjs/tooltip/foundation.js +352 -77
  38. package/lib/cjs/transfer/foundation.d.ts +1 -1
  39. package/lib/cjs/transfer/foundation.js +3 -4
  40. package/lib/es/cascader/cascader.css +12 -0
  41. package/lib/es/cascader/cascader.scss +15 -0
  42. package/lib/es/cascader/variables.scss +1 -0
  43. package/lib/es/checkbox/variables.scss +1 -1
  44. package/lib/es/form/form.css +0 -2
  45. package/lib/es/form/form.scss +3 -4
  46. package/lib/es/form/interface.d.ts +8 -6
  47. package/lib/es/form/rtl.scss +0 -1
  48. package/lib/es/form/variables.scss +38 -35
  49. package/lib/es/image/imageFoundation.js +1 -1
  50. package/lib/es/image/previewFooterFoundation.js +2 -2
  51. package/lib/es/image/previewInnerFoundation.d.ts +1 -1
  52. package/lib/es/image/previewInnerFoundation.js +1 -1
  53. package/lib/es/navigation/navigation.css +6 -0
  54. package/lib/es/navigation/navigation.scss +9 -0
  55. package/lib/es/table/constants.d.ts +1 -0
  56. package/lib/es/table/constants.js +4 -2
  57. package/lib/es/table/table.css +2 -1
  58. package/lib/es/table/table.scss +2 -1
  59. package/lib/es/tabs/tabs.css +40 -0
  60. package/lib/es/tabs/tabs.scss +43 -2
  61. package/lib/es/tabs/variables.scss +20 -0
  62. package/lib/es/tooltip/constants.d.ts +1 -0
  63. package/lib/es/tooltip/constants.js +2 -2
  64. package/lib/es/tooltip/foundation.d.ts +21 -2
  65. package/lib/es/tooltip/foundation.js +352 -77
  66. package/lib/es/transfer/foundation.d.ts +1 -1
  67. package/lib/es/transfer/foundation.js +3 -4
  68. package/navigation/navigation.scss +9 -0
  69. package/package.json +2 -2
  70. package/table/constants.ts +2 -0
  71. package/table/table.scss +2 -1
  72. package/tabs/tabs.scss +43 -2
  73. package/tabs/variables.scss +20 -0
  74. package/tooltip/constants.ts +1 -0
  75. package/tooltip/foundation.ts +318 -78
  76. package/transfer/foundation.ts +3 -3
@@ -103,12 +103,52 @@
103
103
  outline: 2px solid var(--semi-color-primary-light-active);
104
104
  outline-offset: -2px;
105
105
  }
106
+ .semi-tabs-bar-collapse .semi-overflow-list > .semi-button-disabled {
107
+ color: var(--semi-color-disabled-text);
108
+ background-color: transparent;
109
+ }
110
+ .semi-tabs-bar-collapse .semi-overflow-list > .semi-button-disabled:hover {
111
+ color: var(--semi-color-disabled-text);
112
+ background-color: transparent;
113
+ }
106
114
  .semi-tabs-bar-collapse .semi-tabs-bar-arrow-start {
107
115
  margin-right: 4px;
108
116
  }
117
+ .semi-tabs-bar-collapse .semi-tabs-bar-arrow-start > .semi-button {
118
+ color: var(--semi-color-primary);
119
+ padding: 8px;
120
+ border: 0px solid transparent;
121
+ background-color: transparent;
122
+ }
123
+ .semi-tabs-bar-collapse .semi-tabs-bar-arrow-start > .semi-button:hover {
124
+ background-color: var(--semi-color-fill-0);
125
+ color: var(--semi-color-primary);
126
+ border-color: transparent;
127
+ }
128
+ .semi-tabs-bar-collapse .semi-tabs-bar-arrow-start > .semi-button:active {
129
+ background-color: var(--semi-color-fill-1);
130
+ color: var(--semi-color-primary);
131
+ border-color: transparent;
132
+ }
109
133
  .semi-tabs-bar-collapse .semi-tabs-bar-arrow-end {
110
134
  margin-left: 4px;
111
135
  }
136
+ .semi-tabs-bar-collapse .semi-tabs-bar-arrow-end > .semi-button {
137
+ color: var(--semi-color-primary);
138
+ padding: 8px;
139
+ border: 0px solid transparent;
140
+ background-color: transparent;
141
+ }
142
+ .semi-tabs-bar-collapse .semi-tabs-bar-arrow-end > .semi-button:hover {
143
+ background-color: var(--semi-color-fill-0);
144
+ color: var(--semi-color-primary);
145
+ border-color: transparent;
146
+ }
147
+ .semi-tabs-bar-collapse .semi-tabs-bar-arrow-end > .semi-button:active {
148
+ background-color: var(--semi-color-fill-1);
149
+ color: var(--semi-color-primary);
150
+ border-color: transparent;
151
+ }
112
152
  .semi-tabs-bar-dropdown {
113
153
  max-height: 300px;
114
154
  overflow-y: auto;
@@ -134,14 +134,55 @@ $module: #{$prefix}-tabs;
134
134
  outline-offset: $width-tabs-outline-offset;
135
135
  }
136
136
  }
137
+ & > .#{$prefix}-button-disabled{
138
+ color: $color-tabs_tab-pane_arrow_disabled-text-default;
139
+ background-color: $color-tabs_tab-pane_arrow_disabled-bg-default;
140
+ &:hover{
141
+ color: $color-tabs_tab-pane_arrow_disabled-text-hover;
142
+ background-color: $color-tabs_tab-pane_arrow_disabled-bg-hover;
143
+ }
144
+ }
137
145
  }
138
146
 
139
147
  .#{$module}-bar-arrow-start {
140
148
  margin-right: $spacing-tabs_overflow_icon-marginRight;
149
+ & > .#{$prefix}-button{
150
+ color: $color-tabs_tab-pane_arrow-text-default;
151
+ padding: $spacing-tabs_tab-pane_arrow;
152
+ border: $width-tabs_tab-pane_arrow-border solid $color-tabs_tab-pane_arrow-border-default;
153
+ background-color: $color-tabs_tab-pane_arrow-bg-default;
154
+ &:hover{
155
+ background-color: var(--semi-color-fill-0);
156
+ color: $color-tabs_tab-pane_arrow-text-hover;
157
+ border-color: $color-tabs_tab-pane_arrow-border-hover;
158
+ }
159
+ &:active{
160
+ background-color: var(--semi-color-fill-1);
161
+ color: $color-tabs_tab-pane_arrow-text-active;
162
+ border-color: $color-tabs_tab-pane_arrow-border-active;
163
+ }
164
+ }
165
+
141
166
  }
142
167
 
143
168
  .#{$module}-bar-arrow-end {
144
169
  margin-left: $spacing-tabs_overflow_icon-marginLeft;
170
+ & > .#{$prefix}-button{
171
+ color: $color-tabs_tab-pane_arrow-text-default;
172
+ padding: $spacing-tabs_tab-pane_arrow;
173
+ border: $width-tabs_tab-pane_arrow-border solid $color-tabs_tab-pane_arrow-border-default;
174
+ background-color: $color-tabs_tab-pane_arrow-bg-default;
175
+ &:hover{
176
+ background-color: var(--semi-color-fill-0);
177
+ color: $color-tabs_tab-pane_arrow-text-hover;
178
+ border-color: $color-tabs_tab-pane_arrow-border-hover;
179
+ }
180
+ &:active{
181
+ background-color: var(--semi-color-fill-1);
182
+ color: $color-tabs_tab-pane_arrow-text-active;
183
+ border-color: $color-tabs_tab-pane_arrow-border-active;
184
+ }
185
+ }
145
186
  }
146
187
  }
147
188
 
@@ -160,13 +201,13 @@ $module: #{$prefix}-tabs;
160
201
  &-bar-line {
161
202
  &.#{$module}-bar-top {
162
203
  border-bottom: $width-tabs_bar_line-border solid $color-tabs_tab_line_default-border-default;
163
- transition: color $transition_duration-tabs_tab_line-text $transition_function-tabs_tab_line-text $transition_delay-tabs_tab_line-text;//线条式tabs的 color的transition
204
+ transition: color $transition_duration-tabs_tab_line-text $transition_function-tabs_tab_line-text $transition_delay-tabs_tab_line-text; //线条式tabs的 color的transition
164
205
  transform:scale($transform_scale-tabs_tab_line-item);
165
206
 
166
207
  .#{$module}-tab {
167
208
  padding: $spacing-tabs_bar_line_tab-paddingTop $spacing-tabs_bar_line_tab-paddingRight $spacing-tabs_bar_line_tab-paddingBottom $spacing-tabs_bar_line_tab-paddingLeft;
168
209
  transition: border-bottom-color $transition_duration-tabs_tab_line-border $transition_function-tabs_tab_line-border $transition_delay-tabs_tab_line-border,
169
- color $transition_duration-tabs_tab_line-text $transition_function-tabs_tab_line-text $transition_delay-tabs_tab_line-text;//线条式tabs的border-color 的 transition
210
+ color $transition_duration-tabs_tab_line-text $transition_function-tabs_tab_line-text $transition_delay-tabs_tab_line-text; //线条式tabs的border-color 的 transition
170
211
  &:nth-of-type(1) {
171
212
  padding-left: 0;
172
213
  }
@@ -48,6 +48,23 @@ $color-tabs_tab-outline-focus: var(--semi-color-primary-light-active); // 页签
48
48
 
49
49
  $color-tabs_tab-pane-text-default: var(--semi-color-text-0); // 标签页内容文本颜色 - 默认
50
50
 
51
+ $color-tabs_tab-pane_arrow-text-default: var(--semi-color-primary); // 滚动折叠箭头颜色 - 默认
52
+ $color-tabs_tab-pane_arrow-border-default: transparent; // 滚动折叠箭头边框颜色 - 默认
53
+ $color-tabs_tab-pane_arrow-bg-default:transparent; // 滚动折叠箭头背景色 - 默认
54
+
55
+ $color-tabs_tab-pane_arrow-text-hover: var(--semi-color-primary); // 滚动折叠箭头颜色 - 悬浮
56
+ $color-tabs_tab-pane_arrow-border-hover: transparent; // 滚动折叠箭头边框颜色 - 悬浮
57
+ $color-tabs_tab-pane_arrow-bg-hover: var(--semi-color-fill-0); // 滚动折叠箭头背景色 - 悬浮
58
+
59
+ $color-tabs_tab-pane_arrow-text-active: var(--semi-color-primary); // 滚动折叠箭头颜色 - 按下
60
+ $color-tabs_tab-pane_arrow-border-active: transparent; // 滚动折叠箭头边框颜色 - 按下
61
+ $color-tabs_tab-pane_arrow-bg-active: var(--semi-color-fill-1); // 滚动折叠箭头背景色 - 按下
62
+
63
+ $color-tabs_tab-pane_arrow_disabled-bg-default: transparent;
64
+ $color-tabs_tab-pane_arrow_disabled-bg-hover: transparent;
65
+ $color-tabs_tab-pane_arrow_disabled-text-default: var(--semi-color-disabled-text);
66
+ $color-tabs_tab-pane_arrow_disabled-text-hover: var(--semi-color-disabled-text);
67
+
51
68
  $font-tabs_tab-fontWeight: $font-weight-regular; // 页签文本字重 - 默认
52
69
  $font-tabs_tab_active-fontWeight: $font-weight-bold; // 页签文本字重 - 选中
53
70
 
@@ -60,6 +77,7 @@ $width-tabs_bar_card-border: $border-thickness-control; // 卡片式页签底部
60
77
  $width-tabs-outline: 2px; // 聚焦轮廓宽度
61
78
  $width-tabs-outline-offset: -2px; // 聚焦轮廓偏移宽度
62
79
  $width-tabs_bar_line-outline-offset: -1px; // 线条式页签聚焦轮廓偏移宽度
80
+ $width-tabs_tab-pane_arrow-border:0px; // 滚动折叠箭头边框宽度
63
81
 
64
82
  $height-tabs_bar_extra_large: 50px; // 大尺寸页签高度
65
83
  $font-tabs_bar_extra_large-lineHeight: $height-tabs_bar_extra_large; // 大尺寸页签文字行高
@@ -67,6 +85,7 @@ $font-tabs_bar_extra_large-lineHeight: $height-tabs_bar_extra_large; // 大尺
67
85
  $height-tabs_bar_extra_small: 36px; // 小尺寸页签高度
68
86
  $font-tabs_bar_extra_small-lineHeight: $height-tabs_bar_extra_small; // 小尺寸页签文字行高
69
87
 
88
+ $spacing-tabs_tab-pane_arrow: 8px; //滚动折叠箭头内边距
70
89
  $spacing-tabs_bar_extra-paddingY: 0px; // 附加操作垂直内边距
71
90
  $spacing-tabs_bar_extra-paddingX: 5px; // 附加操作水平内边距
72
91
  $spacing-tabs_tab_icon-marginRight: $spacing-tight; // 附加操作垂直内边距
@@ -119,3 +138,4 @@ $spacing-tabs_bar_button_tab-paddingX: $spacing-base-tight; // 按钮式页签
119
138
  $radius-tabs_tab_card: var(--semi-border-radius-small) var(--semi-border-radius-small) 0 0; // 卡片式页签四向圆角
120
139
  $radius-tabs_tab_card_left: var(--semi-border-radius-small) 0 0 var(--semi-border-radius-small); // 垂直卡片式页签四向圆角
121
140
  $radius-tabs_tab_button: var(--semi-border-radius-small); // 按钮式页签圆角
141
+
@@ -18,5 +18,6 @@ declare const numbers: {
18
18
  readonly MOUSE_ENTER_DELAY: 50;
19
19
  readonly MOUSE_LEAVE_DELAY: 50;
20
20
  readonly SPACING: 8;
21
+ readonly MARGIN: 0;
21
22
  };
22
23
  export { cssClasses, strings, numbers };
@@ -28,7 +28,7 @@ const numbers = {
28
28
  DEFAULT_Z_INDEX: 1060,
29
29
  MOUSE_ENTER_DELAY: 50,
30
30
  MOUSE_LEAVE_DELAY: 50,
31
- SPACING: 8 // Values are consistent with spacing-tight in scss
32
-
31
+ SPACING: 8,
32
+ MARGIN: 0
33
33
  };
34
34
  exports.numbers = numbers;
@@ -65,7 +65,10 @@ export default class Tooltip<P = Record<string, any>, S = Record<string, any>> e
65
65
  _bindResizeEvent(): void;
66
66
  unBindResizeEvent(): void;
67
67
  removePortal: () => void;
68
+ _adjustPos(position?: string, isVertical?: boolean, adjustType?: string, concatPos?: any): string;
68
69
  _reversePos(position?: string, isVertical?: boolean): string;
70
+ _expandPos(position: string, concatPos: string): string;
71
+ _reducePos(position?: string): string;
69
72
  clearDelayTimer(): void;
70
73
  _generateEvent(types: ArrayElement<typeof strings.TRIGGER_SET>): {
71
74
  triggerEventSet: {
@@ -80,7 +83,14 @@ export default class Tooltip<P = Record<string, any>, S = Record<string, any>> e
80
83
  _togglePortalVisible(isVisible: boolean): void;
81
84
  _roundPixel(pixel: number): number;
82
85
  calcTransformOrigin(position: Position, triggerRect: DOMRect, translateX: number, translateY: number): string;
83
- calcPosStyle(triggerRect: DOMRect, wrapperRect: DOMRect, containerRect: PopupContainerDOMRect, position?: Position, spacing?: number): Record<string, string | number>;
86
+ calcPosStyle(props: {
87
+ triggerRect: DOMRect;
88
+ wrapperRect: DOMRect;
89
+ containerRect: PopupContainerDOMRect;
90
+ position?: Position;
91
+ spacing?: number;
92
+ isOverFlow?: [boolean, boolean];
93
+ }): Record<string, string | number>;
84
94
  /**
85
95
  * 耦合的东西比较多,稍微罗列一下:
86
96
  *
@@ -97,7 +107,16 @@ export default class Tooltip<P = Record<string, any>, S = Record<string, any>> e
97
107
  calcPosition: (triggerRect?: DOMRect, wrapperRect?: DOMRect, containerRect?: PopupContainerDOMRect, shouldUpdatePos?: boolean) => Record<string, string | number>;
98
108
  isLR(position?: string): boolean;
99
109
  isTB(position?: string): boolean;
100
- adjustPosIfNeed(position: Position | string, style: Record<string, any>, triggerRect: DOMRect, wrapperRect: DOMRect, containerRect: PopupContainerDOMRect): string;
110
+ isReverse(rowSpace: number, reverseSpace: number, size: number): boolean;
111
+ isOverFlow(rowSpace: number, reverseSpace: number, size: number): boolean;
112
+ isHalfOverFlow(posSpace: number, negSpace: number, size: number): boolean;
113
+ isHalfAllEnough(posSpace: number, negSpace: number, size: number): boolean;
114
+ getReverse(viewOverFlow: boolean, containerOverFlow: boolean, shouldReverseView: boolean, shouldReverseContainer: boolean): boolean;
115
+ adjustPosIfNeed(position: Position | string, style: Record<string, any>, triggerRect: DOMRect, wrapperRect: DOMRect, containerRect: PopupContainerDOMRect): {
116
+ position: string;
117
+ isHeightOverFlow: boolean;
118
+ isWidthOverFlow: boolean;
119
+ };
101
120
  delayHide: () => void;
102
121
  hide: () => void;
103
122
  _bindScrollEvent(): void;