@douyinfe/semi-foundation 2.59.0-beta.0 → 2.59.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/form/interface.ts +11 -1
- package/lib/cjs/form/interface.d.ts +8 -1
- package/lib/cjs/tabs/tabs.css +3 -0
- package/lib/cjs/tabs/tabs.scss +3 -0
- package/lib/cjs/tabs/variables.scss +6 -0
- package/lib/es/form/interface.d.ts +8 -1
- package/lib/es/tabs/tabs.css +3 -0
- package/lib/es/tabs/tabs.scss +3 -0
- package/lib/es/tabs/variables.scss +6 -0
- package/package.json +3 -3
- package/tabs/tabs.scss +3 -0
- package/tabs/variables.scss +6 -0
- package/tsconfig.json +0 -1
package/form/interface.ts
CHANGED
|
@@ -36,12 +36,22 @@ export interface setValuesConfig {
|
|
|
36
36
|
isOverride: boolean
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
type ExcludeStringNumberKeys<T> = {
|
|
40
|
+
[K in keyof T as string extends K ? never : number extends K ? never : K]: T[K]
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
type CustomKeys<T> = { [K in keyof T]: string extends K ? never : number extends K ? never : K; } extends { [K in keyof T]: infer U } ? U : never;
|
|
44
|
+
|
|
45
|
+
type FieldPath<T, K extends CustomKeys<T> = CustomKeys<T>> = K extends string ? T[K] extends Record<string, any> ? `${K}.${FieldPath<T[K], CustomKeys<T[K]>>}` | K : K : never;
|
|
46
|
+
|
|
39
47
|
// use object replace Record<string, any>, fix issue 933
|
|
40
48
|
export interface BaseFormApi<T extends object = any> {
|
|
49
|
+
// export interface BaseFormApi<T extends object = any> {
|
|
41
50
|
/** get value of field */
|
|
42
51
|
getValue: <K extends keyof T>(field?: K) => T[K];
|
|
43
52
|
/** set value of field */
|
|
44
|
-
setValue: <K extends
|
|
53
|
+
setValue: <K extends CustomKeys<T>>(field: FieldPath<T, K> | FieldPath<K>, newFieldValue: any) => void;
|
|
54
|
+
// setValue: <K extends keyof T>(field: K, newFieldValue: T[K]) => void;
|
|
45
55
|
/** get error of field */
|
|
46
56
|
getError: <K extends keyof T>(field: K) => any;
|
|
47
57
|
/** set error of field */
|
|
@@ -31,11 +31,17 @@ export interface FormState<T extends Record<string, any> = any> {
|
|
|
31
31
|
export interface setValuesConfig {
|
|
32
32
|
isOverride: boolean;
|
|
33
33
|
}
|
|
34
|
+
type CustomKeys<T> = {
|
|
35
|
+
[K in keyof T]: string extends K ? never : number extends K ? never : K;
|
|
36
|
+
} extends {
|
|
37
|
+
[K in keyof T]: infer U;
|
|
38
|
+
} ? U : never;
|
|
39
|
+
type FieldPath<T, K extends CustomKeys<T> = CustomKeys<T>> = K extends string ? T[K] extends Record<string, any> ? `${K}.${FieldPath<T[K], CustomKeys<T[K]>>}` | K : K : never;
|
|
34
40
|
export interface BaseFormApi<T extends object = any> {
|
|
35
41
|
/** get value of field */
|
|
36
42
|
getValue: <K extends keyof T>(field?: K) => T[K];
|
|
37
43
|
/** set value of field */
|
|
38
|
-
setValue: <K extends
|
|
44
|
+
setValue: <K extends CustomKeys<T>>(field: FieldPath<T, K> | FieldPath<K>, newFieldValue: any) => void;
|
|
39
45
|
/** get error of field */
|
|
40
46
|
getError: <K extends keyof T>(field: K) => any;
|
|
41
47
|
/** set error of field */
|
|
@@ -122,3 +128,4 @@ export interface FormUpdaterContextType {
|
|
|
122
128
|
getArrayField: (arrayField: string) => ArrayFieldStaff;
|
|
123
129
|
updateArrayField: (arrayField: string, updateValue: any) => void;
|
|
124
130
|
}
|
|
131
|
+
export {};
|
package/lib/cjs/tabs/tabs.css
CHANGED
|
@@ -500,6 +500,7 @@
|
|
|
500
500
|
animation-fill-mode: forwards;
|
|
501
501
|
}
|
|
502
502
|
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab {
|
|
503
|
+
font-size: 14px;
|
|
503
504
|
padding: 16px 4px 14px 4px;
|
|
504
505
|
transition: border-bottom-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
|
|
505
506
|
border-bottom: 2px solid transparent;
|
|
@@ -518,9 +519,11 @@
|
|
|
518
519
|
border-bottom: 2px solid var(--semi-color-fill-1);
|
|
519
520
|
}
|
|
520
521
|
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab-small {
|
|
522
|
+
font-size: 14px;
|
|
521
523
|
padding: 8px 4px 6px 4px;
|
|
522
524
|
}
|
|
523
525
|
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab-medium {
|
|
526
|
+
font-size: 14px;
|
|
524
527
|
padding: 12px 4px 10px 4px;
|
|
525
528
|
}
|
|
526
529
|
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab-active, .semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab-active:hover {
|
package/lib/cjs/tabs/tabs.scss
CHANGED
|
@@ -690,6 +690,7 @@ $ignoreIcon: '.#{$prefix}-icon-checkbox_tick, .#{$prefix}-icon-radio, .#{$prefix
|
|
|
690
690
|
&.#{$module}-tab-top {
|
|
691
691
|
|
|
692
692
|
&.#{$module}-tab {
|
|
693
|
+
font-size: $font-tabs_bar_large-fontSize;
|
|
693
694
|
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;
|
|
694
695
|
transition: border-bottom-color $transition_duration-tabs_tab_line-border $transition_function-tabs_tab_line-border $transition_delay-tabs_tab_line-border,
|
|
695
696
|
color $transition_duration-tabs_tab_line-text $transition_function-tabs_tab_line-text $transition_delay-tabs_tab_line-text; //线条式tabs的border-color 的 transition
|
|
@@ -718,10 +719,12 @@ $ignoreIcon: '.#{$prefix}-icon-checkbox_tick, .#{$prefix}-icon-radio, .#{$prefix
|
|
|
718
719
|
// }
|
|
719
720
|
|
|
720
721
|
&-small {
|
|
722
|
+
font-size: $font-tabs_bar_small-fontSize;
|
|
721
723
|
padding: $spacing-tabs_bar_line_tab_small-paddingTop $spacing-tabs_bar_line_tab_small-paddingRight $spacing-tabs_bar_line_tab_small-paddingBottom $spacing-tabs_bar_line_tab_small-paddingLeft;
|
|
722
724
|
}
|
|
723
725
|
|
|
724
726
|
&-medium {
|
|
727
|
+
font-size: $font-tabs_bar_medium-fontSize;
|
|
725
728
|
padding: $spacing-tabs_bar_line_tab_medium-paddingTop $spacing-tabs_bar_line_tab_medium-paddingRight $spacing-tabs_bar_line_tab_medium-paddingBottom $spacing-tabs_bar_line_tab_medium-paddingLeft;
|
|
726
729
|
}
|
|
727
730
|
}
|
|
@@ -144,3 +144,9 @@ $radius-tabs_tab_card: var(--semi-border-radius-small) var(--semi-border-radius-
|
|
|
144
144
|
$radius-tabs_tab_card_left: var(--semi-border-radius-small) 0 0 var(--semi-border-radius-small); // 垂直卡片式页签四向圆角
|
|
145
145
|
$radius-tabs_tab_button: var(--semi-border-radius-small); // 按钮式页签圆角
|
|
146
146
|
|
|
147
|
+
|
|
148
|
+
$font-tabs_bar_large-fontSize: $font-size-regular; // 大号模式 字体大小
|
|
149
|
+
$font-tabs_bar_small-fontSize: $font-size-regular; // 小号模式 字体大小
|
|
150
|
+
$font-tabs_bar_medium-fontSize: $font-size-regular; // 中等模式 字体大小
|
|
151
|
+
|
|
152
|
+
|
|
@@ -31,11 +31,17 @@ export interface FormState<T extends Record<string, any> = any> {
|
|
|
31
31
|
export interface setValuesConfig {
|
|
32
32
|
isOverride: boolean;
|
|
33
33
|
}
|
|
34
|
+
type CustomKeys<T> = {
|
|
35
|
+
[K in keyof T]: string extends K ? never : number extends K ? never : K;
|
|
36
|
+
} extends {
|
|
37
|
+
[K in keyof T]: infer U;
|
|
38
|
+
} ? U : never;
|
|
39
|
+
type FieldPath<T, K extends CustomKeys<T> = CustomKeys<T>> = K extends string ? T[K] extends Record<string, any> ? `${K}.${FieldPath<T[K], CustomKeys<T[K]>>}` | K : K : never;
|
|
34
40
|
export interface BaseFormApi<T extends object = any> {
|
|
35
41
|
/** get value of field */
|
|
36
42
|
getValue: <K extends keyof T>(field?: K) => T[K];
|
|
37
43
|
/** set value of field */
|
|
38
|
-
setValue: <K extends
|
|
44
|
+
setValue: <K extends CustomKeys<T>>(field: FieldPath<T, K> | FieldPath<K>, newFieldValue: any) => void;
|
|
39
45
|
/** get error of field */
|
|
40
46
|
getError: <K extends keyof T>(field: K) => any;
|
|
41
47
|
/** set error of field */
|
|
@@ -122,3 +128,4 @@ export interface FormUpdaterContextType {
|
|
|
122
128
|
getArrayField: (arrayField: string) => ArrayFieldStaff;
|
|
123
129
|
updateArrayField: (arrayField: string, updateValue: any) => void;
|
|
124
130
|
}
|
|
131
|
+
export {};
|
package/lib/es/tabs/tabs.css
CHANGED
|
@@ -500,6 +500,7 @@
|
|
|
500
500
|
animation-fill-mode: forwards;
|
|
501
501
|
}
|
|
502
502
|
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab {
|
|
503
|
+
font-size: 14px;
|
|
503
504
|
padding: 16px 4px 14px 4px;
|
|
504
505
|
transition: border-bottom-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
|
|
505
506
|
border-bottom: 2px solid transparent;
|
|
@@ -518,9 +519,11 @@
|
|
|
518
519
|
border-bottom: 2px solid var(--semi-color-fill-1);
|
|
519
520
|
}
|
|
520
521
|
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab-small {
|
|
522
|
+
font-size: 14px;
|
|
521
523
|
padding: 8px 4px 6px 4px;
|
|
522
524
|
}
|
|
523
525
|
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab-medium {
|
|
526
|
+
font-size: 14px;
|
|
524
527
|
padding: 12px 4px 10px 4px;
|
|
525
528
|
}
|
|
526
529
|
.semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab-active, .semi-tabs-tab-line.semi-tabs-tab-top.semi-tabs-tab-active:hover {
|
package/lib/es/tabs/tabs.scss
CHANGED
|
@@ -690,6 +690,7 @@ $ignoreIcon: '.#{$prefix}-icon-checkbox_tick, .#{$prefix}-icon-radio, .#{$prefix
|
|
|
690
690
|
&.#{$module}-tab-top {
|
|
691
691
|
|
|
692
692
|
&.#{$module}-tab {
|
|
693
|
+
font-size: $font-tabs_bar_large-fontSize;
|
|
693
694
|
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;
|
|
694
695
|
transition: border-bottom-color $transition_duration-tabs_tab_line-border $transition_function-tabs_tab_line-border $transition_delay-tabs_tab_line-border,
|
|
695
696
|
color $transition_duration-tabs_tab_line-text $transition_function-tabs_tab_line-text $transition_delay-tabs_tab_line-text; //线条式tabs的border-color 的 transition
|
|
@@ -718,10 +719,12 @@ $ignoreIcon: '.#{$prefix}-icon-checkbox_tick, .#{$prefix}-icon-radio, .#{$prefix
|
|
|
718
719
|
// }
|
|
719
720
|
|
|
720
721
|
&-small {
|
|
722
|
+
font-size: $font-tabs_bar_small-fontSize;
|
|
721
723
|
padding: $spacing-tabs_bar_line_tab_small-paddingTop $spacing-tabs_bar_line_tab_small-paddingRight $spacing-tabs_bar_line_tab_small-paddingBottom $spacing-tabs_bar_line_tab_small-paddingLeft;
|
|
722
724
|
}
|
|
723
725
|
|
|
724
726
|
&-medium {
|
|
727
|
+
font-size: $font-tabs_bar_medium-fontSize;
|
|
725
728
|
padding: $spacing-tabs_bar_line_tab_medium-paddingTop $spacing-tabs_bar_line_tab_medium-paddingRight $spacing-tabs_bar_line_tab_medium-paddingBottom $spacing-tabs_bar_line_tab_medium-paddingLeft;
|
|
726
729
|
}
|
|
727
730
|
}
|
|
@@ -144,3 +144,9 @@ $radius-tabs_tab_card: var(--semi-border-radius-small) var(--semi-border-radius-
|
|
|
144
144
|
$radius-tabs_tab_card_left: var(--semi-border-radius-small) 0 0 var(--semi-border-radius-small); // 垂直卡片式页签四向圆角
|
|
145
145
|
$radius-tabs_tab_button: var(--semi-border-radius-small); // 按钮式页签圆角
|
|
146
146
|
|
|
147
|
+
|
|
148
|
+
$font-tabs_bar_large-fontSize: $font-size-regular; // 大号模式 字体大小
|
|
149
|
+
$font-tabs_bar_small-fontSize: $font-size-regular; // 小号模式 字体大小
|
|
150
|
+
$font-tabs_bar_medium-fontSize: $font-size-regular; // 中等模式 字体大小
|
|
151
|
+
|
|
152
|
+
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@douyinfe/semi-foundation",
|
|
3
|
-
"version": "2.59.0
|
|
3
|
+
"version": "2.59.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build:lib": "node ./scripts/compileLib.js",
|
|
7
7
|
"prepublishOnly": "npm run build:lib"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@douyinfe/semi-animation": "2.59.0
|
|
10
|
+
"@douyinfe/semi-animation": "2.59.0",
|
|
11
11
|
"async-validator": "^3.5.0",
|
|
12
12
|
"classnames": "^2.2.6",
|
|
13
13
|
"date-fns": "^2.29.3",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"*.scss",
|
|
25
25
|
"*.css"
|
|
26
26
|
],
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "b9a08d8581277fdc6ae9c33cdfc78b39938e5de1",
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@babel/plugin-transform-runtime": "^7.15.8",
|
|
30
30
|
"@babel/preset-env": "^7.15.8",
|
package/tabs/tabs.scss
CHANGED
|
@@ -690,6 +690,7 @@ $ignoreIcon: '.#{$prefix}-icon-checkbox_tick, .#{$prefix}-icon-radio, .#{$prefix
|
|
|
690
690
|
&.#{$module}-tab-top {
|
|
691
691
|
|
|
692
692
|
&.#{$module}-tab {
|
|
693
|
+
font-size: $font-tabs_bar_large-fontSize;
|
|
693
694
|
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;
|
|
694
695
|
transition: border-bottom-color $transition_duration-tabs_tab_line-border $transition_function-tabs_tab_line-border $transition_delay-tabs_tab_line-border,
|
|
695
696
|
color $transition_duration-tabs_tab_line-text $transition_function-tabs_tab_line-text $transition_delay-tabs_tab_line-text; //线条式tabs的border-color 的 transition
|
|
@@ -718,10 +719,12 @@ $ignoreIcon: '.#{$prefix}-icon-checkbox_tick, .#{$prefix}-icon-radio, .#{$prefix
|
|
|
718
719
|
// }
|
|
719
720
|
|
|
720
721
|
&-small {
|
|
722
|
+
font-size: $font-tabs_bar_small-fontSize;
|
|
721
723
|
padding: $spacing-tabs_bar_line_tab_small-paddingTop $spacing-tabs_bar_line_tab_small-paddingRight $spacing-tabs_bar_line_tab_small-paddingBottom $spacing-tabs_bar_line_tab_small-paddingLeft;
|
|
722
724
|
}
|
|
723
725
|
|
|
724
726
|
&-medium {
|
|
727
|
+
font-size: $font-tabs_bar_medium-fontSize;
|
|
725
728
|
padding: $spacing-tabs_bar_line_tab_medium-paddingTop $spacing-tabs_bar_line_tab_medium-paddingRight $spacing-tabs_bar_line_tab_medium-paddingBottom $spacing-tabs_bar_line_tab_medium-paddingLeft;
|
|
726
729
|
}
|
|
727
730
|
}
|
package/tabs/variables.scss
CHANGED
|
@@ -144,3 +144,9 @@ $radius-tabs_tab_card: var(--semi-border-radius-small) var(--semi-border-radius-
|
|
|
144
144
|
$radius-tabs_tab_card_left: var(--semi-border-radius-small) 0 0 var(--semi-border-radius-small); // 垂直卡片式页签四向圆角
|
|
145
145
|
$radius-tabs_tab_button: var(--semi-border-radius-small); // 按钮式页签圆角
|
|
146
146
|
|
|
147
|
+
|
|
148
|
+
$font-tabs_bar_large-fontSize: $font-size-regular; // 大号模式 字体大小
|
|
149
|
+
$font-tabs_bar_small-fontSize: $font-size-regular; // 小号模式 字体大小
|
|
150
|
+
$font-tabs_bar_medium-fontSize: $font-size-regular; // 中等模式 字体大小
|
|
151
|
+
|
|
152
|
+
|
package/tsconfig.json
CHANGED