@douyinfe/semi-ui 2.14.0 → 2.15.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autoComplete/index.tsx +0 -1
- package/cascader/__test__/cascader.test.js +13 -10
- package/cascader/_story/cascader.stories.js +22 -0
- package/cascader/index.tsx +53 -35
- package/checkbox/checkbox.tsx +1 -0
- package/checkbox/checkboxInner.tsx +4 -1
- package/datePicker/datePicker.tsx +7 -5
- package/dist/css/semi.css +34 -6
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +1089 -329
- 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/dropdown/context.ts +2 -0
- package/dropdown/dropdownItem.tsx +2 -1
- package/dropdown/dropdownMenu.tsx +24 -1
- package/dropdown/index.tsx +10 -2
- package/form/_story/form.stories.tsx +23 -15
- package/form/hoc/withField.tsx +1 -1
- package/form/interface.ts +1 -1
- package/input/__test__/input.test.js +31 -0
- package/input/_story/input.stories.js +24 -1
- package/input/index.tsx +5 -2
- package/input/inputGroup.tsx +7 -6
- package/inputNumber/index.tsx +5 -3
- package/lib/cjs/autoComplete/index.d.ts +0 -1
- package/lib/cjs/autoComplete/index.js +0 -1
- package/lib/cjs/cascader/index.d.ts +1 -1
- package/lib/cjs/cascader/index.js +36 -9
- package/lib/cjs/checkbox/checkbox.d.ts +1 -0
- package/lib/cjs/checkbox/checkbox.js +2 -1
- package/lib/cjs/checkbox/checkboxInner.d.ts +2 -0
- package/lib/cjs/checkbox/checkboxInner.js +8 -2
- package/lib/cjs/datePicker/datePicker.d.ts +1 -1
- package/lib/cjs/datePicker/datePicker.js +21 -6
- package/lib/cjs/dropdown/context.d.ts +2 -0
- package/lib/cjs/dropdown/dropdownItem.js +3 -1
- package/lib/cjs/dropdown/dropdownMenu.d.ts +18 -1
- package/lib/cjs/dropdown/dropdownMenu.js +23 -2
- package/lib/cjs/dropdown/index.d.ts +4 -0
- package/lib/cjs/dropdown/index.js +13 -5
- package/lib/cjs/form/baseForm.d.ts +16 -15
- package/lib/cjs/form/field.d.ts +16 -15
- package/lib/cjs/form/hoc/withField.d.ts +1 -1
- package/lib/cjs/form/interface.d.ts +1 -1
- package/lib/cjs/input/index.d.ts +2 -1
- package/lib/cjs/input/index.js +11 -5
- package/lib/cjs/input/inputGroup.js +16 -9
- package/lib/cjs/inputNumber/index.d.ts +1 -0
- package/lib/cjs/inputNumber/index.js +8 -3
- package/lib/cjs/locale/source/de.d.ts +3 -0
- package/lib/cjs/locale/source/de.js +165 -0
- package/lib/cjs/locale/source/fr.d.ts +3 -0
- package/lib/cjs/locale/source/fr.js +165 -0
- package/lib/cjs/locale/source/it.d.ts +3 -0
- package/lib/cjs/locale/source/it.js +165 -0
- package/lib/cjs/modal/ModalContent.d.ts +1 -0
- package/lib/cjs/modal/ModalContent.js +17 -4
- package/lib/cjs/modal/confirm.d.ts +5 -0
- package/lib/cjs/radio/radio.d.ts +2 -0
- package/lib/cjs/radio/radio.js +2 -1
- package/lib/cjs/radio/radioInner.d.ts +2 -0
- package/lib/cjs/radio/radioInner.js +8 -2
- package/lib/cjs/rating/index.d.ts +7 -0
- package/lib/cjs/rating/index.js +135 -68
- package/lib/cjs/rating/item.d.ts +27 -3
- package/lib/cjs/rating/item.js +145 -38
- package/lib/cjs/select/index.d.ts +2 -0
- package/lib/cjs/select/index.js +15 -3
- package/lib/cjs/table/Body/index.js +1 -1
- package/lib/cjs/tabs/index.d.ts +1 -0
- package/lib/cjs/tabs/index.js +2 -1
- package/lib/cjs/tabs/interface.d.ts +1 -0
- package/lib/cjs/tag/index.js +4 -5
- package/lib/cjs/tag/interface.d.ts +1 -0
- package/lib/cjs/tagInput/index.d.ts +2 -0
- package/lib/cjs/tagInput/index.js +19 -5
- package/lib/cjs/timePicker/TimeInput.d.ts +2 -1
- package/lib/cjs/timePicker/TimeInput.js +7 -3
- package/lib/cjs/timePicker/TimePicker.d.ts +2 -0
- package/lib/cjs/timePicker/TimePicker.js +2 -1
- package/lib/cjs/timePicker/index.d.ts +1 -0
- package/lib/cjs/tooltip/index.d.ts +2 -0
- package/lib/cjs/tooltip/index.js +12 -4
- package/lib/cjs/tree/index.d.ts +1 -0
- package/lib/cjs/tree/index.js +9 -2
- package/lib/cjs/tree/treeNode.js +12 -18
- package/lib/cjs/treeSelect/index.js +8 -1
- package/lib/es/autoComplete/index.d.ts +0 -1
- package/lib/es/autoComplete/index.js +0 -1
- package/lib/es/cascader/index.d.ts +1 -1
- package/lib/es/cascader/index.js +36 -9
- package/lib/es/checkbox/checkbox.d.ts +1 -0
- package/lib/es/checkbox/checkbox.js +2 -1
- package/lib/es/checkbox/checkboxInner.d.ts +2 -0
- package/lib/es/checkbox/checkboxInner.js +8 -2
- package/lib/es/datePicker/datePicker.d.ts +1 -1
- package/lib/es/datePicker/datePicker.js +21 -6
- package/lib/es/dropdown/context.d.ts +2 -0
- package/lib/es/dropdown/dropdownItem.js +3 -1
- package/lib/es/dropdown/dropdownMenu.d.ts +18 -1
- package/lib/es/dropdown/dropdownMenu.js +21 -2
- package/lib/es/dropdown/index.d.ts +4 -0
- package/lib/es/dropdown/index.js +13 -5
- package/lib/es/form/baseForm.d.ts +16 -15
- package/lib/es/form/field.d.ts +16 -15
- package/lib/es/form/hoc/withField.d.ts +1 -1
- package/lib/es/form/interface.d.ts +1 -1
- package/lib/es/input/index.d.ts +2 -1
- package/lib/es/input/index.js +11 -5
- package/lib/es/input/inputGroup.js +15 -9
- package/lib/es/inputNumber/index.d.ts +1 -0
- package/lib/es/inputNumber/index.js +8 -3
- package/lib/es/locale/source/de.d.ts +3 -0
- package/lib/es/locale/source/de.js +153 -0
- package/lib/es/locale/source/fr.d.ts +3 -0
- package/lib/es/locale/source/fr.js +153 -0
- package/lib/es/locale/source/it.d.ts +3 -0
- package/lib/es/locale/source/it.js +153 -0
- package/lib/es/modal/ModalContent.d.ts +1 -0
- package/lib/es/modal/ModalContent.js +17 -4
- package/lib/es/modal/confirm.d.ts +5 -0
- package/lib/es/radio/radio.d.ts +2 -0
- package/lib/es/radio/radio.js +2 -1
- package/lib/es/radio/radioInner.d.ts +2 -0
- package/lib/es/radio/radioInner.js +8 -2
- package/lib/es/rating/index.d.ts +7 -0
- package/lib/es/rating/index.js +133 -65
- package/lib/es/rating/item.d.ts +27 -3
- package/lib/es/rating/item.js +145 -32
- package/lib/es/select/index.d.ts +2 -0
- package/lib/es/select/index.js +15 -3
- package/lib/es/table/Body/index.js +1 -1
- package/lib/es/tabs/index.d.ts +1 -0
- package/lib/es/tabs/index.js +2 -1
- package/lib/es/tabs/interface.d.ts +1 -0
- package/lib/es/tag/index.js +4 -5
- package/lib/es/tag/interface.d.ts +1 -0
- package/lib/es/tagInput/index.d.ts +2 -0
- package/lib/es/tagInput/index.js +19 -5
- package/lib/es/timePicker/TimeInput.d.ts +2 -1
- package/lib/es/timePicker/TimeInput.js +7 -3
- package/lib/es/timePicker/TimePicker.d.ts +2 -0
- package/lib/es/timePicker/TimePicker.js +2 -1
- package/lib/es/timePicker/index.d.ts +1 -0
- package/lib/es/tooltip/index.d.ts +2 -0
- package/lib/es/tooltip/index.js +13 -4
- package/lib/es/tree/index.d.ts +1 -0
- package/lib/es/tree/index.js +9 -2
- package/lib/es/tree/treeNode.js +11 -19
- package/lib/es/treeSelect/index.js +8 -1
- package/locale/source/de.ts +156 -0
- package/locale/source/fr.ts +156 -0
- package/locale/source/it.ts +156 -0
- package/modal/ModalContent.tsx +7 -4
- package/package.json +8 -8
- package/radio/radio.tsx +2 -0
- package/radio/radioInner.tsx +4 -1
- package/rating/__test__/rating.test.js +13 -31
- package/rating/_story/rating.stories.js +13 -2
- package/rating/index.tsx +63 -18
- package/rating/item.tsx +141 -26
- package/select/index.tsx +6 -2
- package/table/Body/index.tsx +1 -1
- package/table/_story/v2/FixedVirtualizedEmpty.tsx +76 -0
- package/table/_story/v2/index.js +2 -1
- package/tabs/index.tsx +1 -0
- package/tabs/interface.ts +1 -0
- package/tag/index.tsx +2 -3
- package/tag/interface.ts +1 -0
- package/tagInput/index.tsx +8 -4
- package/timePicker/TimeInput.tsx +5 -3
- package/timePicker/TimePicker.tsx +2 -0
- package/tooltip/index.tsx +7 -2
- package/tree/index.tsx +3 -1
- package/tree/treeNode.tsx +9 -12
- package/treeSelect/index.tsx +4 -1
- package/upload/_story/upload.stories.tsx +9 -6
package/lib/cjs/select/index.js
CHANGED
|
@@ -191,8 +191,14 @@ class Select extends _baseComponent.default {
|
|
|
191
191
|
});
|
|
192
192
|
},
|
|
193
193
|
focusInput: () => {
|
|
194
|
+
const {
|
|
195
|
+
preventScroll
|
|
196
|
+
} = this.props;
|
|
197
|
+
|
|
194
198
|
if (this.inputRef && this.inputRef.current) {
|
|
195
|
-
this.inputRef.current.focus(
|
|
199
|
+
this.inputRef.current.focus({
|
|
200
|
+
preventScroll
|
|
201
|
+
});
|
|
196
202
|
}
|
|
197
203
|
}
|
|
198
204
|
};
|
|
@@ -345,8 +351,13 @@ class Select extends _baseComponent.default {
|
|
|
345
351
|
},
|
|
346
352
|
focusTrigger: () => {
|
|
347
353
|
try {
|
|
354
|
+
const {
|
|
355
|
+
preventScroll
|
|
356
|
+
} = this.props;
|
|
348
357
|
const el = this.triggerRef.current;
|
|
349
|
-
el.focus(
|
|
358
|
+
el.focus({
|
|
359
|
+
preventScroll
|
|
360
|
+
});
|
|
350
361
|
} catch (error) {}
|
|
351
362
|
},
|
|
352
363
|
updateScrollTop: index => {
|
|
@@ -1138,7 +1149,8 @@ Select.propTypes = {
|
|
|
1138
1149
|
virtualize: _propTypes.default.object,
|
|
1139
1150
|
renderOptionItem: _propTypes.default.func,
|
|
1140
1151
|
onListScroll: _propTypes.default.func,
|
|
1141
|
-
arrowIcon: _propTypes.default.node
|
|
1152
|
+
arrowIcon: _propTypes.default.node,
|
|
1153
|
+
preventScroll: _propTypes.default.bool // open: PropTypes.bool,
|
|
1142
1154
|
// tagClosable: PropTypes.bool,
|
|
1143
1155
|
|
|
1144
1156
|
};
|
|
@@ -331,7 +331,7 @@ class Body extends _baseComponent.default {
|
|
|
331
331
|
|
|
332
332
|
const listStyle = {
|
|
333
333
|
width: '100%',
|
|
334
|
-
height: y,
|
|
334
|
+
height: (virtualizedData === null || virtualizedData === void 0 ? void 0 : virtualizedData.length) ? y : 0,
|
|
335
335
|
overflowX: 'auto',
|
|
336
336
|
overflowY: 'auto'
|
|
337
337
|
};
|
package/lib/cjs/tabs/index.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ declare class Tabs extends BaseComponent<TabsProps, TabsState> {
|
|
|
33
33
|
tabPosition: PropTypes.Requireable<string>;
|
|
34
34
|
type: PropTypes.Requireable<string>;
|
|
35
35
|
onTabClose: PropTypes.Requireable<(...args: any[]) => any>;
|
|
36
|
+
preventScroll: PropTypes.Requireable<boolean>;
|
|
36
37
|
};
|
|
37
38
|
static defaultProps: TabsProps;
|
|
38
39
|
contentRef: RefObject<HTMLDivElement>;
|
package/lib/cjs/tabs/index.js
CHANGED
|
@@ -418,7 +418,8 @@ Tabs.propTypes = {
|
|
|
418
418
|
tabPaneMotion: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.object, _propTypes.default.func]),
|
|
419
419
|
tabPosition: _propTypes.default.oneOf(_constants.strings.POSITION_MAP),
|
|
420
420
|
type: _propTypes.default.oneOf(_constants.strings.TYPE_MAP),
|
|
421
|
-
onTabClose: _propTypes.default.func
|
|
421
|
+
onTabClose: _propTypes.default.func,
|
|
422
|
+
preventScroll: _propTypes.default.bool
|
|
422
423
|
};
|
|
423
424
|
Tabs.defaultProps = {
|
|
424
425
|
children: [],
|
package/lib/cjs/tag/index.js
CHANGED
|
@@ -80,10 +80,6 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
80
80
|
};
|
|
81
81
|
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
82
82
|
|
|
83
|
-
/* eslint-disable no-unused-vars */
|
|
84
|
-
|
|
85
|
-
/* eslint-disable max-len */
|
|
86
|
-
|
|
87
83
|
|
|
88
84
|
const prefixCls = _constants.cssClasses.PREFIX;
|
|
89
85
|
const tagColors = _constants.strings.TAG_COLOR;
|
|
@@ -140,7 +136,8 @@ class Tag extends _react.Component {
|
|
|
140
136
|
handleKeyDown(event) {
|
|
141
137
|
const {
|
|
142
138
|
closable,
|
|
143
|
-
onClick
|
|
139
|
+
onClick,
|
|
140
|
+
onKeyDown
|
|
144
141
|
} = this.props;
|
|
145
142
|
|
|
146
143
|
switch (event.key) {
|
|
@@ -162,6 +159,8 @@ class Tag extends _react.Component {
|
|
|
162
159
|
default:
|
|
163
160
|
break;
|
|
164
161
|
}
|
|
162
|
+
|
|
163
|
+
onKeyDown && onKeyDown(event);
|
|
165
164
|
}
|
|
166
165
|
|
|
167
166
|
renderAvatar() {
|
|
@@ -45,6 +45,7 @@ export interface TagInputProps {
|
|
|
45
45
|
value?: string[] | undefined;
|
|
46
46
|
autoFocus?: boolean;
|
|
47
47
|
'aria-label'?: string;
|
|
48
|
+
preventScroll?: boolean;
|
|
48
49
|
}
|
|
49
50
|
export interface TagInputState {
|
|
50
51
|
tagsArray?: string[];
|
|
@@ -88,6 +89,7 @@ declare class TagInput extends BaseComponent<TagInputProps, TagInputState> {
|
|
|
88
89
|
prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
89
90
|
suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
90
91
|
'aria-label': PropTypes.Requireable<string>;
|
|
92
|
+
preventScroll: PropTypes.Requireable<boolean>;
|
|
91
93
|
};
|
|
92
94
|
static defaultProps: {
|
|
93
95
|
showClear: boolean;
|
|
@@ -158,10 +158,15 @@ class TagInput extends _baseComponent.default {
|
|
|
158
158
|
});
|
|
159
159
|
},
|
|
160
160
|
toggleFocusing: isFocus => {
|
|
161
|
+
const {
|
|
162
|
+
preventScroll
|
|
163
|
+
} = this.props;
|
|
161
164
|
const input = this.inputRef && this.inputRef.current;
|
|
162
165
|
|
|
163
166
|
if (isFocus) {
|
|
164
|
-
input && input.focus(
|
|
167
|
+
input && input.focus({
|
|
168
|
+
preventScroll
|
|
169
|
+
});
|
|
165
170
|
} else {
|
|
166
171
|
input && input.blur();
|
|
167
172
|
}
|
|
@@ -202,11 +207,14 @@ class TagInput extends _baseComponent.default {
|
|
|
202
207
|
componentDidMount() {
|
|
203
208
|
const {
|
|
204
209
|
disabled,
|
|
205
|
-
autoFocus
|
|
210
|
+
autoFocus,
|
|
211
|
+
preventScroll
|
|
206
212
|
} = this.props;
|
|
207
213
|
|
|
208
214
|
if (!disabled && autoFocus) {
|
|
209
|
-
this.inputRef.current.focus(
|
|
215
|
+
this.inputRef.current.focus({
|
|
216
|
+
preventScroll
|
|
217
|
+
});
|
|
210
218
|
}
|
|
211
219
|
}
|
|
212
220
|
|
|
@@ -375,7 +383,12 @@ class TagInput extends _baseComponent.default {
|
|
|
375
383
|
}
|
|
376
384
|
|
|
377
385
|
focus() {
|
|
378
|
-
|
|
386
|
+
const {
|
|
387
|
+
preventScroll
|
|
388
|
+
} = this.props;
|
|
389
|
+
this.inputRef.current.focus({
|
|
390
|
+
preventScroll
|
|
391
|
+
});
|
|
379
392
|
}
|
|
380
393
|
|
|
381
394
|
render() {
|
|
@@ -475,7 +488,8 @@ TagInput.propTypes = {
|
|
|
475
488
|
validateStatus: _propTypes.default.oneOf(_constants.strings.STATUS),
|
|
476
489
|
prefix: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]),
|
|
477
490
|
suffix: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]),
|
|
478
|
-
'aria-label': _propTypes.default.string
|
|
491
|
+
'aria-label': _propTypes.default.string,
|
|
492
|
+
preventScroll: _propTypes.default.bool
|
|
479
493
|
};
|
|
480
494
|
TagInput.defaultProps = {
|
|
481
495
|
showClear: false,
|
|
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
|
|
|
3
3
|
import BaseComponent, { BaseProps } from '../_base/baseComponent';
|
|
4
4
|
import InputFoundation, { TimeInputAdapter } from '@douyinfe/semi-foundation/lib/cjs/timePicker/inputFoundation';
|
|
5
5
|
import { TimePickerProps } from './TimePicker';
|
|
6
|
-
export declare type TimeInputProps = Pick<TimePickerProps, 'value' | 'format' | 'prefixCls' | 'placeholder' | 'clearText' | 'inputReadOnly' | 'disabled' | 'type' | 'timeZone' | 'defaultOpen' | 'disabledHours' | 'disabledMinutes' | 'disabledSeconds' | 'dateFnsLocale' | 'onFocus' | 'onBlur' | 'focusOnOpen' | 'locale' | 'localeCode' | 'insetLabel' | 'validateStatus'> & BaseProps & {
|
|
6
|
+
export declare type TimeInputProps = Pick<TimePickerProps, 'value' | 'format' | 'prefixCls' | 'placeholder' | 'clearText' | 'inputReadOnly' | 'disabled' | 'type' | 'timeZone' | 'defaultOpen' | 'disabledHours' | 'disabledMinutes' | 'disabledSeconds' | 'dateFnsLocale' | 'onFocus' | 'onBlur' | 'focusOnOpen' | 'locale' | 'localeCode' | 'insetLabel' | 'validateStatus' | 'preventScroll'> & BaseProps & {
|
|
7
7
|
onChange?: (value: string) => void;
|
|
8
8
|
onEsc?: () => void;
|
|
9
9
|
onClick?: React.MouseEventHandler;
|
|
@@ -38,6 +38,7 @@ declare class TimeInput extends BaseComponent<TimeInputProps, any> {
|
|
|
38
38
|
localeCode: PropTypes.Requireable<string>;
|
|
39
39
|
insetLabel: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
40
40
|
validateStatus: PropTypes.Requireable<string>;
|
|
41
|
+
preventScroll: PropTypes.Requireable<boolean>;
|
|
41
42
|
};
|
|
42
43
|
static defaultProps: {
|
|
43
44
|
inputReadOnly: boolean;
|
|
@@ -71,7 +71,8 @@ class TimeInput extends _baseComponent.default {
|
|
|
71
71
|
componentDidMount() {
|
|
72
72
|
super.componentDidMount();
|
|
73
73
|
const {
|
|
74
|
-
focusOnOpen
|
|
74
|
+
focusOnOpen,
|
|
75
|
+
preventScroll
|
|
75
76
|
} = this.props;
|
|
76
77
|
|
|
77
78
|
if (focusOnOpen) {
|
|
@@ -80,7 +81,9 @@ class TimeInput extends _baseComponent.default {
|
|
|
80
81
|
const inputNode = this.adapter.getCache('inputNode');
|
|
81
82
|
|
|
82
83
|
if (inputNode) {
|
|
83
|
-
inputNode.focus(
|
|
84
|
+
inputNode.focus({
|
|
85
|
+
preventScroll
|
|
86
|
+
});
|
|
84
87
|
inputNode.select();
|
|
85
88
|
}
|
|
86
89
|
});
|
|
@@ -209,7 +212,8 @@ TimeInput.propTypes = {
|
|
|
209
212
|
locale: _propTypes.default.object,
|
|
210
213
|
localeCode: _propTypes.default.string,
|
|
211
214
|
insetLabel: _propTypes.default.node,
|
|
212
|
-
validateStatus: _propTypes.default.string
|
|
215
|
+
validateStatus: _propTypes.default.string,
|
|
216
|
+
preventScroll: _propTypes.default.bool
|
|
213
217
|
};
|
|
214
218
|
TimeInput.defaultProps = {
|
|
215
219
|
inputReadOnly: false,
|
|
@@ -54,6 +54,7 @@ export declare type TimePickerProps = {
|
|
|
54
54
|
popupStyle?: React.CSSProperties;
|
|
55
55
|
position?: Position;
|
|
56
56
|
prefixCls?: string;
|
|
57
|
+
preventScroll?: boolean;
|
|
57
58
|
rangeSeparator?: string;
|
|
58
59
|
scrollItemProps?: ScrollItemProps<any>;
|
|
59
60
|
secondStep?: number;
|
|
@@ -88,6 +89,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
|
|
|
88
89
|
static contextType: React.Context<import("../configProvider/context").ContextValue>;
|
|
89
90
|
static propTypes: {
|
|
90
91
|
inputStyle: PropTypes.Requireable<object>;
|
|
92
|
+
preventScroll: PropTypes.Requireable<boolean>;
|
|
91
93
|
panelHeader: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
92
94
|
panelFooter: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
93
95
|
'aria-labelledby': PropTypes.Requireable<string>;
|
|
@@ -477,7 +477,8 @@ TimePicker.propTypes = (0, _assign.default)((0, _assign.default)({
|
|
|
477
477
|
motion: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.func, _propTypes.default.object]),
|
|
478
478
|
autoAdjustOverflow: _propTypes.default.bool
|
|
479
479
|
}, _PanelShape.PanelShape), {
|
|
480
|
-
inputStyle: _propTypes.default.object
|
|
480
|
+
inputStyle: _propTypes.default.object,
|
|
481
|
+
preventScroll: _propTypes.default.bool
|
|
481
482
|
});
|
|
482
483
|
TimePicker.defaultProps = (0, _assign.default)({
|
|
483
484
|
autoAdjustOverflow: true,
|
|
@@ -9,6 +9,7 @@ export declare type LocalePickerProps = BasePickerProps;
|
|
|
9
9
|
export default class LocaleTimePicker extends React.PureComponent<LocalePickerProps> {
|
|
10
10
|
static propTypes: {
|
|
11
11
|
inputStyle: import("prop-types").Requireable<object>;
|
|
12
|
+
preventScroll: import("prop-types").Requireable<boolean>;
|
|
12
13
|
panelHeader: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
|
|
13
14
|
panelFooter: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
|
|
14
15
|
'aria-labelledby': import("prop-types").Requireable<string>;
|
|
@@ -54,6 +54,7 @@ export interface TooltipProps extends BaseProps {
|
|
|
54
54
|
returnFocusOnClose?: boolean;
|
|
55
55
|
onEscKeyDown?: (e: React.KeyboardEvent) => void;
|
|
56
56
|
wrapperId?: string;
|
|
57
|
+
preventScroll?: boolean;
|
|
57
58
|
}
|
|
58
59
|
interface TooltipState {
|
|
59
60
|
visible: boolean;
|
|
@@ -109,6 +110,7 @@ export default class Tooltip extends BaseComponent<TooltipProps, TooltipState> {
|
|
|
109
110
|
wrapWhenSpecial: PropTypes.Requireable<boolean>;
|
|
110
111
|
guardFocus: PropTypes.Requireable<boolean>;
|
|
111
112
|
returnFocusOnClose: PropTypes.Requireable<boolean>;
|
|
113
|
+
preventScroll: PropTypes.Requireable<boolean>;
|
|
112
114
|
};
|
|
113
115
|
static defaultProps: {
|
|
114
116
|
arrowBounding: {
|
package/lib/cjs/tooltip/index.js
CHANGED
|
@@ -294,7 +294,8 @@ class Tooltip extends _baseComponent.default {
|
|
|
294
294
|
|
|
295
295
|
if (block || (0, _includes.default)(blockDisplays).call(blockDisplays, display)) {
|
|
296
296
|
style.width = '100%';
|
|
297
|
-
}
|
|
297
|
+
} // eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
298
|
+
|
|
298
299
|
|
|
299
300
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
300
301
|
className: wrapperClassName,
|
|
@@ -595,10 +596,15 @@ class Tooltip extends _baseComponent.default {
|
|
|
595
596
|
return (0, _utils.getActiveElement)();
|
|
596
597
|
},
|
|
597
598
|
setInitialFocus: () => {
|
|
599
|
+
const {
|
|
600
|
+
preventScroll
|
|
601
|
+
} = this.props;
|
|
598
602
|
const focusRefNode = (0, _get2.default)(this, 'initialFocusRef.current');
|
|
599
603
|
|
|
600
604
|
if (focusRefNode && 'focus' in focusRefNode) {
|
|
601
|
-
focusRefNode.focus(
|
|
605
|
+
focusRefNode.focus({
|
|
606
|
+
preventScroll
|
|
607
|
+
});
|
|
602
608
|
}
|
|
603
609
|
},
|
|
604
610
|
notifyEscKeydown: event => {
|
|
@@ -715,7 +721,8 @@ class Tooltip extends _baseComponent.default {
|
|
|
715
721
|
ref.current = node;
|
|
716
722
|
}
|
|
717
723
|
},
|
|
718
|
-
tabIndex:
|
|
724
|
+
tabIndex: 0,
|
|
725
|
+
'data-popupId': id
|
|
719
726
|
})); // If you do not add a layer of div, in order to bind the events and className in the tooltip, you need to cloneElement children, but this time it may overwrite the children's original ref reference
|
|
720
727
|
// So if the user adds ref to the content, you need to use callback ref: https://github.com/facebook/react/issues/8873
|
|
721
728
|
|
|
@@ -759,7 +766,8 @@ Tooltip.propTypes = {
|
|
|
759
766
|
role: _propTypes.default.string,
|
|
760
767
|
wrapWhenSpecial: _propTypes.default.bool,
|
|
761
768
|
guardFocus: _propTypes.default.bool,
|
|
762
|
-
returnFocusOnClose: _propTypes.default.bool
|
|
769
|
+
returnFocusOnClose: _propTypes.default.bool,
|
|
770
|
+
preventScroll: _propTypes.default.bool
|
|
763
771
|
};
|
|
764
772
|
Tooltip.defaultProps = {
|
|
765
773
|
arrowBounding: _constants2.numbers.ARROW_BOUNDING,
|
package/lib/cjs/tree/index.d.ts
CHANGED
|
@@ -73,6 +73,7 @@ declare class Tree extends BaseComponent<TreeProps, TreeState> {
|
|
|
73
73
|
labelEllipsis: PropTypes.Requireable<boolean>;
|
|
74
74
|
checkRelation: PropTypes.Requireable<string>;
|
|
75
75
|
'aria-label': PropTypes.Requireable<string>;
|
|
76
|
+
preventScroll: PropTypes.Requireable<boolean>;
|
|
76
77
|
};
|
|
77
78
|
static defaultProps: {
|
|
78
79
|
showClear: boolean;
|
package/lib/cjs/tree/index.js
CHANGED
|
@@ -483,8 +483,14 @@ class Tree extends _baseComponent.default {
|
|
|
483
483
|
});
|
|
484
484
|
},
|
|
485
485
|
focusInput: () => {
|
|
486
|
+
const {
|
|
487
|
+
preventScroll
|
|
488
|
+
} = this.props;
|
|
489
|
+
|
|
486
490
|
if (this.inputRef && this.inputRef.current) {
|
|
487
|
-
this.inputRef.current.focus(
|
|
491
|
+
this.inputRef.current.focus({
|
|
492
|
+
preventScroll
|
|
493
|
+
});
|
|
488
494
|
}
|
|
489
495
|
}
|
|
490
496
|
};
|
|
@@ -790,7 +796,8 @@ Tree.propTypes = {
|
|
|
790
796
|
onDrop: _propTypes.default.func,
|
|
791
797
|
labelEllipsis: _propTypes.default.bool,
|
|
792
798
|
checkRelation: _propTypes.default.string,
|
|
793
|
-
'aria-label': _propTypes.default.string
|
|
799
|
+
'aria-label': _propTypes.default.string,
|
|
800
|
+
preventScroll: _propTypes.default.bool
|
|
794
801
|
};
|
|
795
802
|
Tree.defaultProps = {
|
|
796
803
|
showClear: true,
|
package/lib/cjs/tree/treeNode.js
CHANGED
|
@@ -20,8 +20,6 @@ var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-core
|
|
|
20
20
|
|
|
21
21
|
var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
|
|
22
22
|
|
|
23
|
-
var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
|
|
24
|
-
|
|
25
23
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
26
24
|
|
|
27
25
|
var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
|
|
@@ -52,6 +50,8 @@ var _treeContext = _interopRequireDefault(require("./treeContext"));
|
|
|
52
50
|
|
|
53
51
|
var _spin = _interopRequireDefault(require("../spin"));
|
|
54
52
|
|
|
53
|
+
var _index = require("../_utils/index");
|
|
54
|
+
|
|
55
55
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
56
56
|
|
|
57
57
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -287,20 +287,14 @@ class TreeNode extends _react.PureComponent {
|
|
|
287
287
|
if ((0, _isFunction2.default)(renderLabel)) {
|
|
288
288
|
return renderLabel(label, data);
|
|
289
289
|
} else if ((0, _isString2.default)(label) && filtered && keyword && treeNodeFilterProp === 'label') {
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
className: "".concat(prefixcls, "-highlight"),
|
|
297
|
-
key: index
|
|
298
|
-
}, keyword));
|
|
290
|
+
return (0, _index.getHighLightTextHTML)({
|
|
291
|
+
sourceString: label,
|
|
292
|
+
searchWords: [keyword],
|
|
293
|
+
option: {
|
|
294
|
+
highlightTag: 'span',
|
|
295
|
+
highlightClassName: "".concat(prefixcls, "-highlight")
|
|
299
296
|
}
|
|
300
|
-
|
|
301
|
-
content.push(node);
|
|
302
297
|
});
|
|
303
|
-
return content;
|
|
304
298
|
} else {
|
|
305
299
|
return label;
|
|
306
300
|
}
|
|
@@ -399,7 +393,7 @@ class TreeNode extends _react.PureComponent {
|
|
|
399
393
|
}
|
|
400
394
|
|
|
401
395
|
renderEmptyNode() {
|
|
402
|
-
var
|
|
396
|
+
var _context;
|
|
403
397
|
|
|
404
398
|
const {
|
|
405
399
|
emptyContent
|
|
@@ -410,14 +404,14 @@ class TreeNode extends _react.PureComponent {
|
|
|
410
404
|
return /*#__PURE__*/_react.default.createElement("ul", {
|
|
411
405
|
className: wrapperCls
|
|
412
406
|
}, /*#__PURE__*/_react.default.createElement("li", {
|
|
413
|
-
className: (0, _concat.default)(
|
|
407
|
+
className: (0, _concat.default)(_context = "".concat(prefixcls, "-label ")).call(_context, prefixcls, "-label-empty"),
|
|
414
408
|
"x-semi-prop": "emptyContent"
|
|
415
409
|
}, emptyContent));
|
|
416
410
|
} // eslint-disable-next-line max-lines-per-function
|
|
417
411
|
|
|
418
412
|
|
|
419
413
|
render() {
|
|
420
|
-
var
|
|
414
|
+
var _context2;
|
|
421
415
|
|
|
422
416
|
const _a = this.props,
|
|
423
417
|
{
|
|
@@ -455,7 +449,7 @@ class TreeNode extends _react.PureComponent {
|
|
|
455
449
|
const dragOverGapTop = dragOverNodeKey === eventKey && dropPosition === -1;
|
|
456
450
|
const dragOverGapBottom = dragOverNodeKey === eventKey && dropPosition === 1;
|
|
457
451
|
const nodeCls = (0, _classnames.default)(prefixcls, {
|
|
458
|
-
[(0, _concat.default)(
|
|
452
|
+
[(0, _concat.default)(_context2 = "".concat(prefixcls, "-level-")).call(_context2, level + 1)]: true,
|
|
459
453
|
["".concat(prefixcls, "-collapsed")]: !expanded,
|
|
460
454
|
["".concat(prefixcls, "-disabled")]: Boolean(disabled),
|
|
461
455
|
["".concat(prefixcls, "-selected")]: selected,
|
|
@@ -382,6 +382,14 @@ class TreeSelect extends _baseComponent.default {
|
|
|
382
382
|
};
|
|
383
383
|
|
|
384
384
|
this.search = value => {
|
|
385
|
+
const {
|
|
386
|
+
isOpen
|
|
387
|
+
} = this.state;
|
|
388
|
+
|
|
389
|
+
if (!isOpen) {
|
|
390
|
+
this.foundation.open();
|
|
391
|
+
}
|
|
392
|
+
|
|
385
393
|
this.foundation.handleInputChange(value);
|
|
386
394
|
};
|
|
387
395
|
|
|
@@ -1370,7 +1378,6 @@ TreeSelect.defaultProps = {
|
|
|
1370
1378
|
motionExpand: true,
|
|
1371
1379
|
expandAll: false,
|
|
1372
1380
|
zIndex: _constants2.numbers.DEFAULT_Z_INDEX,
|
|
1373
|
-
disabled: false,
|
|
1374
1381
|
disableStrictly: false,
|
|
1375
1382
|
multiple: false,
|
|
1376
1383
|
filterTreeNode: false,
|
|
@@ -143,7 +143,6 @@ declare class AutoComplete<T extends AutoCompleteItems> extends BaseComponent<Au
|
|
|
143
143
|
position: "bottomLeft";
|
|
144
144
|
data: [];
|
|
145
145
|
showClear: boolean;
|
|
146
|
-
disabled: boolean;
|
|
147
146
|
size: "default";
|
|
148
147
|
onFocus: (...args: any[]) => void;
|
|
149
148
|
onSearch: (...args: any[]) => void;
|
|
@@ -131,6 +131,7 @@ declare class Cascader extends BaseComponent<CascaderProps, CascaderState> {
|
|
|
131
131
|
disableStrictly: PropTypes.Requireable<boolean>;
|
|
132
132
|
leafOnly: PropTypes.Requireable<boolean>;
|
|
133
133
|
enableLeafClick: PropTypes.Requireable<boolean>;
|
|
134
|
+
preventScroll: PropTypes.Requireable<boolean>;
|
|
134
135
|
};
|
|
135
136
|
static defaultProps: {
|
|
136
137
|
leafOnly: boolean;
|
|
@@ -142,7 +143,6 @@ declare class Cascader extends BaseComponent<CascaderProps, CascaderState> {
|
|
|
142
143
|
showClear: boolean;
|
|
143
144
|
autoClearSearchValue: boolean;
|
|
144
145
|
changeOnSelect: boolean;
|
|
145
|
-
disabled: boolean;
|
|
146
146
|
disableStrictly: boolean;
|
|
147
147
|
autoMergeValue: boolean;
|
|
148
148
|
multiple: boolean;
|
package/lib/es/cascader/index.js
CHANGED
|
@@ -554,7 +554,8 @@ class Cascader extends BaseComponent {
|
|
|
554
554
|
loadingKeys: new _Set(),
|
|
555
555
|
|
|
556
556
|
/* Mark whether this rendering has triggered asynchronous loading of data */
|
|
557
|
-
loading: false
|
|
557
|
+
loading: false,
|
|
558
|
+
showInput: false
|
|
558
559
|
};
|
|
559
560
|
this.options = {};
|
|
560
561
|
this.isEmpty = false;
|
|
@@ -581,9 +582,15 @@ class Cascader extends BaseComponent {
|
|
|
581
582
|
});
|
|
582
583
|
},
|
|
583
584
|
focusInput: () => {
|
|
585
|
+
const {
|
|
586
|
+
preventScroll
|
|
587
|
+
} = this.props;
|
|
588
|
+
|
|
584
589
|
if (this.inputRef && this.inputRef.current) {
|
|
585
590
|
// TODO: check the reason
|
|
586
|
-
this.inputRef.current.focus(
|
|
591
|
+
this.inputRef.current.focus({
|
|
592
|
+
preventScroll
|
|
593
|
+
});
|
|
587
594
|
}
|
|
588
595
|
}
|
|
589
596
|
};
|
|
@@ -692,7 +699,19 @@ class Cascader extends BaseComponent {
|
|
|
692
699
|
});
|
|
693
700
|
},
|
|
694
701
|
notifyOnExceed: data => this.props.onExceed(data),
|
|
695
|
-
notifyClear: () => this.props.onClear()
|
|
702
|
+
notifyClear: () => this.props.onClear(),
|
|
703
|
+
toggleInputShow: (showInput, cb) => {
|
|
704
|
+
this.setState({
|
|
705
|
+
showInput
|
|
706
|
+
}, () => {
|
|
707
|
+
cb();
|
|
708
|
+
});
|
|
709
|
+
},
|
|
710
|
+
updateFocusState: isFocus => {
|
|
711
|
+
this.setState({
|
|
712
|
+
isFocus
|
|
713
|
+
});
|
|
714
|
+
}
|
|
696
715
|
});
|
|
697
716
|
}
|
|
698
717
|
|
|
@@ -868,21 +887,29 @@ class Cascader extends BaseComponent {
|
|
|
868
887
|
const inputcls = cls("".concat(prefixcls, "-input"));
|
|
869
888
|
const {
|
|
870
889
|
inputValue,
|
|
871
|
-
inputPlaceHolder
|
|
890
|
+
inputPlaceHolder,
|
|
891
|
+
showInput
|
|
872
892
|
} = this.state;
|
|
873
893
|
const inputProps = {
|
|
874
894
|
disabled,
|
|
875
895
|
value: inputValue,
|
|
876
896
|
className: inputcls,
|
|
877
|
-
onChange: this.handleInputChange
|
|
878
|
-
placeholder: inputPlaceHolder
|
|
897
|
+
onChange: this.handleInputChange
|
|
879
898
|
};
|
|
880
899
|
const wrappercls = cls({
|
|
881
900
|
["".concat(prefixcls, "-search-wrapper")]: true
|
|
882
901
|
});
|
|
902
|
+
const displayText = this.renderDisplayText();
|
|
903
|
+
const spanCls = cls({
|
|
904
|
+
["".concat(prefixcls, "-selection-placeholder")]: !displayText,
|
|
905
|
+
["".concat(prefixcls, "-selection-text-hide")]: showInput && inputValue,
|
|
906
|
+
["".concat(prefixcls, "-selection-text-inactive")]: showInput && !inputValue
|
|
907
|
+
});
|
|
883
908
|
return /*#__PURE__*/React.createElement("div", {
|
|
884
909
|
className: wrappercls
|
|
885
|
-
}, /*#__PURE__*/React.createElement(
|
|
910
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
911
|
+
className: spanCls
|
|
912
|
+
}, displayText ? displayText : inputPlaceHolder), showInput && /*#__PURE__*/React.createElement(Input, _Object$assign({
|
|
886
913
|
ref: this.inputRef,
|
|
887
914
|
size: size
|
|
888
915
|
}, inputProps)));
|
|
@@ -999,7 +1026,8 @@ Cascader.propTypes = {
|
|
|
999
1026
|
loadedKeys: PropTypes.array,
|
|
1000
1027
|
disableStrictly: PropTypes.bool,
|
|
1001
1028
|
leafOnly: PropTypes.bool,
|
|
1002
|
-
enableLeafClick: PropTypes.bool
|
|
1029
|
+
enableLeafClick: PropTypes.bool,
|
|
1030
|
+
preventScroll: PropTypes.bool
|
|
1003
1031
|
};
|
|
1004
1032
|
Cascader.defaultProps = {
|
|
1005
1033
|
leafOnly: false,
|
|
@@ -1011,7 +1039,6 @@ Cascader.defaultProps = {
|
|
|
1011
1039
|
showClear: false,
|
|
1012
1040
|
autoClearSearchValue: true,
|
|
1013
1041
|
changeOnSelect: false,
|
|
1014
|
-
disabled: false,
|
|
1015
1042
|
disableStrictly: false,
|
|
1016
1043
|
autoMergeValue: true,
|
|
1017
1044
|
multiple: false,
|
|
@@ -54,6 +54,7 @@ declare class Checkbox extends BaseComponent<CheckboxProps, CheckboxState> {
|
|
|
54
54
|
index: PropTypes.Requireable<number>;
|
|
55
55
|
'aria-label': PropTypes.Requireable<string>;
|
|
56
56
|
tabIndex: PropTypes.Requireable<number>;
|
|
57
|
+
preventScroll: PropTypes.Requireable<boolean>;
|
|
57
58
|
};
|
|
58
59
|
static defaultProps: {
|
|
59
60
|
defaultChecked: boolean;
|
|
@@ -246,7 +246,8 @@ Checkbox.propTypes = {
|
|
|
246
246
|
extra: PropTypes.node,
|
|
247
247
|
index: PropTypes.number,
|
|
248
248
|
'aria-label': PropTypes.string,
|
|
249
|
-
tabIndex: PropTypes.number
|
|
249
|
+
tabIndex: PropTypes.number,
|
|
250
|
+
preventScroll: PropTypes.bool
|
|
250
251
|
};
|
|
251
252
|
Checkbox.defaultProps = {
|
|
252
253
|
defaultChecked: false,
|
|
@@ -19,6 +19,7 @@ export interface CheckboxInnerProps {
|
|
|
19
19
|
focusInner?: boolean;
|
|
20
20
|
onInputFocus?: (e: any) => void;
|
|
21
21
|
onInputBlur?: (e: any) => void;
|
|
22
|
+
preventScroll?: boolean;
|
|
22
23
|
}
|
|
23
24
|
declare class CheckboxInner extends PureComponent<CheckboxInnerProps> {
|
|
24
25
|
static contextType: React.Context<import("./context").CheckboxContextType>;
|
|
@@ -40,6 +41,7 @@ declare class CheckboxInner extends PureComponent<CheckboxInnerProps> {
|
|
|
40
41
|
focusInner: PropTypes.Requireable<boolean>;
|
|
41
42
|
onInputFocus: PropTypes.Requireable<(...args: any[]) => any>;
|
|
42
43
|
onInputBlur: PropTypes.Requireable<(...args: any[]) => any>;
|
|
44
|
+
preventScroll: PropTypes.Requireable<boolean>;
|
|
43
45
|
};
|
|
44
46
|
static defaultProps: {
|
|
45
47
|
onChange: (...args: any[]) => void;
|