@douyinfe/semi-foundation 2.37.0 → 2.38.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.
package/badge/badge.scss CHANGED
@@ -163,6 +163,19 @@ $module: #{$prefix}-badge;
163
163
  }
164
164
  }
165
165
 
166
+ &-success {
167
+ &.#{$module}-solid {
168
+ background-color: $color-badge_success_solid-bg-default;
169
+ }
170
+ &.#{$module}-light {
171
+ background-color: $color-badge_success_light-bg-default;
172
+ color: $color-badge_success_light-text-default;
173
+ }
174
+ &.#{$module}-inverted {
175
+ color: $color-badge_success_inverted-text-default;
176
+ }
177
+ }
178
+
166
179
  }
167
180
 
168
181
  @import "./rtl.scss";
@@ -29,6 +29,10 @@ $color-badge_warning_light-bg-default: var(--semi-color-warning-light-default);
29
29
  $color-badge_warning_light-text-default: var(--semi-color-warning); // 文字颜色 - 浅版危险
30
30
  $color-badge_warning_inverted-text-default: var(--semi-color-warning); // 文字颜色 - 白底
31
31
 
32
+ $color-badge_success_solid-bg-default: var(--semi-color-success); // 背景颜色 - 成功
33
+ $color-badge_success_light-bg-default: var(--semi-color-success-light-default); // 背景颜色 - 浅版成功
34
+ $color-badge_success_light-text-default: var(--semi-color-success); // 文字颜色 - 浅版成功
35
+ $color-badge_success_inverted-text-default: var(--semi-color-success); // 文字颜色 - 白底
32
36
 
33
37
  $width-badge_dot: 8px; // 点状徽标宽度
34
38
  $height-badge_dot: 8px; // 点状徽标高度
@@ -25,7 +25,7 @@ $module: #{$prefix}-cascader;
25
25
  border: $width-cascader_hover-border $color-cascader_default-border-hover solid;
26
26
  }
27
27
 
28
- &:focus {
28
+ &:focus:not(&-disabled) {
29
29
  border: $width-cascader_focus-border solid $color-cascader_default-border-focus;
30
30
  background-color: $color-cascader_default-bg-default;
31
31
  outline: 0;
package/form/interface.ts CHANGED
@@ -58,7 +58,7 @@ export interface BaseFormApi<T extends object = any> {
58
58
  /** submit form manual */
59
59
  submitForm: () => void;
60
60
  /** reset form manual */
61
- reset: () => void;
61
+ reset: (fields?: Array<string>) => void;
62
62
  /** trigger validate manual */
63
63
  validate: <K extends keyof T, Params extends Array<K>, V extends Params[number]>(fields?: Params) => Promise<{ [R in V]: T[R] }>;
64
64
  getInitValue: <K extends keyof T>(field: K) => any;
@@ -139,6 +139,16 @@
139
139
  .semi-badge-warning.semi-badge-inverted {
140
140
  color: var(--semi-color-warning);
141
141
  }
142
+ .semi-badge-success.semi-badge-solid {
143
+ background-color: var(--semi-color-success);
144
+ }
145
+ .semi-badge-success.semi-badge-light {
146
+ background-color: var(--semi-color-success-light-default);
147
+ color: var(--semi-color-success);
148
+ }
149
+ .semi-badge-success.semi-badge-inverted {
150
+ color: var(--semi-color-success);
151
+ }
142
152
 
143
153
  .semi-rtl .semi-badge,
144
154
  .semi-portal-rtl .semi-badge {
@@ -163,6 +163,19 @@ $module: #{$prefix}-badge;
163
163
  }
164
164
  }
165
165
 
166
+ &-success {
167
+ &.#{$module}-solid {
168
+ background-color: $color-badge_success_solid-bg-default;
169
+ }
170
+ &.#{$module}-light {
171
+ background-color: $color-badge_success_light-bg-default;
172
+ color: $color-badge_success_light-text-default;
173
+ }
174
+ &.#{$module}-inverted {
175
+ color: $color-badge_success_inverted-text-default;
176
+ }
177
+ }
178
+
166
179
  }
167
180
 
168
181
  @import "./rtl.scss";
@@ -29,6 +29,10 @@ $color-badge_warning_light-bg-default: var(--semi-color-warning-light-default);
29
29
  $color-badge_warning_light-text-default: var(--semi-color-warning); // 文字颜色 - 浅版危险
30
30
  $color-badge_warning_inverted-text-default: var(--semi-color-warning); // 文字颜色 - 白底
31
31
 
