@douyinfe/semi-foundation 2.34.1-alpha.3 → 2.34.1
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/breadcrumb/breadcrumb.scss +4 -4
- package/calendar/eventUtil.ts +9 -7
- package/calendar/foundation.ts +4 -4
- package/card/card.scss +1 -2
- package/cascader/foundation.ts +24 -13
- package/lib/cjs/breadcrumb/breadcrumb.css +0 -3
- package/lib/cjs/breadcrumb/breadcrumb.scss +4 -4
- package/lib/cjs/calendar/eventUtil.d.ts +7 -6
- package/lib/cjs/calendar/eventUtil.js +8 -6
- package/lib/cjs/calendar/foundation.d.ts +2 -2
- package/lib/cjs/calendar/foundation.js +2 -2
- package/lib/cjs/card/card.css +1 -1
- package/lib/cjs/card/card.scss +1 -2
- package/lib/cjs/cascader/foundation.d.ts +3 -1
- package/lib/cjs/cascader/foundation.js +26 -8
- package/lib/cjs/radio/radio.css +1 -0
- package/lib/cjs/radio/radio.scss +1 -0
- package/lib/cjs/steps/bacisSteps.scss +2 -2
- package/lib/cjs/steps/fillSteps.scss +3 -3
- package/lib/cjs/steps/steps.css +12 -12
- package/lib/cjs/table/foundation.d.ts +5 -0
- package/lib/cjs/table/table.css +23 -5
- package/lib/cjs/table/table.scss +25 -5
- package/lib/cjs/table/utils.d.ts +2 -0
- package/lib/cjs/table/utils.js +6 -0
- package/lib/cjs/timePicker/foundation.js +15 -1
- package/lib/cjs/typography/typography.css +8 -0
- package/lib/cjs/typography/typography.scss +13 -0
- package/lib/cjs/utils/date-fns-extra.d.ts +4 -0
- package/lib/cjs/utils/date-fns-extra.js +66 -3
- package/lib/es/breadcrumb/breadcrumb.css +0 -3
- package/lib/es/breadcrumb/breadcrumb.scss +4 -4
- package/lib/es/calendar/eventUtil.d.ts +7 -6
- package/lib/es/calendar/eventUtil.js +8 -6
- package/lib/es/calendar/foundation.d.ts +2 -2
- package/lib/es/calendar/foundation.js +2 -2
- package/lib/es/card/card.css +1 -1
- package/lib/es/card/card.scss +1 -2
- package/lib/es/cascader/foundation.d.ts +3 -1
- package/lib/es/cascader/foundation.js +26 -8
- package/lib/es/radio/radio.css +1 -0
- package/lib/es/radio/radio.scss +1 -0
- package/lib/es/steps/bacisSteps.scss +2 -2
- package/lib/es/steps/fillSteps.scss +3 -3
- package/lib/es/steps/steps.css +12 -12
- package/lib/es/table/foundation.d.ts +5 -0
- package/lib/es/table/table.css +23 -5
- package/lib/es/table/table.scss +25 -5
- package/lib/es/table/utils.d.ts +2 -0
- package/lib/es/table/utils.js +5 -0
- package/lib/es/timePicker/foundation.js +14 -1
- package/lib/es/typography/typography.css +8 -0
- package/lib/es/typography/typography.scss +13 -0
- package/lib/es/utils/date-fns-extra.d.ts +4 -0
- package/lib/es/utils/date-fns-extra.js +61 -0
- package/package.json +2 -2
- package/radio/radio.scss +1 -0
- package/steps/bacisSteps.scss +2 -2
- package/steps/fillSteps.scss +3 -3
- package/table/foundation.ts +6 -2
- package/table/table.scss +25 -5
- package/table/utils.ts +6 -0
- package/timePicker/foundation.ts +12 -3
- package/typography/typography.scss +13 -0
- package/utils/date-fns-extra.ts +56 -0
|
@@ -82,14 +82,14 @@ $module: #{$prefix}-breadcrumb;
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
&-item-icon+&-item-title {
|
|
86
|
-
|
|
87
|
-
}
|
|
85
|
+
// &-item-icon+&-item-title {
|
|
86
|
+
// margin-left: $spacing-breadcrumb_item_text-marginLeft;
|
|
87
|
+
// }
|
|
88
88
|
|
|
89
89
|
&-item-link {
|
|
90
90
|
display: inline-flex;
|
|
91
91
|
align-items: center;
|
|
92
|
-
column-gap:
|
|
92
|
+
column-gap: $spacing-breadcrumb_item_text-marginLeft;
|
|
93
93
|
text-decoration: inherit;
|
|
94
94
|
transition: color $transition_duration-breadcrumb_link-text $transition-function_breadcrumb_link-text $transition_delay-breadcrumb_link-text;
|
|
95
95
|
transform: scale($transform_scale-breadcrumb_link-text);
|
package/calendar/eventUtil.ts
CHANGED
|
@@ -96,9 +96,9 @@ export interface DateObj {
|
|
|
96
96
|
month: string
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
export type
|
|
99
|
+
export type weekStartsOnEnum = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
100
100
|
|
|
101
|
-
export const calcRangeData = (value: Date, start: Date, rangeLen: number, mode: string, locale: Locale, weekStartsOn:
|
|
101
|
+
export const calcRangeData = (value: Date, start: Date, rangeLen: number, mode: string, locale: Locale, weekStartsOn: weekStartsOnEnum) => {
|
|
102
102
|
const today = getCurrDate();
|
|
103
103
|
const arr: Array<DateObj> = [];
|
|
104
104
|
[...Array(rangeLen).keys()].map(ind => {
|
|
@@ -121,15 +121,17 @@ export const calcRangeData = (value: Date, start: Date, rangeLen: number, mode:
|
|
|
121
121
|
|
|
122
122
|
/**
|
|
123
123
|
*
|
|
124
|
-
* @param {
|
|
124
|
+
* @param {Date} date
|
|
125
|
+
* @param {Date} monthStart current month start date, using for month mode
|
|
125
126
|
* @param {string} mode
|
|
126
127
|
* @param {string} locale
|
|
127
128
|
* @returns {object[]} { date: Date, dayString: string, ind: number, isToday: boolean, isWeekend: boolean, weekday: string }
|
|
128
129
|
* create weekly object array
|
|
129
130
|
*/
|
|
130
|
-
export const calcWeekData = (value: Date, mode = 'week', locale: Locale, weekStartsOn:
|
|
131
|
+
export const calcWeekData = (value: Date, monthStart: Date | null, mode = 'week', locale: Locale, weekStartsOn: weekStartsOnEnum) => {
|
|
131
132
|
const start = startOfWeek(value, { weekStartsOn });
|
|
132
|
-
|
|
133
|
+
const realValue = monthStart || value;
|
|
134
|
+
return calcRangeData(realValue, start, 7, mode, locale, weekStartsOn);
|
|
133
135
|
};
|
|
134
136
|
|
|
135
137
|
/**
|
|
@@ -250,7 +252,7 @@ export const filterEvents = (events: Map<string, EventObject[]>, start: Date, en
|
|
|
250
252
|
* filter out event that is not in the week range
|
|
251
253
|
*/
|
|
252
254
|
// eslint-disable-next-line max-len
|
|
253
|
-
export const filterWeeklyEvents = (events: Map<string, EventObject[]>, weekStart: Date, weekStartsOn:
|
|
255
|
+
export const filterWeeklyEvents = (events: Map<string, EventObject[]>, weekStart: Date, weekStartsOn: weekStartsOnEnum ) => filterEvents(events, weekStart, addDays(endOfWeek(weekStart, { weekStartsOn }), 1));
|
|
254
256
|
|
|
255
257
|
/**
|
|
256
258
|
* @returns {arr}
|
|
@@ -309,7 +311,7 @@ export const parseWeeklyAllDayEvent = (
|
|
|
309
311
|
startDate: Date,
|
|
310
312
|
weekStart: Date,
|
|
311
313
|
parsed: Array<Array<ParsedRangeEvent>>,
|
|
312
|
-
weekStartsOn:
|
|
314
|
+
weekStartsOn: weekStartsOnEnum
|
|
313
315
|
) => parseRangeAllDayEvent(event, startDate, weekStart, addDays(endOfWeek(startDate, { weekStartsOn }), 1), parsed);
|
|
314
316
|
|
|
315
317
|
|
package/calendar/foundation.ts
CHANGED
|
@@ -33,9 +33,9 @@ import {
|
|
|
33
33
|
DateObj,
|
|
34
34
|
checkWeekend,
|
|
35
35
|
} from './eventUtil';
|
|
36
|
-
import type {
|
|
36
|
+
import type { weekStartsOnEnum } from './eventUtil';
|
|
37
37
|
|
|
38
|
-
export {
|
|
38
|
+
export { weekStartsOnEnum };
|
|
39
39
|
export interface EventObject {
|
|
40
40
|
[x: string]: any;
|
|
41
41
|
key: string;
|
|
@@ -191,7 +191,7 @@ export default class CalendarFoundation<P = Record<string, any>, S = Record<stri
|
|
|
191
191
|
const data = {} as WeeklyData;
|
|
192
192
|
const { weekStartsOn } = this.getProps();
|
|
193
193
|
data.month = format(value, 'LLL', { locale: dateFnsLocale, weekStartsOn });
|
|
194
|
-
data.week = calcWeekData(value, 'week', dateFnsLocale, weekStartsOn);
|
|
194
|
+
data.week = calcWeekData(value, null, 'week', dateFnsLocale, weekStartsOn);
|
|
195
195
|
this._adapter.setWeeklyData(data);
|
|
196
196
|
return data;
|
|
197
197
|
}
|
|
@@ -212,7 +212,7 @@ export default class CalendarFoundation<P = Record<string, any>, S = Record<stri
|
|
|
212
212
|
const { weekStartsOn } = this.getProps();
|
|
213
213
|
const numberOfWeek = getWeeksInMonth(value, { weekStartsOn });
|
|
214
214
|
[...Array(numberOfWeek).keys()].map(ind => {
|
|
215
|
-
data[ind] = calcWeekData(addDays(monthStart, ind * 7), 'month', dateFnsLocale, weekStartsOn);
|
|
215
|
+
data[ind] = calcWeekData(addDays(monthStart, ind * 7), monthStart, 'month', dateFnsLocale, weekStartsOn);
|
|
216
216
|
});
|
|
217
217
|
this._adapter.setMonthlyData(data);
|
|
218
218
|
return data;
|
package/card/card.scss
CHANGED
package/cascader/foundation.ts
CHANGED
|
@@ -92,9 +92,9 @@ export interface BasicTriggerRenderProps {
|
|
|
92
92
|
* customized by triggerRender is updated to synchronize the state
|
|
93
93
|
* with Cascader. */
|
|
94
94
|
onSearch: (inputValue: string) => void;
|
|
95
|
-
/* This function is the same as onSearch (supported since v2.32.0),
|
|
96
|
-
* because this function was used before, and to align with TreeSelect,
|
|
97
|
-
* use onSearch instead of onChange is more suitable,
|
|
95
|
+
/* This function is the same as onSearch (supported since v2.32.0),
|
|
96
|
+
* because this function was used before, and to align with TreeSelect,
|
|
97
|
+
* use onSearch instead of onChange is more suitable,
|
|
98
98
|
* onChange needs to be deleted in the next Major
|
|
99
99
|
*/
|
|
100
100
|
onChange: (inputValue: string) => void;
|
|
@@ -203,6 +203,7 @@ export interface CascaderAdapter extends DefaultAdapter<BasicCascaderProps, Basi
|
|
|
203
203
|
updateInputValue: (value: string) => void;
|
|
204
204
|
updateInputPlaceHolder: (value: string) => void;
|
|
205
205
|
focusInput: () => void;
|
|
206
|
+
blurInput: () => void;
|
|
206
207
|
registerClickOutsideHandler: (cb: (e: any) => void) => void;
|
|
207
208
|
unregisterClickOutsideHandler: () => void;
|
|
208
209
|
rePositionDropdown: () => void;
|
|
@@ -259,7 +260,7 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
|
|
|
259
260
|
if (multiple) {
|
|
260
261
|
const valuePath: BasicValue = [];
|
|
261
262
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
262
|
-
// @ts-ignore
|
|
263
|
+
// @ts-ignore
|
|
263
264
|
item.forEach((checkedKey: string) => {
|
|
264
265
|
const valuePathItem = this.getItemPropPath(checkedKey, valueProp);
|
|
265
266
|
valuePath.push(valuePathItem as any);
|
|
@@ -449,7 +450,7 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
|
|
|
449
450
|
if (filterable && !multiple) {
|
|
450
451
|
const displayText = this.renderDisplayText(selectedKey, keyEntities);
|
|
451
452
|
updateStates.inputPlaceHolder = displayText;
|
|
452
|
-
/*
|
|
453
|
+
/*
|
|
453
454
|
* displayText should not be assign to inputValue,
|
|
454
455
|
* cause inputValue should only change by user enter
|
|
455
456
|
*/
|
|
@@ -484,7 +485,7 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
|
|
|
484
485
|
if (filterable && !multiple) {
|
|
485
486
|
const displayText = this._defaultRenderText(valuePath);
|
|
486
487
|
updateStates.inputPlaceHolder = displayText;
|
|
487
|
-
/*
|
|
488
|
+
/*
|
|
488
489
|
* displayText should not be assign to inputValue,
|
|
489
490
|
* cause inputValue should only change by user enter
|
|
490
491
|
*/
|
|
@@ -555,20 +556,30 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
|
|
|
555
556
|
this._notifyBlur(e);
|
|
556
557
|
}
|
|
557
558
|
|
|
559
|
+
focus() {
|
|
560
|
+
const { filterTreeNode } = this.getProps();
|
|
561
|
+
if (filterTreeNode) {
|
|
562
|
+
this._adapter.focusInput();
|
|
563
|
+
}
|
|
564
|
+
this._adapter.updateFocusState(true);
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
blur() {
|
|
568
|
+
const { filterTreeNode } = this.getProps();
|
|
569
|
+
if (filterTreeNode) {
|
|
570
|
+
this._adapter.blurInput();
|
|
571
|
+
}
|
|
572
|
+
this._adapter.updateFocusState(false);
|
|
573
|
+
}
|
|
574
|
+
|
|
558
575
|
toggle2SearchInput(isShow: boolean) {
|
|
559
576
|
if (isShow) {
|
|
560
|
-
this._adapter.toggleInputShow(isShow, () => this.
|
|
577
|
+
this._adapter.toggleInputShow(isShow, () => this.focus());
|
|
561
578
|
} else {
|
|
562
579
|
this._adapter.toggleInputShow(isShow, () => undefined);
|
|
563
580
|
}
|
|
564
581
|
}
|
|
565
582
|
|
|
566
|
-
focusInput() {
|
|
567
|
-
this._adapter.focusInput();
|
|
568
|
-
this._adapter.updateFocusState(true);
|
|
569
|
-
}
|
|
570
|
-
|
|
571
|
-
|
|
572
583
|
updateSearching = (isSearching: boolean)=>{
|
|
573
584
|
this._adapter.updateStates({ isSearching: false });
|
|
574
585
|
}
|
|
@@ -82,14 +82,14 @@ $module: #{$prefix}-breadcrumb;
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
&-item-icon+&-item-title {
|
|
86
|
-
|
|
87
|
-
}
|
|
85
|
+
// &-item-icon+&-item-title {
|
|
86
|
+
// margin-left: $spacing-breadcrumb_item_text-marginLeft;
|
|
87
|
+
// }
|
|
88
88
|
|
|
89
89
|
&-item-link {
|
|
90
90
|
display: inline-flex;
|
|
91
91
|
align-items: center;
|
|
92
|
-
column-gap:
|
|
92
|
+
column-gap: $spacing-breadcrumb_item_text-marginLeft;
|
|
93
93
|
text-decoration: inherit;
|
|
94
94
|
transition: color $transition_duration-breadcrumb_link-text $transition-function_breadcrumb_link-text $transition_delay-breadcrumb_link-text;
|
|
95
95
|
transform: scale($transform_scale-breadcrumb_link-text);
|
|
@@ -30,17 +30,18 @@ export interface DateObj {
|
|
|
30
30
|
isSameMonth: boolean;
|
|
31
31
|
month: string;
|
|
32
32
|
}
|
|
33
|
-
export declare type
|
|
34
|
-
export declare const calcRangeData: (value: Date, start: Date, rangeLen: number, mode: string, locale: Locale, weekStartsOn:
|
|
33
|
+
export declare type weekStartsOnEnum = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
34
|
+
export declare const calcRangeData: (value: Date, start: Date, rangeLen: number, mode: string, locale: Locale, weekStartsOn: weekStartsOnEnum) => DateObj[];
|
|
35
35
|
/**
|
|
36
36
|
*
|
|
37
|
-
* @param {
|
|
37
|
+
* @param {Date} date
|
|
38
|
+
* @param {Date} monthStart current month start date, using for month mode
|
|
38
39
|
* @param {string} mode
|
|
39
40
|
* @param {string} locale
|
|
40
41
|
* @returns {object[]} { date: Date, dayString: string, ind: number, isToday: boolean, isWeekend: boolean, weekday: string }
|
|
41
42
|
* create weekly object array
|
|
42
43
|
*/
|
|
43
|
-
export declare const calcWeekData: (value: Date, mode: string, locale: Locale, weekStartsOn:
|
|
44
|
+
export declare const calcWeekData: (value: Date, monthStart: Date | null, mode: string, locale: Locale, weekStartsOn: weekStartsOnEnum) => DateObj[];
|
|
44
45
|
/**
|
|
45
46
|
*
|
|
46
47
|
* @param {object} event
|
|
@@ -74,7 +75,7 @@ export declare const filterEvents: (events: Map<string, EventObject[]>, start: D
|
|
|
74
75
|
* @returns {arr}
|
|
75
76
|
* filter out event that is not in the week range
|
|
76
77
|
*/
|
|
77
|
-
export declare const filterWeeklyEvents: (events: Map<string, EventObject[]>, weekStart: Date, weekStartsOn:
|
|
78
|
+
export declare const filterWeeklyEvents: (events: Map<string, EventObject[]>, weekStart: Date, weekStartsOn: weekStartsOnEnum) => Map<string, EventObject[]>;
|
|
78
79
|
/**
|
|
79
80
|
* @returns {arr}
|
|
80
81
|
* arrange and sort all day event for a range
|
|
@@ -84,7 +85,7 @@ export declare const parseRangeAllDayEvent: (event: EventObject[], startDate: Da
|
|
|
84
85
|
* @returns {arr}
|
|
85
86
|
* arrange and sort weekly all day event
|
|
86
87
|
*/
|
|
87
|
-
export declare const parseWeeklyAllDayEvent: (event: EventObject[], startDate: Date, weekStart: Date, parsed: Array<Array<ParsedRangeEvent>>, weekStartsOn:
|
|
88
|
+
export declare const parseWeeklyAllDayEvent: (event: EventObject[], startDate: Date, weekStart: Date, parsed: Array<Array<ParsedRangeEvent>>, weekStartsOn: weekStartsOnEnum) => ParsedRangeEvent[][];
|
|
88
89
|
export declare const collectDailyEvents: (events: ParsedRangeEvent[][]) => ParsedRangeEvent[][];
|
|
89
90
|
export declare const renderDailyEvent: (event: EventObject) => {
|
|
90
91
|
startPos: number;
|
|
@@ -127,7 +127,8 @@ const calcRangeData = (value, start, rangeLen, mode, locale, weekStartsOn) => {
|
|
|
127
127
|
};
|
|
128
128
|
/**
|
|
129
129
|
*
|
|
130
|
-
* @param {
|
|
130
|
+
* @param {Date} date
|
|
131
|
+
* @param {Date} monthStart current month start date, using for month mode
|
|
131
132
|
* @param {string} mode
|
|
132
133
|
* @param {string} locale
|
|
133
134
|
* @returns {object[]} { date: Date, dayString: string, ind: number, isToday: boolean, isWeekend: boolean, weekday: string }
|
|
@@ -137,14 +138,15 @@ const calcRangeData = (value, start, rangeLen, mode, locale, weekStartsOn) => {
|
|
|
137
138
|
|
|
138
139
|
exports.calcRangeData = calcRangeData;
|
|
139
140
|
|
|
140
|
-
const calcWeekData = function (value) {
|
|
141
|
-
let mode = arguments.length >
|
|
142
|
-
let locale = arguments.length >
|
|
143
|
-
let weekStartsOn = arguments.length >
|
|
141
|
+
const calcWeekData = function (value, monthStart) {
|
|
142
|
+
let mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'week';
|
|
143
|
+
let locale = arguments.length > 3 ? arguments[3] : undefined;
|
|
144
|
+
let weekStartsOn = arguments.length > 4 ? arguments[4] : undefined;
|
|
144
145
|
const start = (0, _dateFns.startOfWeek)(value, {
|
|
145
146
|
weekStartsOn
|
|
146
147
|
});
|
|
147
|
-
|
|
148
|
+
const realValue = monthStart || value;
|
|
149
|
+
return calcRangeData(realValue, start, 7, mode, locale, weekStartsOn);
|
|
148
150
|
};
|
|
149
151
|
/**
|
|
150
152
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import BaseFoundation, { DefaultAdapter } from '../base/foundation';
|
|
2
2
|
import { Locale } from 'date-fns';
|
|
3
3
|
import { DateObj } from './eventUtil';
|
|
4
|
-
import type {
|
|
5
|
-
export {
|
|
4
|
+
import type { weekStartsOnEnum } from './eventUtil';
|
|
5
|
+
export { weekStartsOnEnum };
|
|
6
6
|
export interface EventObject {
|
|
7
7
|
[x: string]: any;
|
|
8
8
|
key: string;
|
|
@@ -119,7 +119,7 @@ class CalendarFoundation extends _foundation.default {
|
|
|
119
119
|
locale: dateFnsLocale,
|
|
120
120
|
weekStartsOn
|
|
121
121
|
});
|
|
122
|
-
data.week = (0, _eventUtil.calcWeekData)(value, 'week', dateFnsLocale, weekStartsOn);
|
|
122
|
+
data.week = (0, _eventUtil.calcWeekData)(value, null, 'week', dateFnsLocale, weekStartsOn);
|
|
123
123
|
|
|
124
124
|
this._adapter.setWeeklyData(data);
|
|
125
125
|
|
|
@@ -154,7 +154,7 @@ class CalendarFoundation extends _foundation.default {
|
|
|
154
154
|
weekStartsOn
|
|
155
155
|
});
|
|
156
156
|
[...Array(numberOfWeek).keys()].map(ind => {
|
|
157
|
-
data[ind] = (0, _eventUtil.calcWeekData)((0, _dateFns.addDays)(monthStart, ind * 7), 'month', dateFnsLocale, weekStartsOn);
|
|
157
|
+
data[ind] = (0, _eventUtil.calcWeekData)((0, _dateFns.addDays)(monthStart, ind * 7), monthStart, 'month', dateFnsLocale, weekStartsOn);
|
|
158
158
|
});
|
|
159
159
|
|
|
160
160
|
this._adapter.setMonthlyData(data);
|
package/lib/cjs/card/card.css
CHANGED
package/lib/cjs/card/card.scss
CHANGED
|
@@ -149,6 +149,7 @@ export interface CascaderAdapter extends DefaultAdapter<BasicCascaderProps, Basi
|
|
|
149
149
|
updateInputValue: (value: string) => void;
|
|
150
150
|
updateInputPlaceHolder: (value: string) => void;
|
|
151
151
|
focusInput: () => void;
|
|
152
|
+
blurInput: () => void;
|
|
152
153
|
registerClickOutsideHandler: (cb: (e: any) => void) => void;
|
|
153
154
|
unregisterClickOutsideHandler: () => void;
|
|
154
155
|
rePositionDropdown: () => void;
|
|
@@ -196,8 +197,9 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
|
|
|
196
197
|
open(): void;
|
|
197
198
|
reCalcActiveKeys(): void;
|
|
198
199
|
close(e: any, key?: string): void;
|
|
200
|
+
focus(): void;
|
|
201
|
+
blur(): void;
|
|
199
202
|
toggle2SearchInput(isShow: boolean): void;
|
|
200
|
-
focusInput(): void;
|
|
201
203
|
updateSearching: (isSearching: boolean) => void;
|
|
202
204
|
handleItemClick(e: any, item: BasicEntity | BasicData): void;
|
|
203
205
|
handleItemHover(e: any, item: BasicEntity): void;
|
|
@@ -79,7 +79,7 @@ class CascaderFoundation extends _foundation.default {
|
|
|
79
79
|
|
|
80
80
|
if (multiple) {
|
|
81
81
|
const valuePath = []; // eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
82
|
-
// @ts-ignore
|
|
82
|
+
// @ts-ignore
|
|
83
83
|
|
|
84
84
|
item.forEach(checkedKey => {
|
|
85
85
|
const valuePathItem = this.getItemPropPath(checkedKey, valueProp);
|
|
@@ -449,20 +449,38 @@ class CascaderFoundation extends _foundation.default {
|
|
|
449
449
|
this._notifyBlur(e);
|
|
450
450
|
}
|
|
451
451
|
|
|
452
|
+
focus() {
|
|
453
|
+
const {
|
|
454
|
+
filterTreeNode
|
|
455
|
+
} = this.getProps();
|
|
456
|
+
|
|
457
|
+
if (filterTreeNode) {
|
|
458
|
+
this._adapter.focusInput();
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
this._adapter.updateFocusState(true);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
blur() {
|
|
465
|
+
const {
|
|
466
|
+
filterTreeNode
|
|
467
|
+
} = this.getProps();
|
|
468
|
+
|
|
469
|
+
if (filterTreeNode) {
|
|
470
|
+
this._adapter.blurInput();
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
this._adapter.updateFocusState(false);
|
|
474
|
+
}
|
|
475
|
+
|
|
452
476
|
toggle2SearchInput(isShow) {
|
|
453
477
|
if (isShow) {
|
|
454
|
-
this._adapter.toggleInputShow(isShow, () => this.
|
|
478
|
+
this._adapter.toggleInputShow(isShow, () => this.focus());
|
|
455
479
|
} else {
|
|
456
480
|
this._adapter.toggleInputShow(isShow, () => undefined);
|
|
457
481
|
}
|
|
458
482
|
}
|
|
459
483
|
|
|
460
|
-
focusInput() {
|
|
461
|
-
this._adapter.focusInput();
|
|
462
|
-
|
|
463
|
-
this._adapter.updateFocusState(true);
|
|
464
|
-
}
|
|
465
|
-
|
|
466
484
|
handleItemClick(e, item) {
|
|
467
485
|
const isDisabled = this._isDisabled();
|
|
468
486
|
|
package/lib/cjs/radio/radio.css
CHANGED
package/lib/cjs/radio/radio.scss
CHANGED
|
@@ -173,7 +173,7 @@ $basicType: #{$module}-basic;
|
|
|
173
173
|
|
|
174
174
|
transform:scale($transform_scale-step-item);
|
|
175
175
|
|
|
176
|
-
|
|
176
|
+
&-hover:hover {
|
|
177
177
|
|
|
178
178
|
.#{$item}-title {
|
|
179
179
|
color: $color-steps_item_title-text-hover;
|
|
@@ -267,7 +267,7 @@ $basicType: #{$module}-basic;
|
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
269
|
|
|
270
|
-
|
|
270
|
+
&-hover:hover {
|
|
271
271
|
.#{$item}-left {
|
|
272
272
|
|
|
273
273
|
.#{$item}-icon {
|
|
@@ -92,7 +92,7 @@ $module: #{$prefix}-steps;
|
|
|
92
92
|
color: $color-steps_success-text-default;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
&-hover:hover {
|
|
96
96
|
background-color: $color-steps-bg-hover;
|
|
97
97
|
|
|
98
98
|
.#{$prefix}-icon,
|
|
@@ -118,7 +118,7 @@ $module: #{$prefix}-steps;
|
|
|
118
118
|
color: $color-steps_danger-text-default;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
&-hover:hover {
|
|
122
122
|
background: $color-steps-bg-hover;
|
|
123
123
|
|
|
124
124
|
.#{$prefix}-icon,
|
|
@@ -144,7 +144,7 @@ $module: #{$prefix}-steps;
|
|
|
144
144
|
color: $color-steps_warning-text-default;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
|
|
147
|
+
&-hover:hover {
|
|
148
148
|
background: $color-steps-bg-hover;
|
|
149
149
|
|
|
150
150
|
.#{$module}-item-title,
|
package/lib/cjs/steps/steps.css
CHANGED
|
@@ -64,11 +64,11 @@
|
|
|
64
64
|
.semi-steps .semi-steps-item-finish .semi-steps-item-title {
|
|
65
65
|
color: var(--semi-color-success);
|
|
66
66
|
}
|
|
67
|
-
.semi-steps .semi-steps-item-finish:hover {
|
|
67
|
+
.semi-steps .semi-steps-item-finish-hover:hover {
|
|
68
68
|
background-color: var(--semi-color-fill-0);
|
|
69
69
|
}
|
|
70
|
-
.semi-steps .semi-steps-item-finish:hover .semi-icon,
|
|
71
|
-
.semi-steps .semi-steps-item-finish:hover .semi-steps-item-title {
|
|
70
|
+
.semi-steps .semi-steps-item-finish-hover:hover .semi-icon,
|
|
71
|
+
.semi-steps .semi-steps-item-finish-hover:hover .semi-steps-item-title {
|
|
72
72
|
color: var(--semi-color-success-hover);
|
|
73
73
|
}
|
|
74
74
|
.semi-steps .semi-steps-item-finish:active {
|
|
@@ -82,11 +82,11 @@
|
|
|
82
82
|
.semi-steps .semi-steps-item-error .semi-steps-item-title {
|
|
83
83
|
color: var(--semi-color-danger);
|
|
84
84
|
}
|
|
85
|
-
.semi-steps .semi-steps-item-error:hover {
|
|
85
|
+
.semi-steps .semi-steps-item-error-hover:hover {
|
|
86
86
|
background: var(--semi-color-fill-0);
|
|
87
87
|
}
|
|
88
|
-
.semi-steps .semi-steps-item-error:hover .semi-icon,
|
|
89
|
-
.semi-steps .semi-steps-item-error:hover .semi-steps-item-title {
|
|
88
|
+
.semi-steps .semi-steps-item-error-hover:hover .semi-icon,
|
|
89
|
+
.semi-steps .semi-steps-item-error-hover:hover .semi-steps-item-title {
|
|
90
90
|
color: var(--semi-color-danger-hover);
|
|
91
91
|
}
|
|
92
92
|
.semi-steps .semi-steps-item-error:active {
|
|
@@ -100,11 +100,11 @@
|
|
|
100
100
|
.semi-steps .semi-steps-item-warning .semi-icon {
|
|
101
101
|
color: var(--semi-color-warning);
|
|
102
102
|
}
|
|
103
|
-
.semi-steps .semi-steps-item-warning:hover {
|
|
103
|
+
.semi-steps .semi-steps-item-warning-hover:hover {
|
|
104
104
|
background: var(--semi-color-fill-0);
|
|
105
105
|
}
|
|
106
|
-
.semi-steps .semi-steps-item-warning:hover .semi-steps-item-title,
|
|
107
|
-
.semi-steps .semi-steps-item-warning:hover .semi-icon {
|
|
106
|
+
.semi-steps .semi-steps-item-warning-hover:hover .semi-steps-item-title,
|
|
107
|
+
.semi-steps .semi-steps-item-warning-hover:hover .semi-icon {
|
|
108
108
|
color: var(--semi-color-warning-hover);
|
|
109
109
|
}
|
|
110
110
|
.semi-steps .semi-steps-item-warning:active {
|
|
@@ -264,10 +264,10 @@
|
|
|
264
264
|
transition: color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none), background-color var(--semi-transition_duration-none) var(--semi-transition_function-easeIn) var(--semi-transition_delay-none);
|
|
265
265
|
transform: scale(var(--semi-transform_scale-small));
|
|
266
266
|
}
|
|
267
|
-
.semi-steps-basic .semi-steps-item:hover .semi-steps-item-title {
|
|
267
|
+
.semi-steps-basic .semi-steps-item-hover:hover .semi-steps-item-title {
|
|
268
268
|
color: var(--semi-color-focus-border);
|
|
269
269
|
}
|
|
270
|
-
.semi-steps-basic .semi-steps-item:hover .semi-steps-item-description {
|
|
270
|
+
.semi-steps-basic .semi-steps-item-hover:hover .semi-steps-item-description {
|
|
271
271
|
color: var(--semi-color-focus-border);
|
|
272
272
|
}
|
|
273
273
|
.semi-steps-basic .semi-steps-item .semi-steps-item-container {
|
|
@@ -330,7 +330,7 @@
|
|
|
330
330
|
background: var(--semi-color-fill-0);
|
|
331
331
|
color: var(--semi-color-text-2);
|
|
332
332
|
}
|
|
333
|
-
.semi-steps-basic .semi-steps-item-wait:hover .semi-steps-item-left .semi-steps-item-icon .semi-steps-item-number-icon {
|
|
333
|
+
.semi-steps-basic .semi-steps-item-wait-hover:hover .semi-steps-item-left .semi-steps-item-icon .semi-steps-item-number-icon {
|
|
334
334
|
background: var(--semi-color-secondary-light-default);
|
|
335
335
|
color: var(--semi-color-focus-border);
|
|
336
336
|
}
|
|
@@ -32,6 +32,7 @@ export interface BaseColumnProps<RecordType> {
|
|
|
32
32
|
title?: any;
|
|
33
33
|
useFullRender?: boolean;
|
|
34
34
|
width?: string | number;
|
|
35
|
+
ellipsis?: BaseEllipsis;
|
|
35
36
|
}
|
|
36
37
|
export interface TableAdapter<RecordType> extends DefaultAdapter {
|
|
37
38
|
resetScrollY: () => void;
|
|
@@ -81,6 +82,7 @@ export interface TableAdapter<RecordType> extends DefaultAdapter {
|
|
|
81
82
|
getHandleColumns: () => (queries: BaseColumnProps<RecordType>[], cachedColumns: BaseColumnProps<RecordType>[]) => BaseColumnProps<RecordType>[];
|
|
82
83
|
getMergePagination: () => (pagination: BasePagination) => BasePagination;
|
|
83
84
|
setBodyHasScrollbar: (bodyHasScrollBar: boolean) => void;
|
|
85
|
+
getTableLayout: () => 'fixed' | 'auto';
|
|
84
86
|
}
|
|
85
87
|
declare class TableFoundation<RecordType> extends BaseFoundation<TableAdapter<RecordType>> {
|
|
86
88
|
memoizedWithFnsColumns: (queries: BaseColumnProps<RecordType>[], cachedColumns: BaseColumnProps<RecordType>[], rowSelectionUpdate: boolean, hideExpandedColumn: boolean, bodyHasScrollBar: boolean) => BaseColumnProps<RecordType>[];
|
|
@@ -366,4 +368,7 @@ export interface BaseChangeInfoSorter<RecordType> {
|
|
|
366
368
|
export declare type BaseIncludeGroupRecord<RecordType> = RecordType | {
|
|
367
369
|
groupKey: string;
|
|
368
370
|
};
|
|
371
|
+
export declare type BaseEllipsis = boolean | {
|
|
372
|
+
showTitle: boolean;
|
|
373
|
+
};
|
|
369
374
|
export default TableFoundation;
|
package/lib/cjs/table/table.css
CHANGED
|
@@ -94,6 +94,10 @@
|
|
|
94
94
|
.semi-table-header-sticky .semi-table-thead > .semi-table-row > .semi-table-row-head {
|
|
95
95
|
background-color: var(--semi-color-bg-1);
|
|
96
96
|
}
|
|
97
|
+
.semi-table-operate-wrapper {
|
|
98
|
+
display: flex;
|
|
99
|
+
justify-content: flex-start;
|
|
100
|
+
}
|
|
97
101
|
.semi-table-body {
|
|
98
102
|
overflow: auto;
|
|
99
103
|
width: 100%;
|
|
@@ -119,8 +123,7 @@
|
|
|
119
123
|
padding-top: 8px;
|
|
120
124
|
padding-bottom: 8px;
|
|
121
125
|
vertical-align: middle;
|
|
122
|
-
|
|
123
|
-
word-wrap: break-word;
|
|
126
|
+
overflow-wrap: break-word;
|
|
124
127
|
position: relative;
|
|
125
128
|
}
|
|
126
129
|
.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 {
|
|
@@ -173,6 +176,16 @@
|
|
|
173
176
|
display: inline-flex;
|
|
174
177
|
align-items: center;
|
|
175
178
|
}
|
|
179
|
+
.semi-table-thead > .semi-table-row > .semi-table-row-head-ellipsis {
|
|
180
|
+
overflow: hidden;
|
|
181
|
+
text-overflow: ellipsis;
|
|
182
|
+
white-space: nowrap;
|
|
183
|
+
}
|
|
184
|
+
.semi-table-thead > .semi-table-row > .semi-table-row-head-ellipsis .semi-table-row-head-title {
|
|
185
|
+
overflow: hidden;
|
|
186
|
+
text-overflow: ellipsis;
|
|
187
|
+
white-space: nowrap;
|
|
188
|
+
}
|
|
176
189
|
.semi-table-thead > .semi-table-row .react-resizable {
|
|
177
190
|
position: relative;
|
|
178
191
|
background-clip: padding-box;
|
|
@@ -223,8 +236,7 @@
|
|
|
223
236
|
}
|
|
224
237
|
.semi-table-tbody > .semi-table-row > .semi-table-row-cell {
|
|
225
238
|
display: table-cell;
|
|
226
|
-
|
|
227
|
-
word-break: break-all;
|
|
239
|
+
overflow-wrap: break-word;
|
|
228
240
|
border-left: none;
|
|
229
241
|
border-right: none;
|
|
230
242
|
border-bottom: 1px solid var(--semi-color-border);
|
|
@@ -236,6 +248,11 @@
|
|
|
236
248
|
.semi-table-tbody > .semi-table-row > .semi-table-row-cell.resizing {
|
|
237
249
|
border-right: 2px solid var(--semi-color-primary);
|
|
238
250
|
}
|
|
251
|
+
.semi-table-tbody > .semi-table-row > .semi-table-row-cell-ellipsis {
|
|
252
|
+
overflow: hidden;
|
|
253
|
+
text-overflow: ellipsis;
|
|
254
|
+
white-space: nowrap;
|
|
255
|
+
}
|
|
239
256
|
.semi-table-tbody > .semi-table-row.semi-table-row-expand > .semi-table-row-cell {
|
|
240
257
|
background-color: var(--semi-color-fill-0);
|
|
241
258
|
}
|
|
@@ -336,9 +353,10 @@
|
|
|
336
353
|
text-align: center;
|
|
337
354
|
}
|
|
338
355
|
.semi-table .semi-table-column-sorter-wrapper {
|
|
339
|
-
display:
|
|
356
|
+
display: flex;
|
|
340
357
|
align-items: center;
|
|
341
358
|
cursor: pointer;
|
|
359
|
+
overflow: hidden;
|
|
342
360
|
}
|
|
343
361
|
.semi-table .semi-table-column-sorter-up, .semi-table .semi-table-column-sorter-down {
|
|
344
362
|
height: 0;
|