@douyinfe/semi-ui 2.0.9-alpha.0 → 2.0.9-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.
- package/dist/umd/semi-ui.js +629 -544
- package/dist/umd/semi-ui.js.map +1 -1
- package/dist/umd/semi-ui.min.js +1 -1
- package/dist/umd/semi-ui.min.js.map +1 -1
- package/lib/es/autoComplete/index.d.ts +36 -11
- package/lib/es/calendar/dayCalendar.js +1 -1
- package/lib/es/calendar/monthCalendar.js +1 -1
- package/lib/es/calendar/rangeCalendar.js +1 -1
- package/lib/es/calendar/weekCalendar.js +1 -1
- package/lib/es/datePicker/yearAndMonth.d.ts +2 -2
- package/lib/es/form/baseForm.d.ts +1 -1
- package/lib/es/form/baseForm.js +1 -2
- package/lib/es/form/field.d.ts +1 -1
- package/lib/es/form/hoc/withField.js +5 -1
- package/lib/es/locale/localeConsumer.d.ts +5 -5
- package/lib/es/modal/useModal/HookModal.d.ts +3 -2
- package/lib/es/modal/useModal/index.js +1 -1
- package/lib/es/navigation/index.d.ts +1 -1
- package/lib/es/notification/index.d.ts +1 -1
- package/lib/es/notification/index.js +1 -1
- package/lib/es/rating/index.d.ts +1 -1
- package/lib/es/resizeObserver/index.js +1 -0
- package/lib/es/scrollList/scrollItem.d.ts +8 -8
- package/lib/es/select/index.js +2 -2
- package/lib/es/select/option.js +2 -2
- package/lib/es/select/utils.js +2 -4
- package/lib/es/sideSheet/SideSheetContent.d.ts +1 -1
- package/lib/es/sideSheet/index.d.ts +3 -3
- package/lib/es/steps/basicSteps.js +2 -2
- package/lib/es/steps/fillSteps.js +3 -3
- package/lib/es/steps/navSteps.js +2 -2
- package/lib/es/tabs/index.js +5 -5
- package/lib/es/timePicker/Combobox.d.ts +10 -4
- package/lib/es/timePicker/Combobox.js +2 -1
- package/lib/es/timePicker/TimePicker.d.ts +1 -1
- package/lib/es/toast/index.d.ts +1 -1
- package/lib/es/treeSelect/index.js +2 -1
- package/lib/es/typography/base.d.ts +1 -1
- package/lib/es/typography/paragraph.d.ts +1 -1
- package/lib/es/typography/text.d.ts +1 -1
- package/lib/es/typography/title.d.ts +1 -1
- package/lib/es/upload/fileCard.d.ts +3 -18
- package/lib/es/upload/index.d.ts +4 -57
- package/lib/es/upload/interface.d.ts +56 -0
- package/lib/es/upload/interface.js +1 -0
- package/package.json +3 -3
|
@@ -16,15 +16,16 @@ import { Motion } from '../_base/base';
|
|
|
16
16
|
export interface BaseDataItem extends DataItem {
|
|
17
17
|
label?: React.ReactNode;
|
|
18
18
|
}
|
|
19
|
-
export
|
|
19
|
+
export declare type AutoCompleteItems = BaseDataItem | string | number;
|
|
20
|
+
export interface AutoCompleteProps<T extends AutoCompleteItems> {
|
|
20
21
|
autoAdjustOverflow?: boolean;
|
|
21
22
|
autoFocus?: boolean;
|
|
22
23
|
className?: string;
|
|
23
24
|
children?: React.ReactNode;
|
|
24
|
-
data?:
|
|
25
|
+
data?: T[];
|
|
25
26
|
disabled?: boolean;
|
|
26
27
|
defaultOpen?: boolean;
|
|
27
|
-
defaultValue?:
|
|
28
|
+
defaultValue?: T;
|
|
28
29
|
defaultActiveFirstOption?: boolean;
|
|
29
30
|
dropdownMatchSelectWidth?: boolean;
|
|
30
31
|
dropdownClassName?: string;
|
|
@@ -41,7 +42,7 @@ export interface AutoCompleteProps<Item extends BaseDataItem = BaseDataItem> {
|
|
|
41
42
|
onBlur?: (e: React.FocusEvent) => void;
|
|
42
43
|
onChange?: (value: string | number) => void;
|
|
43
44
|
onSearch?: (inputValue: string) => void;
|
|
44
|
-
onSelect?: (value:
|
|
45
|
+
onSelect?: (value: T) => void;
|
|
45
46
|
onClear?: () => void;
|
|
46
47
|
onChangeWithObject?: boolean;
|
|
47
48
|
onSelectWithObject?: boolean;
|
|
@@ -49,8 +50,8 @@ export interface AutoCompleteProps<Item extends BaseDataItem = BaseDataItem> {
|
|
|
49
50
|
prefix?: React.ReactNode;
|
|
50
51
|
placeholder?: string;
|
|
51
52
|
position?: Position;
|
|
52
|
-
renderItem?: (option:
|
|
53
|
-
renderSelectedItem?: (option:
|
|
53
|
+
renderItem?: (option: T) => React.ReactNode;
|
|
54
|
+
renderSelectedItem?: (option: T) => string;
|
|
54
55
|
size?: 'small' | 'default' | 'large';
|
|
55
56
|
style?: React.CSSProperties;
|
|
56
57
|
suffix?: React.ReactNode;
|
|
@@ -74,7 +75,7 @@ interface AutoCompleteState {
|
|
|
74
75
|
rePosKey: number;
|
|
75
76
|
keyboardEventSet?: KeyboardEventType;
|
|
76
77
|
}
|
|
77
|
-
declare class AutoComplete extends BaseComponent<AutoCompleteProps
|
|
78
|
+
declare class AutoComplete<T extends AutoCompleteItems> extends BaseComponent<AutoCompleteProps<T>, AutoCompleteState> {
|
|
78
79
|
static propTypes: {
|
|
79
80
|
autoFocus: PropTypes.Requireable<boolean>;
|
|
80
81
|
autoAdjustOverflow: PropTypes.Requireable<boolean>;
|
|
@@ -118,15 +119,39 @@ declare class AutoComplete extends BaseComponent<AutoCompleteProps, AutoComplete
|
|
|
118
119
|
zIndex: PropTypes.Requireable<number>;
|
|
119
120
|
};
|
|
120
121
|
static Option: typeof Option;
|
|
121
|
-
static defaultProps:
|
|
122
|
+
static defaultProps: {
|
|
123
|
+
stopPropagation: boolean;
|
|
124
|
+
motion: boolean;
|
|
125
|
+
zIndex: number;
|
|
126
|
+
position: "bottomLeft";
|
|
127
|
+
data: [];
|
|
128
|
+
showClear: boolean;
|
|
129
|
+
disabled: boolean;
|
|
130
|
+
size: "default";
|
|
131
|
+
onFocus: (...args: any[]) => void;
|
|
132
|
+
onSearch: (...args: any[]) => void;
|
|
133
|
+
onClear: (...args: any[]) => void;
|
|
134
|
+
onBlur: (...args: any[]) => void;
|
|
135
|
+
onSelect: (...args: any[]) => void;
|
|
136
|
+
onChange: (...args: any[]) => void;
|
|
137
|
+
onSelectWithObject: boolean;
|
|
138
|
+
onDropdownVisibleChange: (...args: any[]) => void;
|
|
139
|
+
defaultActiveFirstOption: boolean;
|
|
140
|
+
dropdownMatchSelectWidth: boolean;
|
|
141
|
+
loading: boolean;
|
|
142
|
+
maxHeight: number;
|
|
143
|
+
validateStatus: "default";
|
|
144
|
+
autoFocus: boolean;
|
|
145
|
+
emptyContent: null;
|
|
146
|
+
};
|
|
122
147
|
triggerRef: React.RefObject<HTMLDivElement> | null;
|
|
123
148
|
optionsRef: React.RefObject<HTMLDivElement> | null;
|
|
124
149
|
private clickOutsideHandler;
|
|
125
|
-
constructor(props: AutoCompleteProps);
|
|
126
|
-
get adapter(): AutoCompleteAdapter<AutoCompleteProps
|
|
150
|
+
constructor(props: AutoCompleteProps<T>);
|
|
151
|
+
get adapter(): AutoCompleteAdapter<AutoCompleteProps<T>, AutoCompleteState>;
|
|
127
152
|
componentDidMount(): void;
|
|
128
153
|
componentWillUnmount(): void;
|
|
129
|
-
componentDidUpdate(prevProps: AutoCompleteProps
|
|
154
|
+
componentDidUpdate(prevProps: AutoCompleteProps<T>, prevState: AutoCompleteState): void;
|
|
130
155
|
onSelect: (option: StateOptionItem, optionIndex: number, e: React.MouseEvent | React.KeyboardEvent) => void;
|
|
131
156
|
onSearch: (value: string) => void;
|
|
132
157
|
onBlur: (e: React.FocusEvent) => void;
|
|
@@ -32,8 +32,8 @@ declare class YearAndMonth extends BaseComponent<YearAndMonthProps, YearAndMonth
|
|
|
32
32
|
onSelect: (...args: any[]) => void;
|
|
33
33
|
};
|
|
34
34
|
foundation: YearAndMonthFoundation;
|
|
35
|
-
yearRef: React.RefObject<ScrollItem
|
|
36
|
-
monthRef: React.RefObject<ScrollItem
|
|
35
|
+
yearRef: React.RefObject<ScrollItem<YearScrollItem>>;
|
|
36
|
+
monthRef: React.RefObject<ScrollItem<MonthScrollItem>>;
|
|
37
37
|
constructor(props: YearAndMonthProps);
|
|
38
38
|
get adapter(): YearAndMonthAdapter;
|
|
39
39
|
static getDerivedStateFromProps(props: YearAndMonthProps, state: YearAndMonthState): Partial<YearAndMonthFoundationState>;
|
|
@@ -128,7 +128,7 @@ declare class Form extends BaseComponent<BaseFormProps, BaseFormState> {
|
|
|
128
128
|
children?: React.ReactNode;
|
|
129
129
|
}), import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
|
|
130
130
|
static Rating: React.ComponentType<import("utility-types").Subtract<import("../rating").RatingProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
|
|
131
|
-
static AutoComplete: React.ComponentType<import("utility-types").Subtract<import("../autoComplete").AutoCompleteProps<import("../autoComplete").
|
|
131
|
+
static AutoComplete: React.ComponentType<import("utility-types").Subtract<import("../autoComplete").AutoCompleteProps<import("../autoComplete").AutoCompleteItems>, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
|
|
132
132
|
static Upload: React.ComponentType<import("utility-types").Subtract<import("../upload").UploadProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
|
|
133
133
|
static TagInput: React.ComponentType<import("utility-types").Subtract<import("../tagInput").TagInputProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
|
|
134
134
|
static Slot: (props: import("./slot").SlotProps) => JSX.Element;
|
package/lib/es/form/baseForm.js
CHANGED
|
@@ -49,8 +49,7 @@ class Form extends BaseComponent {
|
|
|
49
49
|
this.state = {
|
|
50
50
|
formId: getUuidv4()
|
|
51
51
|
};
|
|
52
|
-
warning(
|
|
53
|
-
props.component && props.render, '[Semi Form] You should not use <Form component> and <Form render> in ths same time; <Form render> will be ignored');
|
|
52
|
+
warning(Boolean(props.component && props.render), '[Semi Form] You should not use <Form component> and <Form render> in ths same time; <Form render> will be ignored');
|
|
54
53
|
warning(props.component && props.children && !isEmptyChildren(props.children), '[Semi Form] You should not use <Form component> and <Form>{children}</Form> in ths same time; <Form>{children}</Form> will be ignored');
|
|
55
54
|
warning(props.render && props.children && !isEmptyChildren(props.children), '[Semi Form] You should not use <Form render> and <Form>{children}</Form> in ths same time; <Form>{children}</Form> will be ignored');
|
|
56
55
|
this.submit = _bindInstanceProperty(_context = this.submit).call(_context, this);
|
package/lib/es/form/field.d.ts
CHANGED
|
@@ -90,7 +90,7 @@ declare const FormCascader: import("react").ComponentType<import("utility-types"
|
|
|
90
90
|
children?: import("react").ReactNode;
|
|
91
91
|
}), import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
|
|
92
92
|
declare const FormRating: import("react").ComponentType<import("utility-types").Subtract<import("../rating/index").RatingProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
|
|
93
|
-
declare const FormAutoComplete: import("react").ComponentType<import("utility-types").Subtract<import("../autoComplete/index").AutoCompleteProps<import("../autoComplete/index").
|
|
93
|
+
declare const FormAutoComplete: import("react").ComponentType<import("utility-types").Subtract<import("../autoComplete/index").AutoCompleteProps<import("../autoComplete/index").AutoCompleteItems>, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
|
|
94
94
|
declare const FormUpload: import("react").ComponentType<import("utility-types").Subtract<import("../upload/index").UploadProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
|
|
95
95
|
declare const FormTagInput: import("react").ComponentType<import("utility-types").Subtract<import("../tagInput/index").TagInputProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
|
|
96
96
|
export { FormInput, FormInputNumber, FormTextArea, FormSelect, FormCheckboxGroup, FormCheckbox, FormRadioGroup, FormRadio, FormDatePicker, FormSwitch, FormSlider, FormTimePicker, FormTreeSelect, FormCascader, FormRating, FormAutoComplete, FormUpload, FormTagInput };
|
|
@@ -507,10 +507,14 @@ function withField(Component, opts) {
|
|
|
507
507
|
return useMemo(() => FieldComponent, [...shouldUpdate]);
|
|
508
508
|
} else {
|
|
509
509
|
// Some Custom Component with inner state shouldn't be memo, otherwise the component will not updated when the internal state is updated
|
|
510
|
-
// Fixed issue 328
|
|
511
510
|
return FieldComponent;
|
|
512
511
|
}
|
|
513
512
|
};
|
|
513
|
+
/**
|
|
514
|
+
* Reasons for using ts-igonre: skip strict check of ref
|
|
515
|
+
*/
|
|
516
|
+
// @ts-ignore-next-line
|
|
517
|
+
|
|
514
518
|
|
|
515
519
|
SemiField = /*#__PURE__*/forwardRef(SemiField);
|
|
516
520
|
SemiField.displayName = getDisplayName(Component);
|
|
@@ -2,12 +2,12 @@ import React, { Component } from 'react';
|
|
|
2
2
|
import { Locale as dateFns } from 'date-fns';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { Locale } from './interface';
|
|
5
|
-
declare type ChildrenRender = (componentLocal:
|
|
6
|
-
export interface LocaleConsumerProps {
|
|
5
|
+
declare type ChildrenRender<T> = (componentLocal: T, localeCode: string, dateFnsLocale: dateFns) => React.ReactNode;
|
|
6
|
+
export interface LocaleConsumerProps<T> {
|
|
7
7
|
componentName: string;
|
|
8
|
-
children?: ChildrenRender
|
|
8
|
+
children?: ChildrenRender<T>;
|
|
9
9
|
}
|
|
10
|
-
export default class LocaleConsumer extends Component<LocaleConsumerProps
|
|
10
|
+
export default class LocaleConsumer<T> extends Component<LocaleConsumerProps<T>> {
|
|
11
11
|
static propTypes: {
|
|
12
12
|
componentName: PropTypes.Validator<string>;
|
|
13
13
|
children: PropTypes.Requireable<any>;
|
|
@@ -15,7 +15,7 @@ export default class LocaleConsumer extends Component<LocaleConsumerProps> {
|
|
|
15
15
|
static defaultProps: {
|
|
16
16
|
componentName: string;
|
|
17
17
|
};
|
|
18
|
-
renderChildren(localeData: Locale, children: ChildrenRender): React.ReactNode;
|
|
18
|
+
renderChildren(localeData: Locale, children: ChildrenRender<T>): React.ReactNode;
|
|
19
19
|
render(): JSX.Element;
|
|
20
20
|
}
|
|
21
21
|
export {};
|
|
@@ -6,8 +6,9 @@ interface HookModalProps {
|
|
|
6
6
|
config: ConfirmProps;
|
|
7
7
|
motion?: Motion;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
export interface HookModalRef {
|
|
10
10
|
destroy: () => void;
|
|
11
11
|
update: (newConfig: ConfirmProps) => void;
|
|
12
|
-
}
|
|
12
|
+
}
|
|
13
|
+
declare const _default: React.ForwardRefExoticComponent<HookModalProps & React.RefAttributes<HookModalRef>>;
|
|
13
14
|
export default _default;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import HookModal from './HookModal';
|
|
4
|
-
import { withConfirm, withInfo, withSuccess,
|
|
4
|
+
import { withConfirm, withError, withInfo, withSuccess, withWarning } from '../confirm';
|
|
5
5
|
let uuid = 0;
|
|
6
6
|
|
|
7
7
|
function usePatchElement() {
|
|
@@ -7,7 +7,7 @@ import Item, { NavItemProps } from './Item';
|
|
|
7
7
|
import Footer, { NavFooterProps } from './Footer';
|
|
8
8
|
import Header, { NavHeaderProps } from './Header';
|
|
9
9
|
import '@douyinfe/semi-foundation/lib/es/navigation/navigation.css';
|
|
10
|
-
import { Motion } from '_base/base';
|
|
10
|
+
import { Motion } from '../_base/base';
|
|
11
11
|
export { CollapseButtonProps } from './CollapseButton';
|
|
12
12
|
export { NavFooterProps } from './Footer';
|
|
13
13
|
export { NavHeaderProps } from './Header';
|
|
@@ -43,7 +43,7 @@ declare class NotificationList extends BaseComponent<NotificationListProps, Noti
|
|
|
43
43
|
static destroyAll(): void;
|
|
44
44
|
static config(opts: ConfigProps): void;
|
|
45
45
|
add: (noticeOpts: NoticeProps) => any;
|
|
46
|
-
remove: (id: string) => void;
|
|
46
|
+
remove: (id: string | number) => void;
|
|
47
47
|
destroyAll: () => any;
|
|
48
48
|
renderNoticeInPosition: (notices: NoticeInstance[], position: NoticePosition, removedItems?: NoticeInstance[]) => JSX.Element;
|
|
49
49
|
setPosInStyle(noticeInstance: NoticeInstance): {};
|
|
@@ -39,7 +39,7 @@ class NotificationList extends BaseComponent {
|
|
|
39
39
|
this.add = noticeOpts => this.foundation.addNotice(noticeOpts);
|
|
40
40
|
|
|
41
41
|
this.remove = id => {
|
|
42
|
-
this.foundation.removeNotice(id);
|
|
42
|
+
this.foundation.removeNotice(String(id));
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
this.destroyAll = () => this.foundation.destroyAll();
|
package/lib/es/rating/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface RatingProps {
|
|
|
23
23
|
onFocus?: (e: React.FocusEvent) => void;
|
|
24
24
|
onBlur?: (e: React.FocusEvent) => void;
|
|
25
25
|
onKeyDown?: (e: React.KeyboardEvent) => void;
|
|
26
|
-
onClick?: (e: React.MouseEvent, index: number) => void;
|
|
26
|
+
onClick?: (e: React.MouseEvent | React.KeyboardEvent, index: number) => void;
|
|
27
27
|
autoFocus?: boolean;
|
|
28
28
|
size?: 'small' | 'default' | number;
|
|
29
29
|
tooltips?: string[];
|
|
@@ -12,6 +12,7 @@ export default class ReactResizeObserver extends BaseComponent {
|
|
|
12
12
|
// using findDOMNode for two reasons:
|
|
13
13
|
// 1. cloning to insert a ref is unwieldy and not performant.
|
|
14
14
|
// 2. ensure that we resolve to an actual DOM node (instead of any JSX ref instance).
|
|
15
|
+
// eslint-disable-next-line
|
|
15
16
|
return findDOMNode(this.childNode || this);
|
|
16
17
|
} catch (error) {
|
|
17
18
|
// swallow error if findDOMNode is run on unmounted component.
|
|
@@ -4,12 +4,12 @@ import BaseComponent from '../_base/baseComponent';
|
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import { Item, ScrollItemAdapter } from '@douyinfe/semi-foundation/lib/es/scrollList/itemFoundation';
|
|
6
6
|
import { Motion } from '../_base/base';
|
|
7
|
-
export interface ScrollItemProps {
|
|
7
|
+
export interface ScrollItemProps<T extends Item> {
|
|
8
8
|
mode?: string;
|
|
9
9
|
cycled?: boolean;
|
|
10
|
-
list?:
|
|
10
|
+
list?: T[];
|
|
11
11
|
selectedIndex?: number;
|
|
12
|
-
onSelect?: (data:
|
|
12
|
+
onSelect?: (data: T) => void;
|
|
13
13
|
transform?: (value: any, text: string) => string;
|
|
14
14
|
className?: string;
|
|
15
15
|
motion?: Motion;
|
|
@@ -20,7 +20,7 @@ export interface ScrollItemState {
|
|
|
20
20
|
prependCount: number;
|
|
21
21
|
appendCount: number;
|
|
22
22
|
}
|
|
23
|
-
export default class ScrollItem extends BaseComponent<ScrollItemProps
|
|
23
|
+
export default class ScrollItem<T extends Item> extends BaseComponent<ScrollItemProps<T>, ScrollItemState> {
|
|
24
24
|
static propTypes: {
|
|
25
25
|
mode: PropTypes.Requireable<string>;
|
|
26
26
|
cycled: PropTypes.Requireable<boolean>;
|
|
@@ -36,7 +36,7 @@ export default class ScrollItem extends BaseComponent<ScrollItemProps, ScrollIte
|
|
|
36
36
|
static defaultProps: {
|
|
37
37
|
selectedIndex: number;
|
|
38
38
|
motion: boolean;
|
|
39
|
-
list:
|
|
39
|
+
list: readonly [];
|
|
40
40
|
onSelect: (...args: any[]) => void;
|
|
41
41
|
cycled: boolean;
|
|
42
42
|
mode: string;
|
|
@@ -51,9 +51,9 @@ export default class ScrollItem extends BaseComponent<ScrollItemProps, ScrollIte
|
|
|
51
51
|
throttledAdjustList: import("lodash").DebouncedFunc<(e: any, nearestNode: any) => void>;
|
|
52
52
|
debouncedSelect: import("lodash").DebouncedFunc<(e: any, nearestNode: any) => void>;
|
|
53
53
|
constructor(props?: {});
|
|
54
|
-
get adapter(): ScrollItemAdapter<ScrollItemProps,
|
|
54
|
+
get adapter(): ScrollItemAdapter<ScrollItemProps<T>, ScrollItemState, T>;
|
|
55
55
|
componentDidMount(): void;
|
|
56
|
-
componentDidUpdate(prevProps: ScrollItemProps): void;
|
|
56
|
+
componentDidUpdate(prevProps: ScrollItemProps<T>): void;
|
|
57
57
|
_cacheNode: (name: string, node: Element) => Element;
|
|
58
58
|
_cacheSelectedNode: (selectedNode: Element) => Element;
|
|
59
59
|
_cacheWillSelectNode: (node: Element) => Element;
|
|
@@ -74,7 +74,7 @@ export default class ScrollItem extends BaseComponent<ScrollItemProps, ScrollIte
|
|
|
74
74
|
indexIsSame: (index1: number, index2: number) => boolean;
|
|
75
75
|
isDisabledIndex: (index: number) => boolean;
|
|
76
76
|
isDisabledNode: (node: Element) => boolean;
|
|
77
|
-
isDisabledData: (data:
|
|
77
|
+
isDisabledData: (data: T) => boolean;
|
|
78
78
|
isWheelMode: () => boolean;
|
|
79
79
|
addClassToNode: (selectedNode: Element, selectedCls?: string) => void;
|
|
80
80
|
getIndexByNode: (node: Element) => number;
|
package/lib/es/select/index.js
CHANGED
|
@@ -25,7 +25,7 @@ import BaseComponent from '../_base/baseComponent';
|
|
|
25
25
|
import { isEqual, isString, noop } from 'lodash-es';
|
|
26
26
|
import Tag from '../tag/index';
|
|
27
27
|
import TagGroup from '../tag/group';
|
|
28
|
-
import
|
|
28
|
+
import LocaleConsumer from '../locale/localeConsumer';
|
|
29
29
|
import Popover from '../popover/index';
|
|
30
30
|
import { numbers as popoverNumbers } from '@douyinfe/semi-foundation/lib/es/popover/constants';
|
|
31
31
|
import { FixedSizeList as List } from 'react-window';
|
|
@@ -474,7 +474,7 @@ class Select extends BaseComponent {
|
|
|
474
474
|
}, option, {
|
|
475
475
|
focused: isFocused,
|
|
476
476
|
style: style
|
|
477
|
-
}), /*#__PURE__*/React.createElement(
|
|
477
|
+
}), /*#__PURE__*/React.createElement(LocaleConsumer, {
|
|
478
478
|
componentName: "Select"
|
|
479
479
|
}, locale => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
|
|
480
480
|
className: "".concat(prefixcls, "-create-tips")
|
package/lib/es/select/option.js
CHANGED
|
@@ -20,7 +20,7 @@ import classNames from 'classnames';
|
|
|
20
20
|
import PropTypes from 'prop-types';
|
|
21
21
|
import { isString } from 'lodash-es';
|
|
22
22
|
import { cssClasses } from '@douyinfe/semi-foundation/lib/es/select/constants';
|
|
23
|
-
import
|
|
23
|
+
import LocaleConsumer from '../locale/localeConsumer';
|
|
24
24
|
import { IconTick } from '@douyinfe/semi-icons';
|
|
25
25
|
import { getHighLightTextHTML } from '../_utils/index';
|
|
26
26
|
|
|
@@ -97,7 +97,7 @@ class Option extends PureComponent {
|
|
|
97
97
|
return null;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
return /*#__PURE__*/React.createElement(
|
|
100
|
+
return /*#__PURE__*/React.createElement(LocaleConsumer, {
|
|
101
101
|
componentName: "Select"
|
|
102
102
|
}, locale => /*#__PURE__*/React.createElement("div", {
|
|
103
103
|
className: optionClassName
|
package/lib/es/select/utils.js
CHANGED
|
@@ -41,8 +41,6 @@ const generateOption = (child, parent) => {
|
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
const getOptionsFromGroup = selectChildren => {
|
|
44
|
-
var _context;
|
|
45
|
-
|
|
46
44
|
let optionGroups = [];
|
|
47
45
|
let options = [];
|
|
48
46
|
const emptyGroup = {
|
|
@@ -52,8 +50,8 @@ const getOptionsFromGroup = selectChildren => {
|
|
|
52
50
|
}; // avoid null
|
|
53
51
|
// eslint-disable-next-line max-len
|
|
54
52
|
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
let childNodes = React.Children.toArray(selectChildren);
|
|
54
|
+
childNodes = _filterInstanceProperty(childNodes).call(childNodes, childNode => childNode && childNode.props);
|
|
57
55
|
let type = '';
|
|
58
56
|
|
|
59
57
|
_forEachInstanceProperty(childNodes).call(childNodes, child => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { CSSProperties } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
export interface SideSheetContentProps {
|
|
4
|
-
onClose?: (e: React.MouseEvent
|
|
4
|
+
onClose?: (e: React.MouseEvent) => void;
|
|
5
5
|
mask?: boolean;
|
|
6
6
|
maskStyle?: CSSProperties;
|
|
7
7
|
maskClosable?: boolean;
|
|
@@ -13,7 +13,7 @@ export interface SideSheetReactProps extends SideSheetProps {
|
|
|
13
13
|
title?: React.ReactNode;
|
|
14
14
|
footer?: React.ReactNode;
|
|
15
15
|
children?: React.ReactNode;
|
|
16
|
-
onCancel?: (e: React.MouseEvent) => void;
|
|
16
|
+
onCancel?: (e: React.MouseEvent | React.KeyboardEvent) => void;
|
|
17
17
|
}
|
|
18
18
|
export { SideSheetState };
|
|
19
19
|
export default class SideSheet extends BaseComponent<SideSheetReactProps, SideSheetState> {
|
|
@@ -52,8 +52,8 @@ export default class SideSheet extends BaseComponent<SideSheetReactProps, SideSh
|
|
|
52
52
|
componentDidMount(): void;
|
|
53
53
|
componentDidUpdate(prevProps: SideSheetReactProps, prevState: SideSheetState, snapshot: any): void;
|
|
54
54
|
componentWillUnmount(): void;
|
|
55
|
-
handleCancel: (e: MouseEvent) => void;
|
|
56
|
-
handleKeyDown: (e:
|
|
55
|
+
handleCancel: (e: React.MouseEvent) => void;
|
|
56
|
+
handleKeyDown: (e: KeyboardEvent) => void;
|
|
57
57
|
renderContent(): JSX.Element;
|
|
58
58
|
render(): JSX.Element;
|
|
59
59
|
}
|
|
@@ -2,7 +2,7 @@ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/insta
|
|
|
2
2
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
3
3
|
import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
|
|
4
4
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
5
|
-
import React, { cloneElement, Children, useMemo } from 'react';
|
|
5
|
+
import React, { cloneElement, Children, useMemo, isValidElement } from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import cls from 'classnames';
|
|
8
8
|
import { stepsClasses as css } from '@douyinfe/semi-foundation/lib/es/steps/constants';
|
|
@@ -26,7 +26,7 @@ const Steps = props => {
|
|
|
26
26
|
const inner = useMemo(() => {
|
|
27
27
|
var _context;
|
|
28
28
|
|
|
29
|
-
const filteredChildren = _filterInstanceProperty(_context = Children.toArray(children)).call(_context, c =>
|
|
29
|
+
const filteredChildren = _filterInstanceProperty(_context = Children.toArray(children)).call(_context, c => /*#__PURE__*/isValidElement(c));
|
|
30
30
|
|
|
31
31
|
const content = _mapInstanceProperty(Children).call(Children, filteredChildren, (child, index) => {
|
|
32
32
|
if (!child) {
|
|
@@ -2,7 +2,7 @@ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/insta
|
|
|
2
2
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
3
3
|
import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
|
|
4
4
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
5
|
-
import React, { cloneElement, Children, useMemo } from 'react';
|
|
5
|
+
import React, { cloneElement, Children, useMemo, isValidElement } from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import cls from 'classnames';
|
|
8
8
|
import { stepsClasses as css } from '@douyinfe/semi-foundation/lib/es/steps/constants';
|
|
@@ -25,7 +25,7 @@ const Steps = props => {
|
|
|
25
25
|
const inner = useMemo(() => {
|
|
26
26
|
var _context;
|
|
27
27
|
|
|
28
|
-
const filteredChildren = _filterInstanceProperty(_context = Children.toArray(children)).call(_context, c =>
|
|
28
|
+
const filteredChildren = _filterInstanceProperty(_context = Children.toArray(children)).call(_context, c => /*#__PURE__*/isValidElement(c));
|
|
29
29
|
|
|
30
30
|
const colStyle = direction === 'vertical' ? null : {
|
|
31
31
|
width: "".concat(100 / filteredChildren.length, "%")
|
|
@@ -69,7 +69,7 @@ const Steps = props => {
|
|
|
69
69
|
});
|
|
70
70
|
|
|
71
71
|
return content;
|
|
72
|
-
}, [children, initial, prefixCls, direction, status, current]);
|
|
72
|
+
}, [children, initial, prefixCls, direction, status, current, onChange]);
|
|
73
73
|
const wrapperCls = cls(className, {
|
|
74
74
|
[prefixCls]: true,
|
|
75
75
|
[_concatInstanceProperty(_context2 = "".concat(prefixCls, "-")).call(_context2, direction)]: true
|
package/lib/es/steps/navSteps.js
CHANGED
|
@@ -2,7 +2,7 @@ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/insta
|
|
|
2
2
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
3
3
|
import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
|
|
4
4
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
5
|
-
import React, { cloneElement, Children, useMemo } from 'react';
|
|
5
|
+
import React, { cloneElement, Children, useMemo, isValidElement } from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import cls from 'classnames';
|
|
8
8
|
import { stepsClasses as css } from '@douyinfe/semi-foundation/lib/es/steps/constants';
|
|
@@ -23,7 +23,7 @@ const Steps = props => {
|
|
|
23
23
|
const inner = useMemo(() => {
|
|
24
24
|
var _context;
|
|
25
25
|
|
|
26
|
-
const filteredChildren = _filterInstanceProperty(_context = Children.toArray(children)).call(_context, c =>
|
|
26
|
+
const filteredChildren = _filterInstanceProperty(_context = Children.toArray(children)).call(_context, c => /*#__PURE__*/isValidElement(c));
|
|
27
27
|
|
|
28
28
|
const total = filteredChildren.length;
|
|
29
29
|
|
package/lib/es/tabs/index.js
CHANGED
|
@@ -19,7 +19,7 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
19
19
|
return t;
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
import React, { createRef } from 'react';
|
|
22
|
+
import React, { createRef, isValidElement } from 'react';
|
|
23
23
|
import cls from 'classnames';
|
|
24
24
|
import PropTypes from 'prop-types';
|
|
25
25
|
import { cssClasses, strings } from '@douyinfe/semi-foundation/lib/es/tabs/constants';
|
|
@@ -79,7 +79,7 @@ class Tabs extends BaseComponent {
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
return _filterInstanceProperty(_context = React.Children.toArray(children)).call(_context, pane => {
|
|
82
|
-
if (pane && pane.type && pane.type.isTabPane) {
|
|
82
|
+
if ( /*#__PURE__*/isValidElement(pane) && pane.type && pane.type.isTabPane) {
|
|
83
83
|
return pane.props.itemKey === activeKey;
|
|
84
84
|
}
|
|
85
85
|
|
|
@@ -155,7 +155,7 @@ class Tabs extends BaseComponent {
|
|
|
155
155
|
children
|
|
156
156
|
} = this.props;
|
|
157
157
|
let activeKey = '';
|
|
158
|
-
const list = tabList ? tabList : _mapInstanceProperty(_context3 = React.Children.toArray(children)).call(_context3, child => child.props);
|
|
158
|
+
const list = tabList ? tabList : _mapInstanceProperty(_context3 = React.Children.toArray(children)).call(_context3, child => /*#__PURE__*/isValidElement(child) ? child.props : null);
|
|
159
159
|
|
|
160
160
|
_forEachInstanceProperty(list).call(list, item => {
|
|
161
161
|
if (item && !activeKey && !item.disabled) {
|
|
@@ -182,9 +182,9 @@ class Tabs extends BaseComponent {
|
|
|
182
182
|
var _context4, _context5;
|
|
183
183
|
|
|
184
184
|
// Panes state acts on tab bar, no need to compare TabPane children
|
|
185
|
-
const prevChildrenProps = _mapInstanceProperty(_context4 = React.Children.toArray(prevProps.children)).call(_context4, child => pick(child.props, panePickKeys));
|
|
185
|
+
const prevChildrenProps = _mapInstanceProperty(_context4 = React.Children.toArray(prevProps.children)).call(_context4, child => pick( /*#__PURE__*/isValidElement(child) ? child.props : null, panePickKeys));
|
|
186
186
|
|
|
187
|
-
const nowChildrenProps = _mapInstanceProperty(_context5 = React.Children.toArray(this.props.children)).call(_context5, child => pick(child.props, panePickKeys));
|
|
187
|
+
const nowChildrenProps = _mapInstanceProperty(_context5 = React.Children.toArray(this.props.children)).call(_context5, child => pick( /*#__PURE__*/isValidElement(child) ? child.props : null, panePickKeys));
|
|
188
188
|
|
|
189
189
|
const isTabListType = this.props.tabList || prevProps.tabList;
|
|
190
190
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
2
|
import BaseComponent, { BaseProps } from '../_base/baseComponent';
|
|
3
3
|
import ScrollItem from '../scrollList/scrollItem';
|
|
4
|
-
import ComboboxFoundation from '@douyinfe/semi-foundation/lib/es/timePicker/ComboxFoundation';
|
|
4
|
+
import ComboboxFoundation, { formatOption } from '@douyinfe/semi-foundation/lib/es/timePicker/ComboxFoundation';
|
|
5
5
|
import { TimePickerProps } from './TimePicker';
|
|
6
6
|
import { Locale } from '../locale/interface';
|
|
7
7
|
export declare type ComboboxProps = Pick<TimePickerProps, 'format' | 'prefixCls' | 'disabledHours' | 'disabledMinutes' | 'disabledSeconds' | 'hideDisabledOptions' | 'use12Hours' | 'scrollItemProps' | 'panelFooter' | 'panelHeader'> & BaseProps & {
|
|
@@ -26,6 +26,11 @@ export interface ComboboxState {
|
|
|
26
26
|
minuteOptions: number[];
|
|
27
27
|
secondOptions: number[];
|
|
28
28
|
}
|
|
29
|
+
export declare type FormatOptionReturn = ReturnType<typeof formatOption>;
|
|
30
|
+
export interface AMPMOptionItem {
|
|
31
|
+
value: string;
|
|
32
|
+
text: string;
|
|
33
|
+
}
|
|
29
34
|
declare class Combobox extends BaseComponent<ComboboxProps, ComboboxState> {
|
|
30
35
|
static propTypes: {
|
|
31
36
|
format: PropTypes.Requireable<string>;
|
|
@@ -56,11 +61,12 @@ declare class Combobox extends BaseComponent<ComboboxProps, ComboboxState> {
|
|
|
56
61
|
componentDidUpdate(prevProps: ComboboxProps, prevState: ComboboxState): void;
|
|
57
62
|
componentWillUnmount(): void;
|
|
58
63
|
componentDidMount(): void;
|
|
59
|
-
cacheRefCurrent: (key: string, current: ScrollItem) => void;
|
|
64
|
+
cacheRefCurrent: (key: string, current: ScrollItem<FormatOptionReturn> | ScrollItem<AMPMOptionItem>) => void;
|
|
60
65
|
reselect: () => void;
|
|
61
|
-
onItemChange: ({ type, value }: {
|
|
62
|
-
type
|
|
66
|
+
onItemChange: ({ type, value, disabled }: {
|
|
67
|
+
type?: string;
|
|
63
68
|
value: string;
|
|
69
|
+
disabled?: boolean;
|
|
64
70
|
}) => void;
|
|
65
71
|
onEnterSelectPanel: (range: string) => void;
|
|
66
72
|
renderHourSelect(hour: number, locale: Locale['TimePicker']): JSX.Element;
|
|
@@ -49,7 +49,7 @@ export declare type TimePickerProps = {
|
|
|
49
49
|
position?: Position;
|
|
50
50
|
prefixCls?: string;
|
|
51
51
|
rangeSeparator?: string;
|
|
52
|
-
scrollItemProps?: ScrollItemProps
|
|
52
|
+
scrollItemProps?: ScrollItemProps<any>;
|
|
53
53
|
secondStep?: number;
|
|
54
54
|
showClear?: boolean;
|
|
55
55
|
size?: InputSize;
|
package/lib/es/toast/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { ToastListAdapter, ToastListProps, ToastListState } from '@douyinfe/semi
|
|
|
4
4
|
import '@douyinfe/semi-foundation/lib/es/toast/toast.css';
|
|
5
5
|
import useToast from './useToast';
|
|
6
6
|
import { ConfigProps, ToastInstance, ToastProps, ToastState } from '@douyinfe/semi-foundation/lib/es/toast/toastFoundation';
|
|
7
|
-
import { Motion } from '_base/base';
|
|
7
|
+
import { Motion } from '../_base/base';
|
|
8
8
|
export { ToastTransitionProps } from './ToastTransition';
|
|
9
9
|
export interface ToastReactProps extends ToastProps {
|
|
10
10
|
style?: CSSProperties;
|
|
@@ -952,7 +952,8 @@ class TreeSelect extends BaseComponent {
|
|
|
952
952
|
registerClickOutsideHandler: cb => {
|
|
953
953
|
const clickOutsideHandler = e => {
|
|
954
954
|
const optionInstance = this.optionsRef && this.optionsRef.current;
|
|
955
|
-
const triggerDom = this.triggerRef && this.triggerRef.current;
|
|
955
|
+
const triggerDom = this.triggerRef && this.triggerRef.current; // eslint-disable-next-line
|
|
956
|
+
|
|
956
957
|
const optionsDom = ReactDOM.findDOMNode(optionInstance);
|
|
957
958
|
const target = e.target;
|
|
958
959
|
|