@douyinfe/semi-ui 2.14.0 → 2.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/__test__/datePicker.test.js +1 -0
- package/datePicker/_story/v2/FixTriggerRender.tsx +36 -0
- package/datePicker/_story/v2/index.js +1 -0
- package/datePicker/datePicker.tsx +7 -5
- package/dist/css/semi.css +39 -11
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +1150 -346
- 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 +21 -5
- package/lib/cjs/tree/treeNode.js +15 -19
- package/lib/cjs/treeSelect/index.js +20 -4
- 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 +19 -5
- package/lib/es/tree/treeNode.js +14 -20
- package/lib/es/treeSelect/index.js +18 -4
- 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 +13 -2
- package/tree/treeNode.tsx +11 -13
- package/treeSelect/_story/treeSelect.stories.js +38 -1
- package/treeSelect/index.tsx +13 -3
- 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
|
@@ -27,6 +27,8 @@ var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stabl
|
|
|
27
27
|
|
|
28
28
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
29
29
|
|
|
30
|
+
var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
|
|
31
|
+
|
|
30
32
|
var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
|
|
31
33
|
|
|
32
34
|
var _get2 = _interopRequireDefault(require("lodash/get"));
|
|
@@ -71,6 +73,8 @@ require("@douyinfe/semi-foundation/lib/cjs/tree/tree.css");
|
|
|
71
73
|
|
|
72
74
|
var _semiIcons = require("@douyinfe/semi-icons");
|
|
73
75
|
|
|
76
|
+
var _checkboxGroup = _interopRequireDefault(require("../checkbox/checkboxGroup"));
|
|
77
|
+
|
|
74
78
|
var _interface = require("./interface");
|
|
75
79
|
|
|
76
80
|
_forEachInstanceProperty(_context2 = _Object$keys2(_interface)).call(_context2, function (key) {
|
|
@@ -483,8 +487,14 @@ class Tree extends _baseComponent.default {
|
|
|
483
487
|
});
|
|
484
488
|
},
|
|
485
489
|
focusInput: () => {
|
|
490
|
+
const {
|
|
491
|
+
preventScroll
|
|
492
|
+
} = this.props;
|
|
493
|
+
|
|
486
494
|
if (this.inputRef && this.inputRef.current) {
|
|
487
|
-
this.inputRef.current.focus(
|
|
495
|
+
this.inputRef.current.focus({
|
|
496
|
+
preventScroll
|
|
497
|
+
});
|
|
488
498
|
}
|
|
489
499
|
}
|
|
490
500
|
};
|
|
@@ -646,7 +656,9 @@ class Tree extends _baseComponent.default {
|
|
|
646
656
|
inputValue,
|
|
647
657
|
filteredKeys,
|
|
648
658
|
dragOverNodeKey,
|
|
649
|
-
dropPosition
|
|
659
|
+
dropPosition,
|
|
660
|
+
checkedKeys,
|
|
661
|
+
realCheckedKeys
|
|
650
662
|
} = this.state;
|
|
651
663
|
const {
|
|
652
664
|
blockNode,
|
|
@@ -665,7 +677,8 @@ class Tree extends _baseComponent.default {
|
|
|
665
677
|
draggable,
|
|
666
678
|
renderFullLabel,
|
|
667
679
|
labelEllipsis,
|
|
668
|
-
virtualize
|
|
680
|
+
virtualize,
|
|
681
|
+
checkRelation
|
|
669
682
|
} = this.props;
|
|
670
683
|
const wrapperCls = (0, _classnames.default)("".concat(prefixcls, "-wrapper"), className);
|
|
671
684
|
const listCls = (0, _classnames.default)("".concat(prefixcls, "-option-list"), {
|
|
@@ -723,7 +736,9 @@ class Tree extends _baseComponent.default {
|
|
|
723
736
|
style: style
|
|
724
737
|
}, filterTreeNode ? this.renderInput() : null, /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({
|
|
725
738
|
className: listCls
|
|
726
|
-
}, ariaAttr), noData ? this.renderEmpty() :
|
|
739
|
+
}, ariaAttr), noData ? this.renderEmpty() : multiple ? /*#__PURE__*/_react.default.createElement(_checkboxGroup.default, {
|
|
740
|
+
value: (0, _from.default)(checkRelation === 'related' ? checkedKeys : realCheckedKeys)
|
|
741
|
+
}, this.renderNodeList()) : this.renderNodeList())));
|
|
727
742
|
}
|
|
728
743
|
|
|
729
744
|
}
|
|
@@ -790,7 +805,8 @@ Tree.propTypes = {
|
|
|
790
805
|
onDrop: _propTypes.default.func,
|
|
791
806
|
labelEllipsis: _propTypes.default.bool,
|
|
792
807
|
checkRelation: _propTypes.default.string,
|
|
793
|
-
'aria-label': _propTypes.default.string
|
|
808
|
+
'aria-label': _propTypes.default.string,
|
|
809
|
+
preventScroll: _propTypes.default.bool
|
|
794
810
|
};
|
|
795
811
|
Tree.defaultProps = {
|
|
796
812
|
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
|
}
|
|
@@ -348,7 +342,8 @@ class TreeNode extends _react.PureComponent {
|
|
|
348
342
|
renderCheckbox() {
|
|
349
343
|
const {
|
|
350
344
|
checked,
|
|
351
|
-
halfChecked
|
|
345
|
+
halfChecked,
|
|
346
|
+
eventKey
|
|
352
347
|
} = this.props;
|
|
353
348
|
const disabled = this.isDisabled();
|
|
354
349
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -357,6 +352,7 @@ class TreeNode extends _react.PureComponent {
|
|
|
357
352
|
onKeyPress: this.handleCheckEnterPress
|
|
358
353
|
}, /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, {
|
|
359
354
|
"aria-label": 'Toggle the checked state of checkbox',
|
|
355
|
+
value: eventKey,
|
|
360
356
|
indeterminate: halfChecked,
|
|
361
357
|
checked: checked,
|
|
362
358
|
disabled: Boolean(disabled)
|
|
@@ -399,7 +395,7 @@ class TreeNode extends _react.PureComponent {
|
|
|
399
395
|
}
|
|
400
396
|
|
|
401
397
|
renderEmptyNode() {
|
|
402
|
-
var
|
|
398
|
+
var _context;
|
|
403
399
|
|
|
404
400
|
const {
|
|
405
401
|
emptyContent
|
|
@@ -410,14 +406,14 @@ class TreeNode extends _react.PureComponent {
|
|
|
410
406
|
return /*#__PURE__*/_react.default.createElement("ul", {
|
|
411
407
|
className: wrapperCls
|
|
412
408
|
}, /*#__PURE__*/_react.default.createElement("li", {
|
|
413
|
-
className: (0, _concat.default)(
|
|
409
|
+
className: (0, _concat.default)(_context = "".concat(prefixcls, "-label ")).call(_context, prefixcls, "-label-empty"),
|
|
414
410
|
"x-semi-prop": "emptyContent"
|
|
415
411
|
}, emptyContent));
|
|
416
412
|
} // eslint-disable-next-line max-lines-per-function
|
|
417
413
|
|
|
418
414
|
|
|
419
415
|
render() {
|
|
420
|
-
var
|
|
416
|
+
var _context2;
|
|
421
417
|
|
|
422
418
|
const _a = this.props,
|
|
423
419
|
{
|
|
@@ -455,7 +451,7 @@ class TreeNode extends _react.PureComponent {
|
|
|
455
451
|
const dragOverGapTop = dragOverNodeKey === eventKey && dropPosition === -1;
|
|
456
452
|
const dragOverGapBottom = dragOverNodeKey === eventKey && dropPosition === 1;
|
|
457
453
|
const nodeCls = (0, _classnames.default)(prefixcls, {
|
|
458
|
-
[(0, _concat.default)(
|
|
454
|
+
[(0, _concat.default)(_context2 = "".concat(prefixcls, "-level-")).call(_context2, level + 1)]: true,
|
|
459
455
|
["".concat(prefixcls, "-collapsed")]: !expanded,
|
|
460
456
|
["".concat(prefixcls, "-disabled")]: Boolean(disabled),
|
|
461
457
|
["".concat(prefixcls, "-selected")]: selected,
|
|
@@ -28,6 +28,8 @@ var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-st
|
|
|
28
28
|
|
|
29
29
|
var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
|
|
30
30
|
|
|
31
|
+
var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
|
|
32
|
+
|
|
31
33
|
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
|
32
34
|
|
|
33
35
|
var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
|
|
@@ -96,6 +98,8 @@ var _utils = require("../_utils");
|
|
|
96
98
|
|
|
97
99
|
var _semiIcons = require("@douyinfe/semi-icons");
|
|
98
100
|
|
|
101
|
+
var _checkboxGroup = _interopRequireDefault(require("../checkbox/checkboxGroup"));
|
|
102
|
+
|
|
99
103
|
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); }
|
|
100
104
|
|
|
101
105
|
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; }
|
|
@@ -382,6 +386,14 @@ class TreeSelect extends _baseComponent.default {
|
|
|
382
386
|
};
|
|
383
387
|
|
|
384
388
|
this.search = value => {
|
|
389
|
+
const {
|
|
390
|
+
isOpen
|
|
391
|
+
} = this.state;
|
|
392
|
+
|
|
393
|
+
if (!isOpen) {
|
|
394
|
+
this.foundation.open();
|
|
395
|
+
}
|
|
396
|
+
|
|
385
397
|
this.foundation.handleInputChange(value);
|
|
386
398
|
};
|
|
387
399
|
|
|
@@ -867,7 +879,9 @@ class TreeSelect extends _baseComponent.default {
|
|
|
867
879
|
motionType,
|
|
868
880
|
inputValue,
|
|
869
881
|
filteredKeys,
|
|
870
|
-
flattenNodes
|
|
882
|
+
flattenNodes,
|
|
883
|
+
checkedKeys,
|
|
884
|
+
realCheckedKeys
|
|
871
885
|
} = this.state;
|
|
872
886
|
const {
|
|
873
887
|
loadData,
|
|
@@ -884,7 +898,8 @@ class TreeSelect extends _baseComponent.default {
|
|
|
884
898
|
optionListStyle,
|
|
885
899
|
searchPosition,
|
|
886
900
|
renderLabel,
|
|
887
|
-
renderFullLabel
|
|
901
|
+
renderFullLabel,
|
|
902
|
+
checkRelation
|
|
888
903
|
} = this.props;
|
|
889
904
|
const wrapperCls = (0, _classnames.default)("".concat(prefixTree, "-wrapper"));
|
|
890
905
|
const listCls = (0, _classnames.default)("".concat(prefixTree, "-option-list"), {
|
|
@@ -925,7 +940,9 @@ class TreeSelect extends _baseComponent.default {
|
|
|
925
940
|
role: "tree",
|
|
926
941
|
"aria-multiselectable": multiple ? true : false,
|
|
927
942
|
style: optionListStyle
|
|
928
|
-
}, noData ? this.renderEmpty() :
|
|
943
|
+
}, noData ? this.renderEmpty() : multiple ? /*#__PURE__*/_react.default.createElement(_checkboxGroup.default, {
|
|
944
|
+
value: (0, _from.default)(checkRelation === 'related' ? checkedKeys : realCheckedKeys)
|
|
945
|
+
}, this.renderNodeList()) : this.renderNodeList()), outerBottomSlot));
|
|
929
946
|
};
|
|
930
947
|
|
|
931
948
|
this.state = {
|
|
@@ -1370,7 +1387,6 @@ TreeSelect.defaultProps = {
|
|
|
1370
1387
|
motionExpand: true,
|
|
1371
1388
|
expandAll: false,
|
|
1372
1389
|
zIndex: _constants2.numbers.DEFAULT_Z_INDEX,
|
|
1373
|
-
disabled: false,
|
|
1374
1390
|
disableStrictly: false,
|
|
1375
1391
|
multiple: false,
|
|
1376
1392
|
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;
|