32
+ $color-badge_success_solid-bg-default: var(--semi-color-success); // 背景颜色 - 成功
33
+ $color-badge_success_light-bg-default: var(--semi-color-success-light-default); // 背景颜色 - 浅版成功
34
+ $color-badge_success_light-text-default: var(--semi-color-success); // 文字颜色 - 浅版成功
35
+ $color-badge_success_inverted-text-default: var(--semi-color-success); // 文字颜色 - 白底
32
36
 
33
37
  $width-badge_dot: 8px; // 点状徽标宽度
34
38
  $height-badge_dot: 8px; // 点状徽标高度
@@ -21,7 +21,7 @@
21
21
  background-color: var(--semi-color-fill-1);
22
22
  border: 1px transparent solid;
23
23
  }
24
- .semi-cascader:focus {
24
+ .semi-cascader:focus:not(.semi-cascader-disabled) {
25
25
  border: 1px solid var(--semi-color-focus-border);
26
26
  background-color: var(--semi-color-fill-0);
27
27
  outline: 0;
@@ -25,7 +25,7 @@ $module: #{$prefix}-cascader;
25
25
  border: $width-cascader_hover-border $color-cascader_default-border-hover solid;
26
26
  }
27
27
 
28
- &:focus {
28
+ &:focus:not(&-disabled) {
29
29
  border: $width-cascader_focus-border solid $color-cascader_default-border-focus;
30
30
  background-color: $color-cascader_default-bg-default;
31
31
  outline: 0;
@@ -51,7 +51,7 @@ export interface BaseFormApi<T extends object = any> {
51
51
  /** submit form manual */
52
52
  submitForm: () => void;
53
53
  /** reset form manual */
54
- reset: () => void;
54
+ reset: (fields?: Array<string>) => void;
55
55
  /** trigger validate manual */
56
56
  validate: <K extends keyof T, Params extends Array<K>, V extends Params[number]>(fields?: Params) => Promise<{
57
57
  [R in V]: T[R];
@@ -166,7 +166,7 @@ export interface BasicTreeProps {
166
166
  onExpand?: (expandedKeys: string[], expandedOtherProps: BasicExpandedOtherProps) => void;
167
167
  onLoad?: (loadedKeys?: Set<string>, treeNode?: BasicTreeNodeData) => void;
168
168
  onContextMenu?: (e: any, node: BasicTreeNodeData) => void;
169
- onSearch?: (sunInput: string) => void;
169
+ onSearch?: (sunInput: string, filteredExpandedKeys: string[]) => void;
170
170
  onSelect?: (selectedKeys: string, selected: boolean, selectedNode: BasicTreeNodeData) => void;
171
171
  preventScroll?: boolean;
172
172
  renderDraggingNode?: (nodeInstance: HTMLElement, node: BasicTreeNodeData) => HTMLElement;
@@ -227,7 +227,7 @@ export interface TreeAdapter extends DefaultAdapter<BasicTreeProps, BasicTreeInn
227
227
  notifyExpand: (expandedKeys: Set<string>, { expanded, node }: BasicExpandedOtherProps) => void;
228
228
  notifySelect: (selectKey: string, bool: boolean, node: BasicTreeNodeData) => void;
229
229
  notifyChange: (value: BasicValue) => void;
230
- notifySearch: (input: string) => void;
230
+ notifySearch: (input: string, filteredExpandedKeys: string[]) => void;
231
231
  notifyRightClick: (e: any, node: BasicTreeNodeData) => void;
232
232
  notifyDoubleClick: (e: any, node: BasicTreeNodeData) => void;
233
233
  cacheFlattenNodes: (bool: boolean) => void;
@@ -196,13 +196,14 @@ class TreeFoundation extends _foundation.default {
196
196
  filteredShownKeys = new Set([...shownChildKeys, ...expandedOptsKeys]);
197
197
  flattenNodes = (0, _treeUtil.flattenTreeData)(treeData, new Set(expandedOptsKeys), showFilteredOnly && filteredShownKeys);
198
198
  }
199
- this._adapter.notifySearch(sugInput);
199
+ const newFilteredExpandedKeys = new Set(expandedOptsKeys);
200
+ this._adapter.notifySearch(sugInput, Array.from(newFilteredExpandedKeys));
200
201
  this._adapter.updateState({
201
202
  expandedKeys,
202
203
  flattenNodes,
203
204
  motionKeys: new Set([]),
204
205
  filteredKeys: new Set(filteredOptsKeys),
205
- filteredExpandedKeys: new Set(expandedOptsKeys),
206
+ filteredExpandedKeys: newFilteredExpandedKeys,
206
207
  filteredShownKeys
207
208
  });
208
209
  }
@@ -139,6 +139,16 @@
139
139
  .semi-badge-warning.semi-badge-inverted {
140
140
  color: var(--semi-color-warning);
141
141
  }
142
+ .semi-badge-success.semi-badge-solid {
143
+ background-color: var(--semi-color-success);
144
+ }
145
+ .semi-badge-success.semi-badge-light {
146
+ background-color: var(--semi-color-success-light-default);
147
+ color: var(--semi-color-success);
148
+ }
149
+ .semi-badge-success.semi-badge-inverted {
150
+ color: var(--semi-color-success);
151
+ }
142
152
 
143
153
  .semi-rtl .semi-badge,
144
154
  .semi-portal-rtl .semi-badge {
@@ -163,6 +163,19 @@ $module: #{$prefix}-badge;
163
163
  }
164
164
  }
165
165
 
166
+ &-success {
167
+ &.#{$module}-solid {
168
+ background-color: $color-badge_success_solid-bg-default;
169
+ }
170
+ &.#{$module}-light {
171
+ background-color: $color-badge_success_light-bg-default;
172
+ color: $color-badge_success_light-text-default;
173
+ }
174
+ &.#{$module}-inverted {
175
+ color: $color-badge_success_inverted-text-default;
176
+ }
177
+ }
178
+
166
179
  }
