@douyinfe/semi-ui 2.10.4 → 2.10.5
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/cascader/index.tsx +16 -15
- package/checkbox/checkbox.tsx +1 -0
- package/checkbox/checkboxInner.tsx +10 -1
- package/datePicker/datePicker.tsx +7 -4
- package/dist/umd/semi-ui.js +194 -51
- 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/input/index.tsx +5 -1
- package/inputNumber/index.tsx +5 -2
- package/lib/cjs/cascader/index.d.ts +1 -0
- package/lib/cjs/cascader/index.js +9 -2
- package/lib/cjs/checkbox/checkbox.d.ts +1 -0
- package/lib/cjs/checkbox/checkbox.js +2 -1
- package/lib/cjs/checkbox/checkboxInner.d.ts +8 -0
- package/lib/cjs/checkbox/checkboxInner.js +11 -2
- package/lib/cjs/datePicker/datePicker.d.ts +1 -0
- package/lib/cjs/datePicker/datePicker.js +21 -5
- package/lib/cjs/form/baseForm.d.ts +2 -1
- package/lib/cjs/form/field.d.ts +2 -1
- package/lib/cjs/input/index.d.ts +2 -0
- package/lib/cjs/input/index.js +11 -4
- package/lib/cjs/inputNumber/index.d.ts +1 -0
- package/lib/cjs/inputNumber/index.js +8 -2
- package/lib/cjs/modal/ModalContent.d.ts +1 -0
- package/lib/cjs/modal/ModalContent.js +14 -3
- package/lib/cjs/modal/confirm.d.ts +5 -0
- package/lib/cjs/radio/radio.d.ts +5 -0
- package/lib/cjs/radio/radio.js +2 -1
- package/lib/cjs/radio/radioInner.d.ts +8 -0
- package/lib/cjs/radio/radioInner.js +11 -2
- package/lib/cjs/rating/index.d.ts +2 -0
- package/lib/cjs/rating/index.js +12 -5
- package/lib/cjs/rating/item.d.ts +10 -0
- package/lib/cjs/rating/item.js +4 -1
- package/lib/cjs/select/index.d.ts +2 -0
- package/lib/cjs/select/index.js +15 -3
- 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/tagInput/index.d.ts +2 -0
- package/lib/cjs/tagInput/index.js +13 -4
- 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 +3 -0
- package/lib/cjs/tooltip/index.js +8 -2
- package/lib/cjs/tree/index.d.ts +1 -0
- package/lib/cjs/tree/index.js +9 -2
- package/lib/cjs/typography/title.d.ts +1 -1
- package/lib/es/cascader/index.d.ts +1 -0
- package/lib/es/cascader/index.js +9 -2
- package/lib/es/checkbox/checkbox.d.ts +1 -0
- package/lib/es/checkbox/checkbox.js +2 -1
- package/lib/es/checkbox/checkboxInner.d.ts +8 -0
- package/lib/es/checkbox/checkboxInner.js +11 -2
- package/lib/es/datePicker/datePicker.d.ts +1 -0
- package/lib/es/datePicker/datePicker.js +21 -5
- package/lib/es/form/baseForm.d.ts +2 -1
- package/lib/es/form/field.d.ts +2 -1
- package/lib/es/input/index.d.ts +2 -0
- package/lib/es/input/index.js +11 -4
- package/lib/es/inputNumber/index.d.ts +1 -0
- package/lib/es/inputNumber/index.js +8 -2
- package/lib/es/modal/ModalContent.d.ts +1 -0
- package/lib/es/modal/ModalContent.js +14 -3
- package/lib/es/modal/confirm.d.ts +5 -0
- package/lib/es/radio/radio.d.ts +5 -0
- package/lib/es/radio/radio.js +2 -1
- package/lib/es/radio/radioInner.d.ts +8 -0
- package/lib/es/radio/radioInner.js +11 -2
- package/lib/es/rating/index.d.ts +2 -0
- package/lib/es/rating/index.js +12 -5
- package/lib/es/rating/item.d.ts +10 -0
- package/lib/es/rating/item.js +4 -1
- package/lib/es/select/index.d.ts +2 -0
- package/lib/es/select/index.js +15 -3
- 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/tagInput/index.d.ts +2 -0
- package/lib/es/tagInput/index.js +13 -4
- 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 +3 -0
- package/lib/es/tooltip/index.js +9 -2
- package/lib/es/tree/index.d.ts +1 -0
- package/lib/es/tree/index.js +9 -2
- package/lib/es/typography/title.d.ts +1 -1
- package/modal/ModalContent.tsx +6 -3
- package/package.json +9 -9
- package/radio/radio.tsx +5 -0
- package/radio/radioInner.tsx +10 -1
- package/rating/index.tsx +6 -4
- package/rating/item.tsx +11 -0
- package/select/index.tsx +6 -2
- package/tabs/index.tsx +1 -0
- package/tabs/interface.ts +1 -0
- package/tagInput/index.tsx +6 -3
- package/timePicker/TimeInput.tsx +5 -3
- package/timePicker/TimePicker.tsx +2 -0
- package/tooltip/index.tsx +5 -1
- package/tree/index.tsx +3 -1
package/cascader/index.tsx
CHANGED
|
@@ -168,6 +168,7 @@ class Cascader extends BaseComponent<CascaderProps, CascaderState> {
|
|
|
168
168
|
disableStrictly: PropTypes.bool,
|
|
169
169
|
leafOnly: PropTypes.bool,
|
|
170
170
|
enableLeafClick: PropTypes.bool,
|
|
171
|
+
preventScroll: PropTypes.bool,
|
|
171
172
|
};
|
|
172
173
|
|
|
173
174
|
static defaultProps = {
|
|
@@ -268,16 +269,16 @@ class Cascader extends BaseComponent<CascaderProps, CascaderState> {
|
|
|
268
269
|
this.setState({ inputPlaceHolder: value });
|
|
269
270
|
},
|
|
270
271
|
focusInput: () => {
|
|
272
|
+
const { preventScroll } = this.props;
|
|
271
273
|
if (this.inputRef && this.inputRef.current) {
|
|
272
274
|
// TODO: check the reason
|
|
273
|
-
(this.inputRef.current as any).focus();
|
|
275
|
+
(this.inputRef.current as any).focus({ preventScroll });
|
|
274
276
|
}
|
|
275
277
|
},
|
|
276
278
|
};
|
|
277
|
-
const cascaderAdapter: Pick<
|
|
278
|
-
|
|
279
|
-
| 'unregisterClickOutsideHandler'
|
|
280
|
-
| 'rePositionDropdown'
|
|
279
|
+
const cascaderAdapter: Pick<
|
|
280
|
+
CascaderAdapter,
|
|
281
|
+
'registerClickOutsideHandler' | 'unregisterClickOutsideHandler' | 'rePositionDropdown'
|
|
281
282
|
> = {
|
|
282
283
|
registerClickOutsideHandler: cb => {
|
|
283
284
|
const clickOutsideHandler = (e: Event) => {
|
|
@@ -887,9 +888,9 @@ class Cascader extends BaseComponent<CascaderProps, CascaderState> {
|
|
|
887
888
|
const { isOpen, isFocus, isInput, checkedKeys } = this.state;
|
|
888
889
|
const filterable = Boolean(filterTreeNode);
|
|
889
890
|
const useCustomTrigger = typeof triggerRender === 'function';
|
|
890
|
-
const classNames = useCustomTrigger
|
|
891
|
-
cls(className)
|
|
892
|
-
cls(prefixcls, className, {
|
|
891
|
+
const classNames = useCustomTrigger
|
|
892
|
+
? cls(className)
|
|
893
|
+
: cls(prefixcls, className, {
|
|
893
894
|
[`${prefixcls}-focus`]: isFocus || (isOpen && !isInput),
|
|
894
895
|
[`${prefixcls}-disabled`]: disabled,
|
|
895
896
|
[`${prefixcls}-single`]: true,
|
|
@@ -901,18 +902,18 @@ class Cascader extends BaseComponent<CascaderProps, CascaderState> {
|
|
|
901
902
|
[`${prefixcls}-with-prefix`]: prefix || insetLabel,
|
|
902
903
|
[`${prefixcls}-with-suffix`]: suffix,
|
|
903
904
|
});
|
|
904
|
-
const mouseEvent = showClear
|
|
905
|
-
{
|
|
905
|
+
const mouseEvent = showClear
|
|
906
|
+
? {
|
|
906
907
|
onMouseEnter: () => this.handleMouseOver(),
|
|
907
908
|
onMouseLeave: () => this.handleMouseLeave(),
|
|
908
|
-
}
|
|
909
|
-
{};
|
|
909
|
+
}
|
|
910
|
+
: {};
|
|
910
911
|
const sectionCls = cls(`${prefixcls}-selection`, {
|
|
911
912
|
[`${prefixcls}-selection-multiple`]: multiple && !isEmpty(checkedKeys),
|
|
912
913
|
});
|
|
913
|
-
const inner = useCustomTrigger
|
|
914
|
-
this.renderCustomTrigger()
|
|
915
|
-
[
|
|
914
|
+
const inner = useCustomTrigger
|
|
915
|
+
? this.renderCustomTrigger()
|
|
916
|
+
: [
|
|
916
917
|
<Fragment key={'prefix'}>{prefix || insetLabel ? this.renderPrefix() : null}</Fragment>,
|
|
917
918
|
<Fragment key={'selection'}>
|
|
918
919
|
<div className={sectionCls}>{this.renderSelectContent()}</div>
|
package/checkbox/checkbox.tsx
CHANGED
|
@@ -23,6 +23,10 @@ export interface CheckboxInnerProps {
|
|
|
23
23
|
addonId?: string;
|
|
24
24
|
extraId?: string;
|
|
25
25
|
'aria-label'?: React.AriaAttributes['aria-label'];
|
|
26
|
+
focusInner?: boolean;
|
|
27
|
+
onInputFocus?: (e: any) => void;
|
|
28
|
+
onInputBlur?: (e: any) => void;
|
|
29
|
+
preventScroll?: boolean;
|
|
26
30
|
}
|
|
27
31
|
|
|
28
32
|
class CheckboxInner extends PureComponent<CheckboxInnerProps> {
|
|
@@ -43,6 +47,10 @@ class CheckboxInner extends PureComponent<CheckboxInnerProps> {
|
|
|
43
47
|
isPureCardType: PropTypes.bool,
|
|
44
48
|
addonId: PropTypes.string,
|
|
45
49
|
extraId: PropTypes.string,
|
|
50
|
+
focusInner: PropTypes.bool,
|
|
51
|
+
onInputFocus: PropTypes.func,
|
|
52
|
+
onInputBlur: PropTypes.func,
|
|
53
|
+
preventScroll: PropTypes.bool,
|
|
46
54
|
};
|
|
47
55
|
|
|
48
56
|
static defaultProps = {
|
|
@@ -55,7 +63,8 @@ class CheckboxInner extends PureComponent<CheckboxInnerProps> {
|
|
|
55
63
|
}
|
|
56
64
|
|
|
57
65
|
focus() {
|
|
58
|
-
this.
|
|
66
|
+
const { preventScroll } = this.props;
|
|
67
|
+
this.inputEntity.focus({ preventScroll });
|
|
59
68
|
}
|
|
60
69
|
|
|
61
70
|
render() {
|
|
@@ -125,6 +125,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
|
|
|
125
125
|
// Callback function for panel date switching
|
|
126
126
|
onPanelChange: PropTypes.func,
|
|
127
127
|
rangeSeparator: PropTypes.string,
|
|
128
|
+
preventScroll: PropTypes.bool,
|
|
128
129
|
};
|
|
129
130
|
|
|
130
131
|
static defaultProps = {
|
|
@@ -272,13 +273,14 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
|
|
|
272
273
|
typeIsYearOrMonth: () => ['month', 'year'].includes(this.props.type),
|
|
273
274
|
setMotionEnd: motionEnd => this.setState({ motionEnd }),
|
|
274
275
|
setRangeInputFocus: rangeInputFocus => {
|
|
276
|
+
const { preventScroll } = this.props;
|
|
275
277
|
if (rangeInputFocus !== this.state.rangeInputFocus) {
|
|
276
278
|
this.setState({ rangeInputFocus });
|
|
277
279
|
}
|
|
278
280
|
switch (rangeInputFocus) {
|
|
279
281
|
case 'rangeStart':
|
|
280
282
|
const inputStartNode = get(this, 'rangeInputStartRef.current');
|
|
281
|
-
inputStartNode && inputStartNode.focus();
|
|
283
|
+
inputStartNode && inputStartNode.focus({ preventScroll });
|
|
282
284
|
/**
|
|
283
285
|
* 解决选择完startDate,切换到endDate后panel被立马关闭的问题。
|
|
284
286
|
* 用户打开panel,选了startDate后,会执行setRangeInputFocus('rangeEnd'),focus到endDateInput,
|
|
@@ -298,7 +300,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
|
|
|
298
300
|
break;
|
|
299
301
|
case 'rangeEnd':
|
|
300
302
|
const inputEndNode = get(this, 'rangeInputEndRef.current');
|
|
301
|
-
inputEndNode && inputEndNode.focus();
|
|
303
|
+
inputEndNode && inputEndNode.focus({ preventScroll });
|
|
302
304
|
/**
|
|
303
305
|
* 解决选择完startDate,切换到endDate后panel被立马关闭的问题。
|
|
304
306
|
* 用户打开panel,选了startDate后,会执行setRangeInputFocus('rangeEnd'),focus到endDateInput,
|
|
@@ -323,19 +325,20 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
|
|
|
323
325
|
couldPanelClosed: () => this.focusRecordsRef.current.rangeStart && this.focusRecordsRef.current.rangeEnd,
|
|
324
326
|
isEventTarget: e => e && e.target === e.currentTarget,
|
|
325
327
|
setInsetInputFocus: () => {
|
|
328
|
+
const { preventScroll } = this.props;
|
|
326
329
|
const { rangeInputFocus } = this.state;
|
|
327
330
|
switch (rangeInputFocus) {
|
|
328
331
|
case 'rangeEnd':
|
|
329
332
|
if (document.activeElement !== this.rangeInputEndRef.current) {
|
|
330
333
|
const inputEndNode = get(this, 'rangeInputEndRef.current');
|
|
331
|
-
inputEndNode && inputEndNode.focus();
|
|
334
|
+
inputEndNode && inputEndNode.focus({ preventScroll });
|
|
332
335
|
}
|
|
333
336
|
break;
|
|
334
337
|
case 'rangeStart':
|
|
335
338
|
default:
|
|
336
339
|
if (document.activeElement !== this.rangeInputStartRef.current) {
|
|
337
340
|
const inputStartNode = get(this, 'rangeInputStartRef.current');
|
|
338
|
-
inputStartNode && inputStartNode.focus();
|
|
341
|
+
inputStartNode && inputStartNode.focus({ preventScroll });
|
|
339
342
|
}
|
|
340
343
|
break;
|
|
341
344
|
}
|