@douyinfe/semi-ui 2.17.1 → 2.18.1-alpha.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/anchor/index.tsx +1 -1
- package/anchor/link.tsx +3 -4
- package/autoComplete/__test__/autoComplete.test.js +6 -6
- package/autoComplete/index.tsx +1 -1
- package/autoComplete/option.tsx +164 -0
- package/calendar/__test__/calendar.test.js +21 -2
- package/calendar/_story/calendar.stories.js +31 -0
- package/calendar/index.tsx +3 -1
- package/calendar/interface.ts +2 -1
- package/carousel/index.tsx +5 -5
- package/checkbox/checkbox.tsx +10 -2
- package/dist/css/semi.css +133 -28
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +7478 -8726
- 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/form/_story/FieldProps/labelOptional.jsx +30 -0
- package/form/_story/form.stories.js +7 -0
- package/form/baseForm.tsx +0 -1
- package/form/hoc/withField.tsx +1 -0
- package/form/label.tsx +21 -7
- package/gulpfile.js +3 -1
- package/lib/cjs/_base/base.css +35 -0
- package/lib/cjs/anchor/index.js +2 -1
- package/lib/cjs/anchor/link.d.ts +1 -1
- package/lib/cjs/anchor/link.js +9 -5
- package/lib/cjs/autoComplete/index.d.ts +1 -1
- package/lib/cjs/autoComplete/index.js +1 -1
- package/lib/cjs/autoComplete/option.d.ts +50 -0
- package/lib/cjs/autoComplete/option.js +218 -0
- package/lib/cjs/button/Button.d.ts +1 -1
- package/lib/cjs/button/index.d.ts +1 -1
- package/lib/cjs/calendar/index.d.ts +2 -0
- package/lib/cjs/calendar/index.js +3 -1
- package/lib/cjs/calendar/interface.d.ts +2 -1
- package/lib/cjs/carousel/CarouselIndicator.d.ts +1 -1
- package/lib/cjs/carousel/index.d.ts +1 -1
- package/lib/cjs/carousel/index.js +2 -2
- package/lib/cjs/checkbox/checkbox.d.ts +4 -0
- package/lib/cjs/checkbox/checkbox.js +9 -3
- package/lib/cjs/datePicker/dateInput.d.ts +1 -1
- package/lib/cjs/datePicker/datePicker.d.ts +1 -1
- package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
- package/lib/cjs/form/baseForm.js +0 -1
- package/lib/cjs/form/hoc/withField.js +2 -1
- package/lib/cjs/form/label.d.ts +8 -5
- package/lib/cjs/form/label.js +15 -4
- package/lib/cjs/locale/interface.d.ts +3 -0
- package/lib/cjs/locale/source/ar.js +3 -0
- package/lib/cjs/locale/source/de.js +3 -0
- package/lib/cjs/locale/source/en_GB.js +3 -0
- package/lib/cjs/locale/source/en_US.js +3 -0
- package/lib/cjs/locale/source/es.js +3 -0
- package/lib/cjs/locale/source/fr.js +3 -0
- package/lib/cjs/locale/source/id_ID.js +3 -0
- package/lib/cjs/locale/source/it.js +3 -0
- package/lib/cjs/locale/source/ja_JP.js +3 -0
- package/lib/cjs/locale/source/ko_KR.js +3 -0
- package/lib/cjs/locale/source/ms_MY.js +3 -0
- package/lib/cjs/locale/source/pt_BR.js +3 -0
- package/lib/cjs/locale/source/ru_RU.js +3 -0
- package/lib/cjs/locale/source/th_TH.js +3 -0
- package/lib/cjs/locale/source/tr_TR.js +3 -0
- package/lib/cjs/locale/source/vi_VN.js +3 -0
- package/lib/cjs/locale/source/zh_CN.js +3 -0
- package/lib/cjs/locale/source/zh_TW.js +3 -0
- package/lib/cjs/modal/Modal.js +0 -8
- package/lib/cjs/modal/ModalContent.js +4 -1
- package/lib/cjs/radio/radio.d.ts +3 -1
- package/lib/cjs/radio/radio.js +33 -8
- package/lib/cjs/radio/radioGroup.d.ts +1 -1
- package/lib/cjs/table/ColumnFilter.js +4 -2
- package/lib/cjs/table/ColumnSorter.d.ts +1 -0
- package/lib/cjs/table/ColumnSorter.js +9 -6
- package/lib/cjs/table/Table.js +11 -4
- package/lib/cjs/tabs/TabBar.js +5 -1
- package/lib/cjs/tag/group.d.ts +3 -0
- package/lib/cjs/tag/group.js +24 -6
- package/lib/cjs/tag/index.d.ts +2 -1
- package/lib/cjs/tag/index.js +7 -5
- package/lib/cjs/tag/interface.d.ts +2 -1
- package/lib/cjs/timePicker/TimePicker.d.ts +2 -2
- package/lib/cjs/timePicker/TimeShape.d.ts +1 -1
- package/lib/cjs/timePicker/index.d.ts +2 -2
- package/lib/cjs/transfer/index.js +7 -2
- package/lib/cjs/tree/index.d.ts +3 -1
- package/lib/cjs/tree/index.js +23 -0
- package/lib/cjs/tree/interface.d.ts +4 -0
- package/lib/cjs/typography/base.d.ts +1 -1
- package/lib/cjs/typography/paragraph.d.ts +1 -1
- package/lib/cjs/typography/text.d.ts +1 -1
- package/lib/cjs/typography/title.d.ts +2 -2
- package/lib/cjs/upload/index.d.ts +1 -1
- package/lib/es/_base/base.css +35 -0
- package/lib/es/anchor/index.js +2 -1
- package/lib/es/anchor/link.d.ts +1 -1
- package/lib/es/anchor/link.js +9 -5
- package/lib/es/autoComplete/index.d.ts +1 -1
- package/lib/es/autoComplete/index.js +1 -1
- package/lib/es/autoComplete/option.d.ts +50 -0
- package/lib/es/autoComplete/option.js +188 -0
- package/lib/es/button/Button.d.ts +1 -1
- package/lib/es/button/index.d.ts +1 -1
- package/lib/es/calendar/index.d.ts +2 -0
- package/lib/es/calendar/index.js +3 -1
- package/lib/es/calendar/interface.d.ts +2 -1
- package/lib/es/carousel/CarouselIndicator.d.ts +1 -1
- package/lib/es/carousel/index.d.ts +1 -1
- package/lib/es/carousel/index.js +2 -2
- package/lib/es/checkbox/checkbox.d.ts +4 -0
- package/lib/es/checkbox/checkbox.js +10 -4
- package/lib/es/datePicker/dateInput.d.ts +1 -1
- package/lib/es/datePicker/datePicker.d.ts +1 -1
- package/lib/es/datePicker/monthsGrid.d.ts +1 -1
- package/lib/es/form/baseForm.js +0 -1
- package/lib/es/form/hoc/withField.js +2 -1
- package/lib/es/form/label.d.ts +8 -5
- package/lib/es/form/label.js +13 -4
- package/lib/es/locale/interface.d.ts +3 -0
- package/lib/es/locale/source/ar.js +3 -0
- package/lib/es/locale/source/de.js +3 -0
- package/lib/es/locale/source/en_GB.js +3 -0
- package/lib/es/locale/source/en_US.js +3 -0
- package/lib/es/locale/source/es.js +3 -0
- package/lib/es/locale/source/fr.js +3 -0
- package/lib/es/locale/source/id_ID.js +3 -0
- package/lib/es/locale/source/it.js +3 -0
- package/lib/es/locale/source/ja_JP.js +3 -0
- package/lib/es/locale/source/ko_KR.js +3 -0
- package/lib/es/locale/source/ms_MY.js +3 -0
- package/lib/es/locale/source/pt_BR.js +3 -0
- package/lib/es/locale/source/ru_RU.js +3 -0
- package/lib/es/locale/source/th_TH.js +3 -0
- package/lib/es/locale/source/tr_TR.js +3 -0
- package/lib/es/locale/source/vi_VN.js +3 -0
- package/lib/es/locale/source/zh_CN.js +3 -0
- package/lib/es/locale/source/zh_TW.js +3 -0
- package/lib/es/modal/Modal.js +0 -8
- package/lib/es/modal/ModalContent.js +4 -1
- package/lib/es/radio/radio.d.ts +3 -1
- package/lib/es/radio/radio.js +31 -8
- package/lib/es/radio/radioGroup.d.ts +1 -1
- package/lib/es/table/ColumnFilter.js +4 -2
- package/lib/es/table/ColumnSorter.d.ts +1 -0
- package/lib/es/table/ColumnSorter.js +9 -6
- package/lib/es/table/Table.js +10 -4
- package/lib/es/tabs/TabBar.js +5 -1
- package/lib/es/tag/group.d.ts +3 -0
- package/lib/es/tag/group.js +24 -6
- package/lib/es/tag/index.d.ts +2 -1
- package/lib/es/tag/index.js +7 -5
- package/lib/es/tag/interface.d.ts +2 -1
- package/lib/es/timePicker/TimePicker.d.ts +2 -2
- package/lib/es/timePicker/TimeShape.d.ts +1 -1
- package/lib/es/timePicker/index.d.ts +2 -2
- package/lib/es/transfer/index.js +7 -2
- package/lib/es/tree/index.d.ts +3 -1
- package/lib/es/tree/index.js +22 -0
- package/lib/es/tree/interface.d.ts +4 -0
- 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 +2 -2
- package/lib/es/upload/index.d.ts +1 -1
- package/locale/interface.ts +3 -0
- package/locale/source/ar.ts +3 -0
- package/locale/source/de.ts +3 -0
- package/locale/source/en_GB.ts +3 -0
- package/locale/source/en_US.ts +3 -0
- package/locale/source/es.ts +3 -0
- package/locale/source/fr.ts +3 -0
- package/locale/source/id_ID.ts +3 -0
- package/locale/source/it.ts +3 -0
- package/locale/source/ja_JP.ts +3 -0
- package/locale/source/ko_KR.ts +3 -0
- package/locale/source/ms_MY.ts +3 -0
- package/locale/source/pt_BR.ts +3 -0
- package/locale/source/ru_RU.ts +3 -0
- package/locale/source/th_TH.ts +3 -0
- package/locale/source/tr_TR.ts +4 -1
- package/locale/source/vi_VN.ts +3 -0
- package/locale/source/zh_CN.ts +3 -0
- package/locale/source/zh_TW.ts +3 -0
- package/modal/Modal.tsx +0 -6
- package/modal/ModalContent.tsx +4 -1
- package/modal/__test__/modal.test.js +1 -1
- package/modal/_story/__snapshots__/modal.stories.tsx.snap +203 -0
- package/package.json +7 -7
- package/radio/_story/radio.stories.js +2 -2
- package/radio/radio.tsx +27 -5
- package/rating/__test__/rating.test.js +1 -1
- package/select/__test__/select.test.js +11 -17
- package/select/_story/select.stories.js +6 -6
- package/steps/_story/steps.stories.js +3 -3
- package/switch/_story/switch.stories.js +4 -4
- package/switch/_story/switch.stories.tsx +4 -4
- package/table/ColumnFilter.tsx +2 -1
- package/table/ColumnSorter.tsx +16 -10
- package/table/Table.tsx +7 -4
- package/tabs/TabBar.tsx +7 -1
- package/tag/_story/tag.stories.js +57 -1
- package/tag/group.tsx +20 -3
- package/tag/index.tsx +6 -5
- package/tag/interface.ts +2 -1
- package/transfer/_story/transfer.stories.js +2 -2
- package/transfer/index.tsx +7 -2
- package/tree/_story/tree.stories.js +152 -3
- package/tree/index.tsx +16 -1
- package/tree/interface.ts +6 -0
- package/upload/_story/upload.stories.js +2 -2
- package/webpack.config.js +13 -3
|
@@ -40,9 +40,10 @@ class ColumnSorter extends _react.PureComponent {
|
|
|
40
40
|
prefixCls,
|
|
41
41
|
onClick,
|
|
42
42
|
sortOrder,
|
|
43
|
-
style
|
|
43
|
+
style,
|
|
44
|
+
title
|
|
44
45
|
} = this.props;
|
|
45
|
-
const iconBtnSize = '
|
|
46
|
+
const iconBtnSize = 'default';
|
|
46
47
|
const upCls = (0, _classnames.default)("".concat(prefixCls, "-column-sorter-up"), {
|
|
47
48
|
on: sortOrder === _constants.strings.SORT_DIRECTIONS[0]
|
|
48
49
|
});
|
|
@@ -61,11 +62,13 @@ class ColumnSorter extends _react.PureComponent {
|
|
|
61
62
|
role: 'button'
|
|
62
63
|
}, ariaProps, {
|
|
63
64
|
tabIndex: -1,
|
|
64
|
-
|
|
65
|
-
className: "".concat(prefixCls, "-column-sorter"),
|
|
65
|
+
className: "".concat(prefixCls, "-column-sorter-wrapper"),
|
|
66
66
|
onClick: onClick,
|
|
67
67
|
onKeyPress: e => (0, _isEnterPress.default)(e) && onClick(e)
|
|
68
|
-
}), /*#__PURE__*/_react.default.createElement("
|
|
68
|
+
}), title, /*#__PURE__*/_react.default.createElement("div", {
|
|
69
|
+
style: style,
|
|
70
|
+
className: "".concat(prefixCls, "-column-sorter")
|
|
71
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
69
72
|
className: "".concat(upCls)
|
|
70
73
|
}, /*#__PURE__*/_react.default.createElement(_semiIcons.IconCaretup, {
|
|
71
74
|
size: iconBtnSize
|
|
@@ -73,7 +76,7 @@ class ColumnSorter extends _react.PureComponent {
|
|
|
73
76
|
className: "".concat(downCls)
|
|
74
77
|
}, /*#__PURE__*/_react.default.createElement(_semiIcons.IconCaretdown, {
|
|
75
78
|
size: iconBtnSize
|
|
76
|
-
})));
|
|
79
|
+
}))));
|
|
77
80
|
}
|
|
78
81
|
|
|
79
82
|
}
|
package/lib/cjs/table/Table.js
CHANGED
|
@@ -555,15 +555,24 @@ class Table extends _baseComponent.default {
|
|
|
555
555
|
const defaultSortOrder = (0, _get2.default)(curQuery, 'defaultSortOrder', false);
|
|
556
556
|
const sortOrder = _this.foundation.isSortOrderValid(stateSortOrder) ? stateSortOrder : defaultSortOrder;
|
|
557
557
|
|
|
558
|
+
const TitleNode = typeof rawTitle !== 'function' && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
559
|
+
key: _constants.strings.DEFAULT_KEY_COLUMN_TITLE
|
|
560
|
+
}, rawTitle);
|
|
561
|
+
|
|
558
562
|
if (typeof column.sorter === 'function' || column.sorter === true) {
|
|
563
|
+
// In order to increase the click hot area of sorting, when sorting is required & useFullRender is false,
|
|
564
|
+
// both the title and sorting areas are used as the click hot area for sorting。
|
|
559
565
|
const sorter = /*#__PURE__*/_react.default.createElement(_ColumnSorter.default, {
|
|
560
566
|
key: _constants.strings.DEFAULT_KEY_COLUMN_SORTER,
|
|
561
567
|
sortOrder: sortOrder,
|
|
562
|
-
onClick: e => _this.foundation.handleSort(column, e)
|
|
568
|
+
onClick: e => _this.foundation.handleSort(column, e),
|
|
569
|
+
title: TitleNode
|
|
563
570
|
});
|
|
564
571
|
|
|
565
572
|
useFullRender && (titleMap.sorter = sorter);
|
|
566
573
|
titleArr.push(sorter);
|
|
574
|
+
} else {
|
|
575
|
+
titleArr.push(TitleNode);
|
|
567
576
|
}
|
|
568
577
|
|
|
569
578
|
const stateFilteredValue = (0, _get2.default)(curQuery, 'filteredValue');
|
|
@@ -583,9 +592,7 @@ class Table extends _baseComponent.default {
|
|
|
583
592
|
titleArr.push(filter);
|
|
584
593
|
}
|
|
585
594
|
|
|
586
|
-
const newTitle = typeof rawTitle === 'function' ? () => rawTitle(titleMap) : titleArr
|
|
587
|
-
key: _constants.strings.DEFAULT_KEY_COLUMN_TITLE
|
|
588
|
-
}, rawTitle)) && titleArr;
|
|
595
|
+
const newTitle = typeof rawTitle === 'function' ? () => rawTitle(titleMap) : titleArr;
|
|
589
596
|
column = (0, _assign.default)((0, _assign.default)({}, column), {
|
|
590
597
|
title: newTitle
|
|
591
598
|
});
|
package/lib/cjs/tabs/TabBar.js
CHANGED
|
@@ -151,7 +151,11 @@ class TabBar extends _react.default.Component {
|
|
|
151
151
|
var _context5, _context6;
|
|
152
152
|
|
|
153
153
|
if ((0, _isEmpty2.default)(items)) {
|
|
154
|
-
return
|
|
154
|
+
return /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
155
|
+
disabled: true,
|
|
156
|
+
icon: icon,
|
|
157
|
+
theme: "borderless"
|
|
158
|
+
});
|
|
155
159
|
}
|
|
156
160
|
|
|
157
161
|
const {
|
package/lib/cjs/tag/group.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export interface TagGroupProps<T> {
|
|
|
14
14
|
popoverProps?: PopoverProps;
|
|
15
15
|
avatarShape?: AvatarShape;
|
|
16
16
|
mode?: string;
|
|
17
|
+
onTagClose: (tagChildren: React.ReactNode, event: React.MouseEvent<HTMLElement>, tagKey: string | number) => void;
|
|
17
18
|
}
|
|
18
19
|
export default class TagGroup<T> extends PureComponent<TagGroupProps<T>> {
|
|
19
20
|
static defaultProps: {
|
|
@@ -21,6 +22,7 @@ export default class TagGroup<T> extends PureComponent<TagGroupProps<T>> {
|
|
|
21
22
|
className: string;
|
|
22
23
|
size: string;
|
|
23
24
|
avatarShape: string;
|
|
25
|
+
onTagClose: () => any;
|
|
24
26
|
};
|
|
25
27
|
static propTypes: {
|
|
26
28
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
@@ -31,6 +33,7 @@ export default class TagGroup<T> extends PureComponent<TagGroupProps<T>> {
|
|
|
31
33
|
tagList: PropTypes.Requireable<any[]>;
|
|
32
34
|
size: PropTypes.Requireable<string>;
|
|
33
35
|
mode: PropTypes.Requireable<string>;
|
|
36
|
+
onTagClose: PropTypes.Requireable<(...args: any[]) => any>;
|
|
34
37
|
showPopover: PropTypes.Requireable<boolean>;
|
|
35
38
|
popoverProps: PropTypes.Requireable<object>;
|
|
36
39
|
avatarShape: PropTypes.Requireable<string>;
|
package/lib/cjs/tag/group.js
CHANGED
|
@@ -100,9 +100,10 @@ class TagGroup extends _react.PureComponent {
|
|
|
100
100
|
tagList,
|
|
101
101
|
size,
|
|
102
102
|
mode,
|
|
103
|
-
avatarShape
|
|
103
|
+
avatarShape,
|
|
104
|
+
onTagClose
|
|
104
105
|
} = this.props;
|
|
105
|
-
const renderTags = (0, _map.default)(tagList).call(tagList,
|
|
106
|
+
const renderTags = (0, _map.default)(tagList).call(tagList, tag => {
|
|
106
107
|
if (mode === 'custom') {
|
|
107
108
|
return tag;
|
|
108
109
|
}
|
|
@@ -115,9 +116,24 @@ class TagGroup extends _react.PureComponent {
|
|
|
115
116
|
tag.avatarShape = avatarShape;
|
|
116
117
|
}
|
|
117
118
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
119
|
+
if (!tag.tagKey) {
|
|
120
|
+
if (typeof tag.children === 'string' || typeof tag.children === 'number') {
|
|
121
|
+
tag.tagKey = tag.children;
|
|
122
|
+
} else {
|
|
123
|
+
tag.tagKey = Math.random();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return /*#__PURE__*/_react.default.createElement(_index.default, (0, _assign.default)({}, tag, {
|
|
128
|
+
key: tag.tagKey,
|
|
129
|
+
onClose: (tagChildren, e, tagKey) => {
|
|
130
|
+
if (tag.onClose) {
|
|
131
|
+
tag.onClose(tagChildren, e, tagKey);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
onTagClose && onTagClose(tagChildren, e, tagKey);
|
|
135
|
+
}
|
|
136
|
+
}));
|
|
121
137
|
});
|
|
122
138
|
return renderTags;
|
|
123
139
|
}
|
|
@@ -150,7 +166,8 @@ TagGroup.defaultProps = {
|
|
|
150
166
|
style: {},
|
|
151
167
|
className: '',
|
|
152
168
|
size: tagSize[0],
|
|
153
|
-
avatarShape: 'square'
|
|
169
|
+
avatarShape: 'square',
|
|
170
|
+
onTagClose: () => undefined
|
|
154
171
|
};
|
|
155
172
|
TagGroup.propTypes = {
|
|
156
173
|
children: _propTypes.default.node,
|
|
@@ -161,6 +178,7 @@ TagGroup.propTypes = {
|
|
|
161
178
|
tagList: _propTypes.default.array,
|
|
162
179
|
size: _propTypes.default.oneOf(tagSize),
|
|
163
180
|
mode: _propTypes.default.string,
|
|
181
|
+
onTagClose: _propTypes.default.func,
|
|
164
182
|
showPopover: _propTypes.default.bool,
|
|
165
183
|
popoverProps: _propTypes.default.object,
|
|
166
184
|
avatarShape: _propTypes.default.oneOf(avatarShapeSet)
|
package/lib/cjs/tag/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export default class Tag extends Component<TagProps, TagState> {
|
|
|
10
10
|
static defaultProps: TagProps;
|
|
11
11
|
static propTypes: {
|
|
12
12
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
13
|
+
tagKey: PropTypes.Requireable<PropTypes.Requireable<string> | PropTypes.Requireable<number>>;
|
|
13
14
|
size: PropTypes.Requireable<string>;
|
|
14
15
|
color: PropTypes.Requireable<string>;
|
|
15
16
|
type: PropTypes.Requireable<string>;
|
|
@@ -28,7 +29,7 @@ export default class Tag extends Component<TagProps, TagState> {
|
|
|
28
29
|
visible: boolean;
|
|
29
30
|
};
|
|
30
31
|
setVisible(visible: boolean): void;
|
|
31
|
-
close(e: React.MouseEvent<HTMLElement>, value: React.ReactNode): void;
|
|
32
|
+
close(e: React.MouseEvent<HTMLElement>, value: React.ReactNode, tagKey: string | number): void;
|
|
32
33
|
handleKeyDown(event: any): void;
|
|
33
34
|
renderAvatar(): JSX.Element;
|
|
34
35
|
render(): JSX.Element;
|
package/lib/cjs/tag/index.js
CHANGED
|
@@ -118,13 +118,13 @@ class Tag extends _react.Component {
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
close(e, value) {
|
|
121
|
+
close(e, value, tagKey) {
|
|
122
122
|
const {
|
|
123
123
|
onClose
|
|
124
124
|
} = this.props;
|
|
125
125
|
e.stopPropagation();
|
|
126
126
|
e.nativeEvent.stopImmediatePropagation();
|
|
127
|
-
onClose && onClose(value, e); // when user call e.preventDefault() in onClick callback, tag will not hidden
|
|
127
|
+
onClose && onClose(value, e, tagKey); // when user call e.preventDefault() in onClick callback, tag will not hidden
|
|
128
128
|
|
|
129
129
|
if (e.defaultPrevented) {
|
|
130
130
|
return;
|
|
@@ -143,7 +143,7 @@ class Tag extends _react.Component {
|
|
|
143
143
|
switch (event.key) {
|
|
144
144
|
case "Backspace":
|
|
145
145
|
case "Delete":
|
|
146
|
-
closable && this.close(event, this.props.children);
|
|
146
|
+
closable && this.close(event, this.props.children, this.props.tagKey);
|
|
147
147
|
(0, _a11y.handlePrevent)(event);
|
|
148
148
|
break;
|
|
149
149
|
|
|
@@ -182,6 +182,7 @@ class Tag extends _react.Component {
|
|
|
182
182
|
|
|
183
183
|
const _a = this.props,
|
|
184
184
|
{
|
|
185
|
+
tagKey,
|
|
185
186
|
children,
|
|
186
187
|
size,
|
|
187
188
|
color,
|
|
@@ -195,7 +196,7 @@ class Tag extends _react.Component {
|
|
|
195
196
|
avatarShape,
|
|
196
197
|
tabIndex
|
|
197
198
|
} = _a,
|
|
198
|
-
attr = __rest(_a, ["children", "size", "color", "closable", "visible", "onClose", "onClick", "className", "type", "avatarSrc", "avatarShape", "tabIndex"]);
|
|
199
|
+
attr = __rest(_a, ["tagKey", "children", "size", "color", "closable", "visible", "onClose", "onClick", "className", "type", "avatarSrc", "avatarShape", "tabIndex"]);
|
|
199
200
|
|
|
200
201
|
const {
|
|
201
202
|
visible: isVisible
|
|
@@ -226,7 +227,7 @@ class Tag extends _react.Component {
|
|
|
226
227
|
// eslint-disable-next-line jsx-a11y/click-events-have-key-events
|
|
227
228
|
_react.default.createElement("div", {
|
|
228
229
|
className: "".concat(prefixCls, "-close"),
|
|
229
|
-
onClick: e => this.close(e, children)
|
|
230
|
+
onClick: e => this.close(e, children, tagKey)
|
|
230
231
|
}, /*#__PURE__*/_react.default.createElement(_semiIcons.IconClose, {
|
|
231
232
|
size: "small"
|
|
232
233
|
})) : null;
|
|
@@ -254,6 +255,7 @@ Tag.defaultProps = {
|
|
|
254
255
|
};
|
|
255
256
|
Tag.propTypes = {
|
|
256
257
|
children: _propTypes.default.node,
|
|
258
|
+
tagKey: _propTypes.default.oneOf([_propTypes.default.string, _propTypes.default.number]),
|
|
257
259
|
size: _propTypes.default.oneOf(tagSize),
|
|
258
260
|
color: _propTypes.default.oneOf(tagColors),
|
|
259
261
|
type: _propTypes.default.oneOf(tagType),
|
|
@@ -5,12 +5,13 @@ export declare type TagSize = 'default' | 'small' | 'large';
|
|
|
5
5
|
export declare type AvatarShape = 'circle' | 'square';
|
|
6
6
|
export interface TagProps {
|
|
7
7
|
children?: React.ReactNode;
|
|
8
|
+
tagKey?: string | number;
|
|
8
9
|
size?: TagSize;
|
|
9
10
|
color?: TagColor;
|
|
10
11
|
type?: TagType;
|
|
11
12
|
closable?: boolean;
|
|
12
13
|
visible?: boolean;
|
|
13
|
-
onClose?: (tagChildren: React.ReactNode, event: React.MouseEvent<HTMLElement
|
|
14
|
+
onClose?: (tagChildren: React.ReactNode, event: React.MouseEvent<HTMLElement>, tagKey: string | number) => void;
|
|
14
15
|
onClick?: React.MouseEventHandler<HTMLDivElement>;
|
|
15
16
|
style?: React.CSSProperties;
|
|
16
17
|
className?: string;
|
|
@@ -99,11 +99,11 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
|
|
|
99
99
|
'aria-required': PropTypes.Requireable<boolean>;
|
|
100
100
|
prefixCls: PropTypes.Requireable<string>;
|
|
101
101
|
clearText: PropTypes.Requireable<string>;
|
|
102
|
-
value: PropTypes.Requireable<string | number | string[] | number[] | Date
|
|
102
|
+
value: PropTypes.Requireable<string | number | string[] | Date | number[] | Date[]>;
|
|
103
103
|
inputReadOnly: PropTypes.Requireable<boolean>;
|
|
104
104
|
disabled: PropTypes.Requireable<boolean>;
|
|
105
105
|
showClear: PropTypes.Requireable<boolean>;
|
|
106
|
-
defaultValue: PropTypes.Requireable<string | number | string[] | number[] | Date
|
|
106
|
+
defaultValue: PropTypes.Requireable<string | number | string[] | Date | number[] | Date[]>;
|
|
107
107
|
open: PropTypes.Requireable<boolean>;
|
|
108
108
|
defaultOpen: PropTypes.Requireable<boolean>;
|
|
109
109
|
onOpenChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -6,5 +6,5 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
* - \[12:00:12, 12:21:12]
|
|
7
7
|
* - \[[12:00:12, 12:21:12], [12:11:12, 12:32:12]]
|
|
8
8
|
*/
|
|
9
|
-
declare const TimeShape: PropTypes.Requireable<string | number | string[] | number[] | Date
|
|
9
|
+
declare const TimeShape: PropTypes.Requireable<string | number | string[] | Date | number[] | Date[]>;
|
|
10
10
|
export { TimeShape };
|
|
@@ -19,11 +19,11 @@ export default class LocaleTimePicker extends React.PureComponent<LocalePickerPr
|
|
|
19
19
|
'aria-required': import("prop-types").Requireable<boolean>;
|
|
20
20
|
prefixCls: import("prop-types").Requireable<string>;
|
|
21
21
|
clearText: import("prop-types").Requireable<string>;
|
|
22
|
-
value: import("prop-types").Requireable<string | number | string[] | number[] | Date
|
|
22
|
+
value: import("prop-types").Requireable<string | number | string[] | Date | number[] | Date[]>;
|
|
23
23
|
inputReadOnly: import("prop-types").Requireable<boolean>;
|
|
24
24
|
disabled: import("prop-types").Requireable<boolean>;
|
|
25
25
|
showClear: import("prop-types").Requireable<boolean>;
|
|
26
|
-
defaultValue: import("prop-types").Requireable<string | number | string[] | number[] | Date
|
|
26
|
+
defaultValue: import("prop-types").Requireable<string | number | string[] | Date | number[] | Date[]>;
|
|
27
27
|
open: import("prop-types").Requireable<boolean>;
|
|
28
28
|
defaultOpen: import("prop-types").Requireable<boolean>;
|
|
29
29
|
onOpenChange: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
@@ -322,7 +322,8 @@ class Transfer extends _baseComponent.default {
|
|
|
322
322
|
const noMatch = inSearchMode && searchResult.size === 0;
|
|
323
323
|
const emptySearch = emptyContent.search ? emptyContent.search : locale.emptySearch;
|
|
324
324
|
const emptyLeft = emptyContent.left ? emptyContent.left : locale.emptyLeft;
|
|
325
|
-
const
|
|
325
|
+
const emptyDataCom = this.renderEmpty('left', emptyLeft);
|
|
326
|
+
const emptySearchCom = this.renderEmpty('left', emptySearch);
|
|
326
327
|
|
|
327
328
|
const loadingCom = /*#__PURE__*/_react.default.createElement(_spin.default, null);
|
|
328
329
|
|
|
@@ -334,7 +335,11 @@ class Transfer extends _baseComponent.default {
|
|
|
334
335
|
break;
|
|
335
336
|
|
|
336
337
|
case noMatch:
|
|
337
|
-
content =
|
|
338
|
+
content = emptySearchCom;
|
|
339
|
+
break;
|
|
340
|
+
|
|
341
|
+
case data.length === 0:
|
|
342
|
+
content = emptyDataCom;
|
|
338
343
|
break;
|
|
339
344
|
|
|
340
345
|
case type === _constants.strings.TYPE_TREE_TO_LIST:
|
package/lib/cjs/tree/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import BaseComponent from '../_base/baseComponent';
|
|
|
6
6
|
import Input from '../input/index';
|
|
7
7
|
import TreeNode from './treeNode';
|
|
8
8
|
import '@douyinfe/semi-foundation/lib/cjs/tree/tree.css';
|
|
9
|
-
import { TreeProps, TreeState, TreeNodeProps, TreeNodeData, FlattenNode, KeyEntity } from './interface';
|
|
9
|
+
import { TreeProps, TreeState, TreeNodeProps, TreeNodeData, FlattenNode, KeyEntity, ScrollData } from './interface';
|
|
10
10
|
export * from './interface';
|
|
11
11
|
export { AutoSizerProps } from './autoSizer';
|
|
12
12
|
declare class Tree extends BaseComponent<TreeProps, TreeState> {
|
|
@@ -102,6 +102,7 @@ declare class Tree extends BaseComponent<TreeProps, TreeState> {
|
|
|
102
102
|
onNodeClick: any;
|
|
103
103
|
onMotionEnd: any;
|
|
104
104
|
context: ContextValue;
|
|
105
|
+
virtualizedListRef: React.RefObject<any>;
|
|
105
106
|
constructor(props: TreeProps);
|
|
106
107
|
/**
|
|
107
108
|
* Process of getDerivedStateFromProps was inspired by rc-tree
|
|
@@ -110,6 +111,7 @@ declare class Tree extends BaseComponent<TreeProps, TreeState> {
|
|
|
110
111
|
static getDerivedStateFromProps(props: TreeProps, prevState: TreeState): Partial<TreeState>;
|
|
111
112
|
get adapter(): TreeAdapter;
|
|
112
113
|
search: (value: string) => void;
|
|
114
|
+
scrollTo: (scrollData: ScrollData) => void;
|
|
113
115
|
renderInput(): JSX.Element;
|
|
114
116
|
renderEmpty: () => JSX.Element;
|
|
115
117
|
onNodeSelect: (e: MouseEvent | KeyboardEvent, treeNode: TreeNodeProps) => void;
|
package/lib/cjs/tree/index.js
CHANGED
|
@@ -17,6 +17,8 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
17
17
|
var _exportNames = {};
|
|
18
18
|
exports.default = void 0;
|
|
19
19
|
|
|
20
|
+
var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
|
|
21
|
+
|
|
20
22
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
|
|
21
23
|
|
|
22
24
|
var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
|
|
@@ -101,6 +103,25 @@ class Tree extends _baseComponent.default {
|
|
|
101
103
|
this.foundation.handleInputChange(value);
|
|
102
104
|
};
|
|
103
105
|
|
|
106
|
+
this.scrollTo = scrollData => {
|
|
107
|
+
var _a;
|
|
108
|
+
|
|
109
|
+
const {
|
|
110
|
+
key,
|
|
111
|
+
align = 'center'
|
|
112
|
+
} = scrollData;
|
|
113
|
+
const {
|
|
114
|
+
flattenNodes
|
|
115
|
+
} = this.state;
|
|
116
|
+
|
|
117
|
+
if (key) {
|
|
118
|
+
const index = flattenNodes === null || flattenNodes === void 0 ? void 0 : (0, _findIndex.default)(flattenNodes).call(flattenNodes, node => {
|
|
119
|
+
return node.key === key;
|
|
120
|
+
});
|
|
121
|
+
index >= 0 && ((_a = this.virtualizedListRef.current) === null || _a === void 0 ? void 0 : _a.scrollToItem(index, align));
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
|
|
104
125
|
this.renderEmpty = () => {
|
|
105
126
|
const {
|
|
106
127
|
emptyContent
|
|
@@ -262,6 +283,7 @@ class Tree extends _baseComponent.default {
|
|
|
262
283
|
this.optionsRef = /*#__PURE__*/_react.default.createRef();
|
|
263
284
|
this.foundation = new _foundation.default(this.adapter);
|
|
264
285
|
this.dragNode = null;
|
|
286
|
+
this.virtualizedListRef = /*#__PURE__*/_react.default.createRef();
|
|
265
287
|
}
|
|
266
288
|
/**
|
|
267
289
|
* Process of getDerivedStateFromProps was inspired by rc-tree
|
|
@@ -634,6 +656,7 @@ class Tree extends _baseComponent.default {
|
|
|
634
656
|
width
|
|
635
657
|
} = _ref4;
|
|
636
658
|
return /*#__PURE__*/_react.default.createElement(_reactWindow.FixedSizeList, {
|
|
659
|
+
ref: this.virtualizedListRef,
|
|
637
660
|
itemCount: flattenNodes.length,
|
|
638
661
|
itemSize: virtualize.itemSize,
|
|
639
662
|
height: height,
|
|
@@ -64,7 +64,7 @@ export default class Base extends Component<BaseTypographyProps, BaseTypographyS
|
|
|
64
64
|
spacing: PropTypes.Requireable<"normal" | "extended">;
|
|
65
65
|
strong: PropTypes.Requireable<boolean>;
|
|
66
66
|
size: PropTypes.Requireable<"small" | "normal">;
|
|
67
|
-
type: PropTypes.Requireable<"warning" | "success" | "primary" | "
|
|
67
|
+
type: PropTypes.Requireable<"warning" | "success" | "primary" | "secondary" | "tertiary" | "danger" | "quaternary">;
|
|
68
68
|
style: PropTypes.Requireable<object>;
|
|
69
69
|
className: PropTypes.Requireable<string>;
|
|
70
70
|
icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
@@ -29,7 +29,7 @@ export default class Paragraph extends PureComponent<ParagraphProps> {
|
|
|
29
29
|
link: PropTypes.Requireable<boolean | object>;
|
|
30
30
|
underline: PropTypes.Requireable<boolean>;
|
|
31
31
|
strong: PropTypes.Requireable<boolean>;
|
|
32
|
-
type: PropTypes.Requireable<"warning" | "success" | "primary" | "
|
|
32
|
+
type: PropTypes.Requireable<"warning" | "success" | "primary" | "secondary" | "tertiary" | "danger" | "quaternary">;
|
|
33
33
|
size: PropTypes.Requireable<"small" | "normal">;
|
|
34
34
|
spacing: PropTypes.Requireable<"normal" | "extended">;
|
|
35
35
|
style: PropTypes.Requireable<object>;
|
|
@@ -32,7 +32,7 @@ export default class Text extends PureComponent<TextProps> {
|
|
|
32
32
|
underline: PropTypes.Requireable<boolean>;
|
|
33
33
|
link: PropTypes.Requireable<boolean | object>;
|
|
34
34
|
strong: PropTypes.Requireable<boolean>;
|
|
35
|
-
type: PropTypes.Requireable<"warning" | "success" | "primary" | "
|
|
35
|
+
type: PropTypes.Requireable<"warning" | "success" | "primary" | "secondary" | "tertiary" | "danger" | "quaternary">;
|
|
36
36
|
size: PropTypes.Requireable<"small" | "normal">;
|
|
37
37
|
style: PropTypes.Requireable<object>;
|
|
38
38
|
className: PropTypes.Requireable<string>;
|
|
@@ -36,8 +36,8 @@ export default class Title extends PureComponent<TitleProps> {
|
|
|
36
36
|
link: PropTypes.Requireable<boolean | object>;
|
|
37
37
|
underline: PropTypes.Requireable<boolean>;
|
|
38
38
|
strong: PropTypes.Requireable<boolean>;
|
|
39
|
-
type: PropTypes.Requireable<"warning" | "success" | "primary" | "
|
|
40
|
-
heading: PropTypes.Requireable<1 | 2 | 3 | 4 |
|
|
39
|
+
type: PropTypes.Requireable<"warning" | "success" | "primary" | "secondary" | "tertiary" | "danger" | "quaternary">;
|
|
40
|
+
heading: PropTypes.Requireable<1 | 2 | 3 | 4 | 6 | 5>;
|
|
41
41
|
style: PropTypes.Requireable<object>;
|
|
42
42
|
className: PropTypes.Requireable<string>;
|
|
43
43
|
component: PropTypes.Requireable<string>;
|
|
@@ -140,7 +140,7 @@ declare class Upload extends BaseComponent<UploadProps, UploadState> {
|
|
|
140
140
|
style: PropTypes.Requireable<object>;
|
|
141
141
|
timeout: PropTypes.Requireable<number>;
|
|
142
142
|
transformFile: PropTypes.Requireable<(...args: any[]) => any>;
|
|
143
|
-
uploadTrigger: PropTypes.Requireable<"
|
|
143
|
+
uploadTrigger: PropTypes.Requireable<"custom" | "auto">;
|
|
144
144
|
validateMessage: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
145
145
|
validateStatus: PropTypes.Requireable<"default" | "error" | "warning" | "success">;
|
|
146
146
|
withCredentials: PropTypes.Requireable<boolean>;
|
package/lib/es/_base/base.css
CHANGED
|
@@ -1,6 +1,41 @@
|
|
|
1
1
|
/* shadow */
|
|
2
2
|
/* sizing */
|
|
3
3
|
/* spacing */
|
|
4
|
+
body {
|
|
5
|
+
--semi-transition_duration-slowest:0ms;
|
|
6
|
+
--semi-transition_duration-slower:0ms;
|
|
7
|
+
--semi-transition_duration-slow:0ms;
|
|
8
|
+
--semi-transition_duration-normal:0ms;
|
|
9
|
+
--semi-transition_duration-fast:0ms;
|
|
10
|
+
--semi-transition_duration-faster:0ms;
|
|
11
|
+
--semi-transition_duration-fastest:0ms;
|
|
12
|
+
--semi-transition_function-linear:linear;
|
|
13
|
+
--semi-transition_function-ease:ease;
|
|
14
|
+
--semi-transition_function-easeIn:ease-in;
|
|
15
|
+
--semi-transition_function-easeOut:ease-out;
|
|
16
|
+
--semi-transition_function-easeInIOut:ease-in-out;
|
|
17
|
+
--semi-transition_delay-slowest:0ms;
|
|
18
|
+
--semi-transition_delay-slower:0ms;
|
|
19
|
+
--semi-transition_delay-slow:0ms;
|
|
20
|
+
--semi-transition_delay-normal:0ms;
|
|
21
|
+
--semi-transition_delay-fast:0ms;
|
|
22
|
+
--semi-transition_delay-faster:0ms;
|
|
23
|
+
--semi-transition_delay-fastest:0ms;
|
|
24
|
+
--semi-transform_scale-none:scale(1,1);
|
|
25
|
+
--semi-transform_scale-small:scale(1,1);
|
|
26
|
+
--semi-transform_scale-medium:scale(1,1);
|
|
27
|
+
--semi-transform_scale-large:scale(1,1);
|
|
28
|
+
--semi-transform-rotate-none:rotate(0deg);
|
|
29
|
+
--semi-transform_rotate-clockwise90deg:rotate(90deg);
|
|
30
|
+
--semi-transform_rotate-clockwise180deg:rotate(180deg);
|
|
31
|
+
--semi-transform_rotate-clockwise270deg:rotate(270deg);
|
|
32
|
+
--semi-transform_rotate-clockwise360deg:rotate(360deg);
|
|
33
|
+
--semi-transform_rotate-anticlockwise90deg:rotate(-90deg);
|
|
34
|
+
--semi-transform_rotate-anticlockwise180deg:rotate(-180deg);
|
|
35
|
+
--semi-transform_rotate-anticlockwise270deg:rotate(-270deg);
|
|
36
|
+
--semi-transform_rotate-anticlockwise360deg:rotate(-360deg);
|
|
37
|
+
}
|
|
38
|
+
|
|
4
39
|
body,
|
|
5
40
|
body .semi-always-light {
|
|
6
41
|
--semi-amber-0: 254,251,235;
|
package/lib/es/anchor/index.js
CHANGED
package/lib/es/anchor/link.d.ts
CHANGED
|
@@ -36,6 +36,6 @@ export default class Link extends BaseComponent<LinkProps, {}> {
|
|
|
36
36
|
componentDidUpdate(prevProps: LinkProps): void;
|
|
37
37
|
componentWillUnmount(): void;
|
|
38
38
|
renderTitle: () => string | number | boolean | React.ReactFragment | JSX.Element;
|
|
39
|
-
renderChildren: () =>
|
|
39
|
+
renderChildren: () => JSX.Element;
|
|
40
40
|
render(): JSX.Element;
|
|
41
41
|
}
|
package/lib/es/anchor/link.js
CHANGED
|
@@ -65,10 +65,14 @@ export default class Link extends BaseComponent {
|
|
|
65
65
|
} = this.props;
|
|
66
66
|
|
|
67
67
|
if (!this.context.autoCollapse) {
|
|
68
|
-
return
|
|
68
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
69
|
+
role: "list"
|
|
70
|
+
}, children);
|
|
69
71
|
}
|
|
70
72
|
|
|
71
|
-
return activeLink === href || childMap[href] && childMap[href].has(activeLink) ?
|
|
73
|
+
return activeLink === href || childMap[href] && childMap[href].has(activeLink) ? /*#__PURE__*/React.createElement("div", {
|
|
74
|
+
role: "list"
|
|
75
|
+
}, children) : null;
|
|
72
76
|
};
|
|
73
77
|
|
|
74
78
|
this.foundation = new LinkFoundation(this.adapter);
|
|
@@ -144,8 +148,7 @@ export default class Link extends BaseComponent {
|
|
|
144
148
|
["".concat(prefixCls, "-link-title-disabled")]: disabled
|
|
145
149
|
});
|
|
146
150
|
const ariaProps = {
|
|
147
|
-
'aria-disabled': disabled
|
|
148
|
-
'aria-label': href
|
|
151
|
+
'aria-disabled': disabled
|
|
149
152
|
};
|
|
150
153
|
|
|
151
154
|
if (active) {
|
|
@@ -158,7 +161,8 @@ export default class Link extends BaseComponent {
|
|
|
158
161
|
|
|
159
162
|
return /*#__PURE__*/React.createElement("div", {
|
|
160
163
|
className: linkCls,
|
|
161
|
-
style: style
|
|
164
|
+
style: style,
|
|
165
|
+
role: "listitem"
|
|
162
166
|
}, /*#__PURE__*/React.createElement("div", _Object$assign({
|
|
163
167
|
role: "link",
|
|
164
168
|
tabIndex: 0
|
|
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
|
|
|
3
3
|
import { AutoCompleteAdapter, StateOptionItem, DataItem } from '@douyinfe/semi-foundation/lib/es/autoComplete/foundation';
|
|
4
4
|
import BaseComponent, { ValidateStatus } from '../_base/baseComponent';
|
|
5
5
|
import { Position } from '../tooltip';
|
|
6
|
-
import Option from '
|
|
6
|
+
import Option from './option';
|
|
7
7
|
import '@douyinfe/semi-foundation/lib/es/autoComplete/autoComplete.css';
|
|
8
8
|
import { Motion } from '../_base/base';
|
|
9
9
|
/**
|
|
@@ -19,7 +19,7 @@ import Spin from '../spin';
|
|
|
19
19
|
import Popover from '../popover';
|
|
20
20
|
import Input from '../input';
|
|
21
21
|
import Trigger from '../trigger';
|
|
22
|
-
import Option from '
|
|
22
|
+
import Option from './option';
|
|
23
23
|
import warning from '@douyinfe/semi-foundation/lib/es/utils/warning';
|
|
24
24
|
import '@douyinfe/semi-foundation/lib/es/autoComplete/autoComplete.css';
|
|
25
25
|
const prefixCls = cssClasses.PREFIX;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React, { PureComponent } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { BasicOptionProps } from '@douyinfe/semi-foundation/lib/es/autoComplete/optionFoundation';
|
|
4
|
+
export interface OptionProps extends BasicOptionProps {
|
|
5
|
+
[x: string]: any;
|
|
6
|
+
value?: string | number;
|
|
7
|
+
label?: string | number | React.ReactNode;
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
showTick?: boolean;
|
|
11
|
+
className?: string;
|
|
12
|
+
style?: React.CSSProperties;
|
|
13
|
+
}
|
|
14
|
+
interface renderOptionContentArgument {
|
|
15
|
+
config: {
|
|
16
|
+
searchWords: any;
|
|
17
|
+
sourceString: React.ReactNode;
|
|
18
|
+
};
|
|
19
|
+
children: React.ReactNode;
|
|
20
|
+
inputValue: string;
|
|
21
|
+
prefixCls: string;
|
|
22
|
+
}
|
|
23
|
+
declare class Option extends PureComponent<OptionProps> {
|
|
24
|
+
static isSelectOption: boolean;
|
|
25
|
+
static propTypes: {
|
|
26
|
+
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
27
|
+
disabled: PropTypes.Requireable<boolean>;
|
|
28
|
+
value: PropTypes.Requireable<string | number>;
|
|
29
|
+
selected: PropTypes.Requireable<boolean>;
|
|
30
|
+
label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
31
|
+
empty: PropTypes.Requireable<boolean>;
|
|
32
|
+
emptyContent: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
33
|
+
onSelect: PropTypes.Requireable<(...args: any[]) => any>;
|
|
34
|
+
focused: PropTypes.Requireable<boolean>;
|
|
35
|
+
showTick: PropTypes.Requireable<boolean>;
|
|
36
|
+
className: PropTypes.Requireable<string>;
|
|
37
|
+
style: PropTypes.Requireable<object>;
|
|
38
|
+
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
|
39
|
+
prefixCls: PropTypes.Requireable<string>;
|
|
40
|
+
renderOptionItem: PropTypes.Requireable<(...args: any[]) => any>;
|
|
41
|
+
inputValue: PropTypes.Requireable<string>;
|
|
42
|
+
};
|
|
43
|
+
static defaultProps: {
|
|
44
|
+
prefixCls: string;
|
|
45
|
+
};
|
|
46
|
+
onClick({ value, label, children, ...rest }: Partial<OptionProps>, event: React.MouseEvent): void;
|
|
47
|
+
renderOptionContent({ config, children, inputValue, prefixCls }: renderOptionContentArgument): React.ReactNode;
|
|
48
|
+
render(): any;
|
|
49
|
+
}
|
|
50
|
+
export default Option;
|