167
180
 
168
181
  @import "./rtl.scss";
@@ -29,6 +29,10 @@ $color-badge_warning_light-bg-default: var(--semi-color-warning-light-default);
29
29
  $color-badge_warning_light-text-default: var(--semi-color-warning); // 文字颜色 - 浅版危险
30
30
  $color-badge_warning_inverted-text-default: var(--semi-color-warning); // 文字颜色 - 白底
31
31
 
32
+ $color-badge_success_solid-bg-default: var(--semi-color-success); // 背景颜色 - 成功
33
+ $color-badge_success_light-bg-default: var(--semi-color-success-light-default); // 背景颜色 - 浅版成功
34
+ $color-badge_success_light-text-default: var(--semi-color-success); // 文字颜色 - 浅版成功
35
+ $color-badge_success_inverted-text-default: var(--semi-color-success); // 文字颜色 - 白底
32
36
 
33
37
  $width-badge_dot: 8px; // 点状徽标宽度
34
38
  $height-badge_dot: 8px; // 点状徽标高度
@@ -21,7 +21,7 @@
21
21
  background-color: var(--semi-color-fill-1);
22
22
  border: 1px transparent solid;
23
23
  }
24
- .semi-cascader:focus {
24
+ .semi-cascader:focus:not(.semi-cascader-disabled) {
25
25
  border: 1px solid var(--semi-color-focus-border);
26
26
  background-color: var(--semi-color-fill-0);
27
27
  outline: 0;
@@ -25,7 +25,7 @@ $module: #{$prefix}-cascader;
25
25
  border: $width-cascader_hover-border $color-cascader_default-border-hover solid;
26
26
  }
27
27
 
28
- &:focus {
28
+ &:focus:not(&-disabled) {
29
29
  border: $width-cascader_focus-border solid $color-cascader_default-border-focus;
30
30
  background-color: $color-cascader_default-bg-default;
31
31
  outline: 0;
@@ -51,7 +51,7 @@ export interface BaseFormApi<T extends object = any> {
51
51
  /** submit form manual */
52
52
  submitForm: () => void;
53
53
  /** reset form manual */
54
- reset: () => void;
54
+ reset: (fields?: Array<string>) => void;
55
55
  /** trigger validate manual */
56
56
  validate: <K extends keyof T, Params extends Array<K>, V extends Params[number]>(fields?: Params) => Promise<{
57
57
  [R in V]: T[R];
@@ -166,7 +166,7 @@ export interface BasicTreeProps {
166
166
  onExpand?: (expandedKeys: string[], expandedOtherProps: BasicExpandedOtherProps) => void;
167
167
  onLoad?: (loadedKeys?: Set<string>, treeNode?: BasicTreeNodeData) => void;
168
168
  onContextMenu?: (e: any, node: BasicTreeNodeData) => void;
169
- onSearch?: (sunInput: string) => void;
169
+ onSearch?: (sunInput: string, filteredExpandedKeys: string[]) => void;
170
170
  onSelect?: (selectedKeys: string, selected: boolean, selectedNode: BasicTreeNodeData) => void;
171
171
  preventScroll?: boolean;
172
172
  renderDraggingNode?: (nodeInstance: HTMLElement, node: BasicTreeNodeData) => HTMLElement;
@@ -227,7 +227,7 @@ export interface TreeAdapter extends DefaultAdapter<BasicTreeProps, BasicTreeInn
227
227
  notifyExpand: (expandedKeys: Set<string>, { expanded, node }: BasicExpandedOtherProps) => void;
228
228
  notifySelect: (selectKey: string, bool: boolean, node: BasicTreeNodeData) => void;
229
229
  notifyChange: (value: BasicValue) => void;
230
- notifySearch: (input: string) => void;
230
+ notifySearch: (input: string, filteredExpandedKeys: string[]) => void;
231
231
  notifyRightClick: (e: any, node: BasicTreeNodeData) => void;
232
232
  notifyDoubleClick: (e: any, node: BasicTreeNodeData) => void;
233
233
  cacheFlattenNodes: (bool: boolean) => void;
@@ -188,13 +188,14 @@ export default class TreeFoundation extends BaseFoundation {
188
188
  filteredShownKeys = new Set([...shownChildKeys, ...expandedOptsKeys]);
189
189
  flattenNodes = flattenTreeData(treeData, new Set(expandedOptsKeys), showFilteredOnly && filteredShownKeys);
190
190
  }
191
- this._adapter.notifySearch(sugInput);
191
+ const newFilteredExpandedKeys = new Set(expandedOptsKeys);
192
+ this._adapter.notifySearch(sugInput, Array.from(newFilteredExpandedKeys));
192
193
  this._adapter.updateState({
193
194
  expandedKeys,
194
195
  flattenNodes,
195
196
  motionKeys: new Set([]),
196
197
  filteredKeys: new Set(filteredOptsKeys),
197
- filteredExpandedKeys: new Set(expandedOptsKeys),
198
+ filteredExpandedKeys: newFilteredExpandedKeys,
198
199
  filteredShownKeys
199
200
  });
200
201
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@douyinfe/semi-foundation",
3
- "version": "2.37.0",
3
+ "version": "2.38.0-beta.0",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build:lib": "node ./scripts/compileLib.js",
@@ -23,7 +23,7 @@
23
23
  "*.scss",
24
24
  "*.css"
25
25
  ],
26
- "gitHead": "3d2a2680186785f167b1bb0f9c719a2945c3c1f0",
26
+ "gitHead": "f9fa7bba4ffc5635489ad1687740b336b0395948",
27
27
  "devDependencies": {
28
28
  "@babel/plugin-transform-runtime": "^7.15.8",
29
29
  "@babel/preset-env": "^7.15.8",
@@ -217,7 +217,7 @@ export interface BasicTreeProps {
217
217
  onExpand?: (expandedKeys: string[], expandedOtherProps: BasicExpandedOtherProps) => void;
218
218
  onLoad?: (loadedKeys?: Set<string>, treeNode?: BasicTreeNodeData) => void;
219
219
  onContextMenu?: (e: any, node: BasicTreeNodeData) => void;
220
- onSearch?: (sunInput: string) => void;
220
+ onSearch?: (sunInput: string, filteredExpandedKeys: string[]) => void;
221
221
  onSelect?: (selectedKeys: string, selected: boolean, selectedNode: BasicTreeNodeData) => void;
222
222
  preventScroll?: boolean;
223
223
  renderDraggingNode?: (nodeInstance: HTMLElement, node: BasicTreeNodeData) => HTMLElement;
@@ -303,7 +303,7 @@ export interface TreeAdapter extends DefaultAdapter<BasicTreeProps, BasicTreeInn
303
303
  notifyExpand: (expandedKeys: Set<string>, { expanded, node }: BasicExpandedOtherProps) => void;
304
304
  notifySelect: (selectKey: string, bool: boolean, node: BasicTreeNodeData) => void;
305
305
  notifyChange: (value: BasicValue) => void;
306
- notifySearch: (input: string) => void;
306
+ notifySearch: (input: string, filteredExpandedKeys: string[]) => void;
307
307
  notifyRightClick: (e: any, node: BasicTreeNodeData) => void;
308
308
  notifyDoubleClick: (e: any, node: BasicTreeNodeData) => void;
309
309
  cacheFlattenNodes: (bool: boolean) => void;
@@ -483,13 +483,14 @@ export default class TreeFoundation extends BaseFoundation<TreeAdapter, BasicTre
483
483
  showFilteredOnly && filteredShownKeys
484
484
  );
485
485
  }
486
- this._adapter.notifySearch(sugInput);
486
+ const newFilteredExpandedKeys = new Set(expandedOptsKeys);
487
+ this._adapter.notifySearch(sugInput, Array.from(newFilteredExpandedKeys));
487
488
  this._adapter.updateState({
488
489
  expandedKeys,
489
490
  flattenNodes,
490
491
  motionKeys: new Set([]),
491
492
  filteredKeys: new Set(filteredOptsKeys),
492
- filteredExpandedKeys: new Set(expandedOptsKeys),
493
+ filteredExpandedKeys: newFilteredExpandedKeys,
493
494
  filteredShownKeys,
494
495
  });
495
496
  }