@douyinfe/semi-foundation 2.34.0-alpha.1 → 2.34.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/breadcrumb/breadcrumb.scss +4 -4
- package/calendar/eventUtil.ts +9 -7
- package/calendar/foundation.ts +4 -4
- 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/cascader/foundation.d.ts +3 -1
- package/lib/cjs/cascader/foundation.js +26 -8
- package/lib/cjs/navigation/itemFoundation.d.ts +0 -2
- package/lib/cjs/navigation/navigation.css +7 -77
- package/lib/cjs/navigation/navigation.scss +7 -119
- package/lib/cjs/navigation/subNavFoundation.d.ts +0 -2
- package/lib/cjs/radio/radio.css +1 -0
- package/lib/cjs/radio/radio.scss +1 -0
- package/lib/cjs/steps/bacisSteps.scss +238 -287
- package/lib/cjs/steps/fillSteps.scss +142 -153
- package/lib/cjs/steps/navSteps.scss +40 -61
- package/lib/cjs/steps/steps.css +28 -392
- 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/timeline/timeline.css +0 -36
- package/lib/cjs/timeline/timeline.scss +46 -96
- package/lib/cjs/tree/treeUtil.d.ts +1 -1
- package/lib/cjs/typography/typography.css +8 -0
- package/lib/cjs/typography/typography.scss +13 -0
- package/lib/cjs/upload/constants.d.ts +1 -1
- 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/cascader/foundation.d.ts +3 -1
- package/lib/es/cascader/foundation.js +26 -8
- package/lib/es/navigation/itemFoundation.d.ts +0 -2
- package/lib/es/navigation/navigation.css +7 -77
- package/lib/es/navigation/navigation.scss +7 -119
- package/lib/es/navigation/subNavFoundation.d.ts +0 -2
- package/lib/es/radio/radio.css +1 -0
- package/lib/es/radio/radio.scss +1 -0
- package/lib/es/steps/bacisSteps.scss +238 -287
- package/lib/es/steps/fillSteps.scss +142 -153
- package/lib/es/steps/navSteps.scss +40 -61
- package/lib/es/steps/steps.css +28 -392
- 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/timeline/timeline.css +0 -36
- package/lib/es/timeline/timeline.scss +46 -96
- package/lib/es/tree/treeUtil.d.ts +1 -1
- package/lib/es/typography/typography.css +8 -0
- package/lib/es/typography/typography.scss +13 -0
- package/lib/es/upload/constants.d.ts +1 -1
- package/navigation/itemFoundation.ts +1 -3
- package/navigation/navigation.scss +7 -119
- package/navigation/subNavFoundation.ts +1 -3
- package/package.json +2 -2
- package/radio/radio.scss +1 -0
- package/steps/bacisSteps.scss +238 -287
- package/steps/fillSteps.scss +142 -153
- package/steps/navSteps.scss +40 -61
- 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/timeline/timeline.scss +46 -96
- package/typography/typography.scss +13 -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/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);
|
|
@@ -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
|
|
|
@@ -34,8 +34,6 @@ export interface ItemAdapter<P = Record<string, any>, S = Record<string, any>> e
|
|
|
34
34
|
getIsCollapsed(): boolean;
|
|
35
35
|
getSelected(): boolean;
|
|
36
36
|
getIsOpen(): boolean;
|
|
37
|
-
getIsInSubNav(): boolean;
|
|
38
|
-
getMode(): string;
|
|
39
37
|
}
|
|
40
38
|
export default class ItemFoundation<P = Record<string, any>, S = Record<string, any>> extends BaseFoundation<ItemAdapter<P, S>, P, S> {
|
|
41
39
|
_timer: number;
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
padding: 8px 12px;
|
|
57
57
|
box-sizing: border-box;
|
|
58
58
|
margin-top: 0;
|
|
59
|
+
margin-bottom: 8px;
|
|
59
60
|
font-size: 14px;
|
|
60
61
|
line-height: 20px;
|
|
61
62
|
font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
@@ -240,12 +241,6 @@
|
|
|
240
241
|
text-overflow: ellipsis;
|
|
241
242
|
white-space: nowrap;
|
|
242
243
|
overflow: hidden;
|
|
243
|
-
display: flex;
|
|
244
|
-
flex-direction: column;
|
|
245
|
-
row-gap: 8px;
|
|
246
|
-
}
|
|
247
|
-
.semi-navigation-sub.semi-navigation-sub-open {
|
|
248
|
-
margin-top: 8px;
|
|
249
244
|
}
|
|
250
245
|
.semi-navigation-sub .semi-navigation-item {
|
|
251
246
|
color: var(--semi-color-text-0);
|
|
@@ -254,6 +249,9 @@
|
|
|
254
249
|
font-weight: 400;
|
|
255
250
|
width: 100%;
|
|
256
251
|
}
|
|
252
|
+
.semi-navigation-sub .semi-navigation-item:first-child {
|
|
253
|
+
margin-top: 8px;
|
|
254
|
+
}
|
|
257
255
|
.semi-navigation-sub .semi-navigation-item > .semi-navigation-sub .semi-navigation-item-text:first-child {
|
|
258
256
|
margin-left: 44px;
|
|
259
257
|
}
|
|
@@ -335,12 +333,6 @@
|
|
|
335
333
|
transition: transform 200ms ease-in-out;
|
|
336
334
|
transform: rotate(-180deg);
|
|
337
335
|
}
|
|
338
|
-
.semi-navigation-icon-rotate-0-no-transition {
|
|
339
|
-
transform: rotate(0);
|
|
340
|
-
}
|
|
341
|
-
.semi-navigation-icon-rotate-180-no-transition {
|
|
342
|
-
transform: rotate(-180deg);
|
|
343
|
-
}
|
|
344
336
|
|
|
345
337
|
/* Header、Footer-Common */
|
|
346
338
|
.semi-navigation-header {
|
|
@@ -401,11 +393,6 @@
|
|
|
401
393
|
.semi-navigation-vertical .semi-navigation-list > .semi-navigation-item-selected:not(.semi-navigation-item-disabled).semi-navigation-item-normal:hover .semi-navigation-item-icon:first-child {
|
|
402
394
|
color: var(--semi-color-primary);
|
|
403
395
|
}
|
|
404
|
-
.semi-navigation-vertical .semi-navigation-list {
|
|
405
|
-
display: flex;
|
|
406
|
-
flex-direction: column;
|
|
407
|
-
row-gap: 8px;
|
|
408
|
-
}
|
|
409
396
|
.semi-navigation-vertical .semi-navigation-list > .semi-navigation-sub-wrap > .semi-navigation-sub-title {
|
|
410
397
|
color: var(--semi-color-text-0);
|
|
411
398
|
background-color: transparent;
|
|
@@ -483,6 +470,9 @@
|
|
|
483
470
|
.semi-navigation-vertical .semi-navigation-list > .semi-navigation-sub-wrap > .semi-navigation-sub-title:hover.semi-navigation-sub-title-disabled.semi-navigation-sub-title-selected .semi-navigation-item-icon:first-child, .semi-navigation-vertical .semi-navigation-list > .semi-navigation-sub-wrap > .semi-navigation-sub-title:active.semi-navigation-sub-title-disabled.semi-navigation-sub-title-selected .semi-navigation-item-icon:first-child {
|
|
484
471
|
color: var(--semi-color-primary-disabled);
|
|
485
472
|
}
|
|
473
|
+
.semi-navigation-vertical .semi-navigation-item:last-of-type {
|
|
474
|
+
margin-bottom: 0;
|
|
475
|
+
}
|
|
486
476
|
.semi-navigation-vertical .semi-navigation-inner {
|
|
487
477
|
flex-direction: column;
|
|
488
478
|
}
|
|
@@ -681,66 +671,6 @@
|
|
|
681
671
|
padding: 0;
|
|
682
672
|
}
|
|
683
673
|
|
|
684
|
-
.semi-navigation-first-layer > .semi-navigation-sub-title .semi-navigation-item-text {
|
|
685
|
-
font-weight: 600;
|
|
686
|
-
}
|
|
687
|
-
.semi-navigation-first-layer > .semi-navigation-item-text {
|
|
688
|
-
font-weight: 600;
|
|
689
|
-
}
|
|
690
|
-
|
|
691
|
-
.semi-navigation-sub-title-selected .semi-navigation-item-icon:first-child {
|
|
692
|
-
color: var(--semi-color-primary);
|
|
693
|
-
}
|
|
694
|
-
|
|
695
|
-
.semi-navigation-sub-wrap .semi-navigation-sub-title {
|
|
696
|
-
margin-bottom: 0;
|
|
697
|
-
}
|
|
698
|
-
.semi-navigation-sub-wrap .semi-navigation-item:last-of-type {
|
|
699
|
-
margin-bottom: 0;
|
|
700
|
-
}
|
|
701
|
-
|
|
702
|
-
.semi-navigation-sub-title.semi-navigation-sub-title-disabled .semi-navigation-item-text {
|
|
703
|
-
color: var(--semi-color-disabled-text);
|
|
704
|
-
}
|
|
705
|
-
|
|
706
|
-
.semi-navigation-item-horizontal.semi-navigation-item {
|
|
707
|
-
width: fit-content;
|
|
708
|
-
margin-bottom: 0;
|
|
709
|
-
margin-right: 8px;
|
|
710
|
-
}
|
|
711
|
-
.semi-navigation-item-horizontal.semi-navigation-item.semi-navigation-item-disabled {
|
|
712
|
-
color: var(--semi-color-disabled-text);
|
|
713
|
-
}
|
|
714
|
-
.semi-navigation-item-horizontal .semi-navigation-sub-title .semi-navigation-item-icon:first-child,
|
|
715
|
-
.semi-navigation-item-horizontal .semi-navigation-sub-title .semi-navigation-item-text {
|
|
716
|
-
color: var(--semi-color-text-2);
|
|
717
|
-
background-color: transparent;
|
|
718
|
-
}
|
|
719
|
-
.semi-navigation-item-horizontal .semi-navigation-sub-title.semi-navigation-sub-title-selected .semi-navigation-item-icon:first-child,
|
|
720
|
-
.semi-navigation-item-horizontal .semi-navigation-sub-title.semi-navigation-sub-title-selected .semi-navigation-item-text {
|
|
721
|
-
color: var(--semi-color-text-0);
|
|
722
|
-
}
|
|
723
|
-
.semi-navigation-item-horizontal .semi-navigation-sub-title.semi-navigation-sub-title-disabled .semi-navigation-item-icon:first-child,
|
|
724
|
-
.semi-navigation-item-horizontal .semi-navigation-sub-title.semi-navigation-sub-title-disabled .semi-navigation-item-text {
|
|
725
|
-
color: var(--semi-color-disabled-text);
|
|
726
|
-
}
|
|
727
|
-
.semi-navigation-item-horizontal.semi-navigation-first-layer {
|
|
728
|
-
color: var(--semi-color-text-2);
|
|
729
|
-
}
|
|
730
|
-
.semi-navigation-item-horizontal.semi-navigation-item-selected {
|
|
731
|
-
background-color: transparent;
|
|
732
|
-
}
|
|
733
|
-
.semi-navigation-item-horizontal.semi-navigation-item-selected .semi-navigation-item-icon:first-child,
|
|
734
|
-
.semi-navigation-item-horizontal.semi-navigation-item-selected .semi-navigation-item-text {
|
|
735
|
-
color: var(--semi-color-text-0);
|
|
736
|
-
}
|
|
737
|
-
.semi-navigation-item-horizontal .semi-navigation-item-icon:first-child {
|
|
738
|
-
margin-right: 8px;
|
|
739
|
-
}
|
|
740
|
-
.semi-navigation-item-horizontal .semi-navigation-item-icon:last-child {
|
|
741
|
-
margin-left: 8px;
|
|
742
|
-
}
|
|
743
|
-
|
|
744
674
|
.semi-rtl .semi-navigation,
|
|
745
675
|
.semi-portal-rtl .semi-navigation {
|
|
746
676
|
direction: rtl;
|