@douyinfe/semi-ui 2.0.9-alpha.3 → 2.1.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/semi.css +14 -1
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +1633 -2533
- package/dist/umd/semi-ui.js.map +1 -1
- package/dist/umd/semi-ui.min.js +1 -1
- package/dist/umd/semi-ui.min.js.map +1 -1
- package/lib/es/_base/baseComponent.js +1 -5
- package/lib/es/_portal/index.js +7 -17
- package/lib/es/_utils/index.js +13 -16
- package/lib/es/breadcrumb/index.js +2 -4
- package/lib/es/breadcrumb/item.js +4 -6
- package/lib/es/button/index.d.ts +0 -1
- package/lib/es/button/index.js +2 -4
- package/lib/es/calendar/monthCalendar.js +9 -11
- package/lib/es/cascader/index.d.ts +1 -0
- package/lib/es/cascader/index.js +23 -14
- package/lib/es/cascader/item.js +1 -2
- package/lib/es/collapse/item.js +1 -2
- package/lib/es/collapsible/index.js +9 -9
- package/lib/es/datePicker/dateInput.d.ts +1 -1
- package/lib/es/datePicker/dateInput.js +9 -29
- package/lib/es/datePicker/datePicker.d.ts +1 -1
- package/lib/es/datePicker/datePicker.js +12 -49
- package/lib/es/datePicker/footer.js +1 -2
- package/lib/es/datePicker/index.js +12 -15
- package/lib/es/datePicker/monthsGrid.d.ts +1 -1
- package/lib/es/datePicker/yearAndMonth.js +17 -23
- package/lib/es/dropdown/dropdownDivider.js +1 -2
- package/lib/es/form/baseForm.d.ts +3 -9
- package/lib/es/form/field.d.ts +3 -21
- package/lib/es/form/field.js +2 -18
- package/lib/es/form/hoc/withField.d.ts +1 -1
- package/lib/es/form/hoc/withField.js +3 -14
- package/lib/es/iconButton/index.d.ts +0 -1
- package/lib/es/iconButton/index.js +0 -1
- package/lib/es/inputNumber/index.js +4 -12
- package/lib/es/locale/localeConsumer.js +3 -6
- package/lib/es/modal/ConfirmModal.js +2 -2
- package/lib/es/modal/confirm.js +2 -2
- package/lib/es/modal/useModal/HookModal.js +2 -2
- package/lib/es/motions/Rotate.js +4 -6
- package/lib/es/navigation/CollapseButton.js +7 -9
- package/lib/es/navigation/Item.js +7 -33
- package/lib/es/navigation/OpenIconTransition.js +4 -6
- package/lib/es/navigation/SubNav.js +6 -33
- package/lib/es/navigation/SubNavTransition.js +5 -7
- package/lib/es/navigation/index.js +6 -24
- package/lib/es/notification/NoticeTransition.js +5 -7
- package/lib/es/notification/index.js +8 -16
- package/lib/es/notification/useNotification/index.js +7 -11
- package/lib/es/overflowList/index.js +4 -9
- package/lib/es/overflowList/intersectionObserver.js +1 -2
- package/lib/es/popconfirm/index.d.ts +5 -1
- package/lib/es/popconfirm/index.js +10 -4
- package/lib/es/popover/Arrow.js +1 -3
- package/lib/es/popover/index.d.ts +3 -1
- package/lib/es/popover/index.js +4 -8
- package/lib/es/radio/context.d.ts +1 -1
- package/lib/es/radio/radio.d.ts +2 -2
- package/lib/es/radio/radioGroup.d.ts +4 -4
- package/lib/es/resizeObserver/index.js +1 -2
- package/lib/es/scrollList/scrollItem.d.ts +4 -3
- package/lib/es/scrollList/scrollItem.js +32 -48
- package/lib/es/select/index.js +19 -16
- package/lib/es/select/option.js +8 -10
- package/lib/es/select/utils.d.ts +1 -1
- package/lib/es/select/utils.js +10 -4
- package/lib/es/select/virtualRow.js +5 -6
- package/lib/es/sideSheet/SideSheetTransition.js +1 -3
- package/lib/es/slider/index.js +11 -23
- package/lib/es/spin/icon.js +1 -3
- package/lib/es/table/Body/BaseRow.js +8 -16
- package/lib/es/table/Body/SectionRow.js +3 -6
- package/lib/es/table/Body/index.js +32 -49
- package/lib/es/table/Column.js +1 -2
- package/lib/es/table/ColumnFilter.js +2 -6
- package/lib/es/table/ColumnSelection.js +1 -5
- package/lib/es/table/HeadTable.js +3 -4
- package/lib/es/table/ResizableTable.js +20 -31
- package/lib/es/table/Table.d.ts +1 -1
- package/lib/es/table/Table.js +63 -160
- package/lib/es/table/TableCell.js +3 -5
- package/lib/es/table/TableContextProvider.js +15 -16
- package/lib/es/table/TableHeader.js +1 -4
- package/lib/es/table/utils.js +1 -3
- package/lib/es/tabs/TabBar.d.ts +5 -3
- package/lib/es/tabs/TabBar.js +12 -4
- package/lib/es/tabs/TabPane.d.ts +2 -1
- package/lib/es/tabs/TabPane.js +3 -2
- package/lib/es/tabs/TabPaneTransition.js +9 -12
- package/lib/es/tabs/index.d.ts +3 -1
- package/lib/es/tabs/index.js +83 -14
- package/lib/es/tabs/interface.d.ts +6 -1
- package/lib/es/tagInput/index.d.ts +3 -0
- package/lib/es/tagInput/index.js +6 -1
- package/lib/es/timePicker/Combobox.js +5 -6
- package/lib/es/timePicker/TimeInput.js +3 -11
- package/lib/es/timePicker/TimePicker.d.ts +2 -2
- package/lib/es/timePicker/TimePicker.js +7 -21
- package/lib/es/timePicker/TimeShape.d.ts +1 -1
- package/lib/es/timePicker/index.d.ts +2 -2
- package/lib/es/timePicker/index.js +12 -15
- package/lib/es/toast/ToastTransition.js +8 -12
- package/lib/es/toast/useToast/index.js +3 -6
- package/lib/es/tooltip/TooltipStyledTransition.js +10 -14
- package/lib/es/tooltip/index.d.ts +3 -0
- package/lib/es/tooltip/index.js +22 -28
- package/lib/es/transfer/index.js +15 -18
- package/lib/es/tree/index.js +28 -38
- package/lib/es/tree/interface.d.ts +2 -2
- package/lib/es/treeSelect/index.d.ts +2 -11
- package/lib/es/treeSelect/index.js +32 -44
- package/lib/es/typography/title.d.ts +1 -1
- package/lib/es/typography/util.js +3 -12
- package/lib/es/upload/fileCard.js +53 -62
- package/lib/es/upload/index.d.ts +2 -2
- package/lib/es/upload/index.js +23 -32
- package/package.json +8 -8
|
@@ -5,8 +5,7 @@ import React from 'react';
|
|
|
5
5
|
import { Transition } from '@douyinfe/semi-animation-react';
|
|
6
6
|
import { toInteger } from 'lodash-es';
|
|
7
7
|
|
|
8
|
-
const TabPaneTransition =
|
|
9
|
-
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
8
|
+
const TabPaneTransition = (props = {}) => {
|
|
10
9
|
const direction = props.direction ? 1 : -1;
|
|
11
10
|
const {
|
|
12
11
|
mode
|
|
@@ -46,11 +45,10 @@ const TabPaneTransition = function () {
|
|
|
46
45
|
duration: 200
|
|
47
46
|
}
|
|
48
47
|
}
|
|
49
|
-
}, motion), typeof props.children === 'function' ?
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
} = _ref;
|
|
48
|
+
}, motion), typeof props.children === 'function' ? ({
|
|
49
|
+
translateY,
|
|
50
|
+
opacity
|
|
51
|
+
}) => {
|
|
54
52
|
// delete translateX in 0 in case of zIndex problems.
|
|
55
53
|
const finalState = toInteger(translateY) === 0 ? {
|
|
56
54
|
opacity
|
|
@@ -85,11 +83,10 @@ const TabPaneTransition = function () {
|
|
|
85
83
|
duration: 200
|
|
86
84
|
}
|
|
87
85
|
}
|
|
88
|
-
}, motion), typeof props.children === 'function' ?
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
} = _ref2;
|
|
86
|
+
}, motion), typeof props.children === 'function' ? ({
|
|
87
|
+
translateX,
|
|
88
|
+
opacity
|
|
89
|
+
}) => {
|
|
93
90
|
// delete translateX in 0 in case of zIndex problems.
|
|
94
91
|
const finalState = toInteger(translateX) === 0 ? {
|
|
95
92
|
opacity
|
package/lib/es/tabs/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MouseEvent, ReactElement, ReactNode, RefCallback, RefObject } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import TabsFoundation, { TabsAdapter } from '@douyinfe/semi-foundation/lib/es/tabs/foundation';
|
|
4
4
|
import BaseComponent from '../_base/baseComponent';
|
|
@@ -32,6 +32,7 @@ declare class Tabs extends BaseComponent<TabsProps, TabsState> {
|
|
|
32
32
|
tabPaneMotion: PropTypes.Requireable<boolean | object>;
|
|
33
33
|
tabPosition: PropTypes.Requireable<string>;
|
|
34
34
|
type: PropTypes.Requireable<string>;
|
|
35
|
+
onTabClose: PropTypes.Requireable<(...args: any[]) => any>;
|
|
35
36
|
};
|
|
36
37
|
static defaultProps: TabsProps;
|
|
37
38
|
contentRef: RefObject<HTMLDivElement>;
|
|
@@ -45,6 +46,7 @@ declare class Tabs extends BaseComponent<TabsProps, TabsState> {
|
|
|
45
46
|
onTabClick: (activeKey: string, event: MouseEvent<HTMLDivElement>) => void;
|
|
46
47
|
rePosChildren: (children: ReactElement[], activeKey: string) => ReactElement[];
|
|
47
48
|
getActiveItem: () => ReactNode | ReactNode[];
|
|
49
|
+
deleteTabItem: (tabKey: string, event: MouseEvent<HTMLDivElement>) => void;
|
|
48
50
|
render(): ReactNode;
|
|
49
51
|
}
|
|
50
52
|
export default Tabs;
|
package/lib/es/tabs/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/insta
|
|
|
5
5
|
import _Array$isArray from "@babel/runtime-corejs3/core-js-stable/array/is-array";
|
|
6
6
|
import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
|
|
7
7
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
8
|
+
import _findIndexInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find-index";
|
|
8
9
|
import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
|
|
9
10
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
10
11
|
|
|
@@ -26,7 +27,7 @@ import { cssClasses, strings } from '@douyinfe/semi-foundation/lib/es/tabs/const
|
|
|
26
27
|
import isNullOrUndefined from '@douyinfe/semi-foundation/lib/es/utils/isNullOrUndefined';
|
|
27
28
|
import getDataAttr from '@douyinfe/semi-foundation/lib/es/utils/getDataAttr';
|
|
28
29
|
import TabsFoundation from '@douyinfe/semi-foundation/lib/es/tabs/foundation';
|
|
29
|
-
import { isEqual,
|
|
30
|
+
import { isEqual, omit, pick } from 'lodash-es';
|
|
30
31
|
import BaseComponent from '../_base/baseComponent';
|
|
31
32
|
import '@douyinfe/semi-foundation/lib/es/tabs/tabs.css';
|
|
32
33
|
import TabBar from './TabBar';
|
|
@@ -87,6 +88,11 @@ class Tabs extends BaseComponent {
|
|
|
87
88
|
});
|
|
88
89
|
};
|
|
89
90
|
|
|
91
|
+
this.deleteTabItem = (tabKey, event) => {
|
|
92
|
+
event.stopPropagation();
|
|
93
|
+
this.foundation.handleTabDelete(tabKey);
|
|
94
|
+
};
|
|
95
|
+
|
|
90
96
|
this.foundation = new TabsFoundation(this.adapter);
|
|
91
97
|
this.state = {
|
|
92
98
|
activeKey: this.foundation.getDefaultActiveKey(),
|
|
@@ -119,13 +125,15 @@ class Tabs extends BaseComponent {
|
|
|
119
125
|
tab,
|
|
120
126
|
icon,
|
|
121
127
|
disabled,
|
|
122
|
-
itemKey
|
|
128
|
+
itemKey,
|
|
129
|
+
closable
|
|
123
130
|
} = child.props;
|
|
124
131
|
return {
|
|
125
132
|
tab,
|
|
126
133
|
icon,
|
|
127
134
|
disabled,
|
|
128
|
-
itemKey
|
|
135
|
+
itemKey,
|
|
136
|
+
closable
|
|
129
137
|
};
|
|
130
138
|
}
|
|
131
139
|
|
|
@@ -136,6 +144,61 @@ class Tabs extends BaseComponent {
|
|
|
136
144
|
panes
|
|
137
145
|
});
|
|
138
146
|
},
|
|
147
|
+
collectActiveKey: () => {
|
|
148
|
+
let panes = [];
|
|
149
|
+
const {
|
|
150
|
+
tabList,
|
|
151
|
+
children,
|
|
152
|
+
activeKey: propsActiveKey
|
|
153
|
+
} = this.props;
|
|
154
|
+
|
|
155
|
+
if (typeof propsActiveKey !== 'undefined') {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const {
|
|
160
|
+
activeKey
|
|
161
|
+
} = this.state;
|
|
162
|
+
|
|
163
|
+
if (_Array$isArray(tabList) && tabList.length) {
|
|
164
|
+
panes = tabList;
|
|
165
|
+
} else {
|
|
166
|
+
var _context3;
|
|
167
|
+
|
|
168
|
+
panes = _mapInstanceProperty(_context3 = React.Children).call(_context3, children, child => {
|
|
169
|
+
if (child) {
|
|
170
|
+
const {
|
|
171
|
+
tab,
|
|
172
|
+
icon,
|
|
173
|
+
disabled,
|
|
174
|
+
itemKey,
|
|
175
|
+
closable
|
|
176
|
+
} = child.props;
|
|
177
|
+
return {
|
|
178
|
+
tab,
|
|
179
|
+
icon,
|
|
180
|
+
disabled,
|
|
181
|
+
itemKey,
|
|
182
|
+
closable
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
return undefined;
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
if (_findIndexInstanceProperty(panes).call(panes, p => p.itemKey === activeKey) === -1) {
|
|
191
|
+
if (panes.length > 0) {
|
|
192
|
+
this.setState({
|
|
193
|
+
activeKey: panes[0].itemKey
|
|
194
|
+
});
|
|
195
|
+
} else {
|
|
196
|
+
this.setState({
|
|
197
|
+
activeKey: ''
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
},
|
|
139
202
|
notifyTabClick: (activeKey, event) => {
|
|
140
203
|
this.props.onTabClick(activeKey, event);
|
|
141
204
|
},
|
|
@@ -148,14 +211,14 @@ class Tabs extends BaseComponent {
|
|
|
148
211
|
});
|
|
149
212
|
},
|
|
150
213
|
getDefaultActiveKeyFromChildren: () => {
|
|
151
|
-
var
|
|
214
|
+
var _context4;
|
|
152
215
|
|
|
153
216
|
const {
|
|
154
217
|
tabList,
|
|
155
218
|
children
|
|
156
219
|
} = this.props;
|
|
157
220
|
let activeKey = '';
|
|
158
|
-
const list = tabList ? tabList : _mapInstanceProperty(
|
|
221
|
+
const list = tabList ? tabList : _mapInstanceProperty(_context4 = React.Children.toArray(children)).call(_context4, child => /*#__PURE__*/isValidElement(child) ? child.props : null);
|
|
159
222
|
|
|
160
223
|
_forEachInstanceProperty(list).call(list, item => {
|
|
161
224
|
if (item && !activeKey && !item.disabled) {
|
|
@@ -164,6 +227,9 @@ class Tabs extends BaseComponent {
|
|
|
164
227
|
});
|
|
165
228
|
|
|
166
229
|
return activeKey;
|
|
230
|
+
},
|
|
231
|
+
notifyTabDelete: tabKey => {
|
|
232
|
+
this.props.onTabClose && this.props.onTabClose(tabKey);
|
|
167
233
|
}
|
|
168
234
|
});
|
|
169
235
|
}
|
|
@@ -179,12 +245,12 @@ class Tabs extends BaseComponent {
|
|
|
179
245
|
}
|
|
180
246
|
|
|
181
247
|
componentDidUpdate(prevProps) {
|
|
182
|
-
var
|
|
248
|
+
var _context5, _context6;
|
|
183
249
|
|
|
184
250
|
// Panes state acts on tab bar, no need to compare TabPane children
|
|
185
|
-
const prevChildrenProps = _mapInstanceProperty(
|
|
251
|
+
const prevChildrenProps = _mapInstanceProperty(_context5 = React.Children.toArray(prevProps.children)).call(_context5, child => pick( /*#__PURE__*/isValidElement(child) ? child.props : null, panePickKeys));
|
|
186
252
|
|
|
187
|
-
const nowChildrenProps = _mapInstanceProperty(
|
|
253
|
+
const nowChildrenProps = _mapInstanceProperty(_context6 = React.Children.toArray(this.props.children)).call(_context6, child => pick( /*#__PURE__*/isValidElement(child) ? child.props : null, panePickKeys));
|
|
188
254
|
|
|
189
255
|
const isTabListType = this.props.tabList || prevProps.tabList;
|
|
190
256
|
|
|
@@ -202,7 +268,7 @@ class Tabs extends BaseComponent {
|
|
|
202
268
|
}
|
|
203
269
|
|
|
204
270
|
render() {
|
|
205
|
-
var
|
|
271
|
+
var _context7, _context8;
|
|
206
272
|
|
|
207
273
|
const _a = this.props,
|
|
208
274
|
{
|
|
@@ -230,11 +296,11 @@ class Tabs extends BaseComponent {
|
|
|
230
296
|
} = this.state;
|
|
231
297
|
const tabWrapperCls = cls(className, {
|
|
232
298
|
[cssClasses.TABS]: true,
|
|
233
|
-
[_concatInstanceProperty(
|
|
299
|
+
[_concatInstanceProperty(_context7 = "".concat(cssClasses.TABS, "-")).call(_context7, tabPosition)]: tabPosition
|
|
234
300
|
});
|
|
235
301
|
const tabContentCls = cls({
|
|
236
302
|
[cssClasses.TABS_CONTENT]: true,
|
|
237
|
-
[_concatInstanceProperty(
|
|
303
|
+
[_concatInstanceProperty(_context8 = "".concat(cssClasses.TABS_CONTENT, "-")).call(_context8, tabPosition)]: tabPosition
|
|
238
304
|
});
|
|
239
305
|
const tabBarProps = {
|
|
240
306
|
activeKey,
|
|
@@ -246,7 +312,8 @@ class Tabs extends BaseComponent {
|
|
|
246
312
|
style: tabBarStyle,
|
|
247
313
|
tabBarExtraContent,
|
|
248
314
|
tabPosition,
|
|
249
|
-
type
|
|
315
|
+
type,
|
|
316
|
+
deleteTabItem: this.deleteTabItem
|
|
250
317
|
};
|
|
251
318
|
const tabBar = renderTabBar ? renderTabBar(tabBarProps, TabBar) : /*#__PURE__*/React.createElement(TabBar, _Object$assign({}, tabBarProps));
|
|
252
319
|
const content = keepDOM ? children : this.getActiveItem();
|
|
@@ -291,7 +358,8 @@ Tabs.propTypes = {
|
|
|
291
358
|
tabList: PropTypes.array,
|
|
292
359
|
tabPaneMotion: PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.func]),
|
|
293
360
|
tabPosition: PropTypes.oneOf(strings.POSITION_MAP),
|
|
294
|
-
type: PropTypes.oneOf(strings.TYPE_MAP)
|
|
361
|
+
type: PropTypes.oneOf(strings.TYPE_MAP),
|
|
362
|
+
onTabClose: PropTypes.func
|
|
295
363
|
};
|
|
296
364
|
Tabs.defaultProps = {
|
|
297
365
|
children: [],
|
|
@@ -303,6 +371,7 @@ Tabs.defaultProps = {
|
|
|
303
371
|
size: 'large',
|
|
304
372
|
tabPaneMotion: true,
|
|
305
373
|
tabPosition: 'top',
|
|
306
|
-
type: 'line'
|
|
374
|
+
type: 'line',
|
|
375
|
+
onTabClose: () => undefined
|
|
307
376
|
};
|
|
308
377
|
export default Tabs;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentType, CSSProperties, MouseEvent, ReactNode } from 'react';
|
|
2
2
|
import { Motion } from '../_base/base';
|
|
3
3
|
export declare type TabType = 'line' | 'card' | 'button';
|
|
4
4
|
export declare type TabSize = 'small' | 'medium' | 'large';
|
|
@@ -8,6 +8,7 @@ export interface PlainTab {
|
|
|
8
8
|
icon?: ReactNode;
|
|
9
9
|
itemKey: string;
|
|
10
10
|
tab?: ReactNode;
|
|
11
|
+
closable: boolean;
|
|
11
12
|
}
|
|
12
13
|
export interface TabsProps {
|
|
13
14
|
activeKey?: string;
|
|
@@ -30,6 +31,7 @@ export interface TabsProps {
|
|
|
30
31
|
tabPaneMotion?: boolean;
|
|
31
32
|
tabPosition?: TabPosition;
|
|
32
33
|
type?: TabType;
|
|
34
|
+
onTabClose?: (tabKey: string) => void;
|
|
33
35
|
}
|
|
34
36
|
export interface TabBarProps {
|
|
35
37
|
activeKey?: string;
|
|
@@ -44,6 +46,8 @@ export interface TabBarProps {
|
|
|
44
46
|
type?: TabType;
|
|
45
47
|
dropdownClassName?: string;
|
|
46
48
|
dropdownStyle?: CSSProperties;
|
|
49
|
+
closable?: boolean;
|
|
50
|
+
deleteTabItem?: (tabKey: string, event: MouseEvent<Element>) => void;
|
|
47
51
|
}
|
|
48
52
|
export interface TabPaneProps {
|
|
49
53
|
className?: string;
|
|
@@ -52,6 +56,7 @@ export interface TabPaneProps {
|
|
|
52
56
|
itemKey?: string;
|
|
53
57
|
style?: CSSProperties;
|
|
54
58
|
tab?: ReactNode;
|
|
59
|
+
closable?: boolean;
|
|
55
60
|
}
|
|
56
61
|
export interface TabPaneTransitionProps {
|
|
57
62
|
[key: string]: any;
|
|
@@ -29,6 +29,7 @@ export interface TagInputProps {
|
|
|
29
29
|
onFocus?: (e: React.MouseEvent<HTMLInputElement>) => void;
|
|
30
30
|
onInputChange?: (value: string, e: React.MouseEvent<HTMLInputElement>) => void;
|
|
31
31
|
onInputExceed?: ((value: string) => void);
|
|
32
|
+
onKeyDown?: (e: React.MouseEvent<HTMLInputElement>) => void;
|
|
32
33
|
onRemove?: (removedValue: string, idx: number) => void;
|
|
33
34
|
placeholder?: string;
|
|
34
35
|
prefix?: React.ReactNode;
|
|
@@ -78,6 +79,7 @@ declare class TagInput extends BaseComponent<TagInputProps, TagInputState> {
|
|
|
78
79
|
onInputExceed: PropTypes.Requireable<(...args: any[]) => any>;
|
|
79
80
|
onAdd: PropTypes.Requireable<(...args: any[]) => any>;
|
|
80
81
|
onRemove: PropTypes.Requireable<(...args: any[]) => any>;
|
|
82
|
+
onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
|
|
81
83
|
size: PropTypes.Requireable<"default" | "small" | "large">;
|
|
82
84
|
validateStatus: PropTypes.Requireable<"default" | "error" | "warning">;
|
|
83
85
|
prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
@@ -101,6 +103,7 @@ declare class TagInput extends BaseComponent<TagInputProps, TagInputState> {
|
|
|
101
103
|
onInputExceed: (...args: any[]) => void;
|
|
102
104
|
onAdd: (...args: any[]) => void;
|
|
103
105
|
onRemove: (...args: any[]) => void;
|
|
106
|
+
onKeyDown: (...args: any[]) => void;
|
|
104
107
|
};
|
|
105
108
|
inputRef: React.RefObject<HTMLInputElement>;
|
|
106
109
|
constructor(props: TagInputProps);
|
package/lib/es/tagInput/index.js
CHANGED
|
@@ -112,6 +112,9 @@ class TagInput extends BaseComponent {
|
|
|
112
112
|
},
|
|
113
113
|
notifyTagRemove: (v, idx) => {
|
|
114
114
|
this.props.onRemove(v, idx);
|
|
115
|
+
},
|
|
116
|
+
notifyKeyDown: e => {
|
|
117
|
+
this.props.onKeyDown(e);
|
|
115
118
|
}
|
|
116
119
|
});
|
|
117
120
|
}
|
|
@@ -360,6 +363,7 @@ TagInput.propTypes = {
|
|
|
360
363
|
onInputExceed: PropTypes.func,
|
|
361
364
|
onAdd: PropTypes.func,
|
|
362
365
|
onRemove: PropTypes.func,
|
|
366
|
+
onKeyDown: PropTypes.func,
|
|
363
367
|
size: PropTypes.oneOf(strings.SIZE_SET),
|
|
364
368
|
validateStatus: PropTypes.oneOf(strings.STATUS),
|
|
365
369
|
prefix: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
|
|
@@ -382,6 +386,7 @@ TagInput.defaultProps = {
|
|
|
382
386
|
onExceed: noop,
|
|
383
387
|
onInputExceed: noop,
|
|
384
388
|
onAdd: noop,
|
|
385
|
-
onRemove: noop
|
|
389
|
+
onRemove: noop,
|
|
390
|
+
onKeyDown: noop
|
|
386
391
|
};
|
|
387
392
|
export default TagInput;
|
|
@@ -41,12 +41,11 @@ class Combobox extends BaseComponent {
|
|
|
41
41
|
});
|
|
42
42
|
};
|
|
43
43
|
|
|
44
|
-
this.onItemChange =
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
} = _ref;
|
|
44
|
+
this.onItemChange = ({
|
|
45
|
+
type,
|
|
46
|
+
value,
|
|
47
|
+
disabled
|
|
48
|
+
}) => {
|
|
50
49
|
// eslint-disable-next-line prefer-const
|
|
51
50
|
let {
|
|
52
51
|
onChange,
|
|
@@ -79,18 +79,10 @@ class TimeInput extends BaseComponent {
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
get adapter() {
|
|
82
|
-
var _this = this;
|
|
83
|
-
|
|
84
82
|
return _Object$assign(_Object$assign({}, super.adapter), {
|
|
85
|
-
notifyChange:
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
notifyFocus: function () {
|
|
89
|
-
return _this.props.onFocus(...arguments);
|
|
90
|
-
},
|
|
91
|
-
notifyBlur: function () {
|
|
92
|
-
return _this.props.onBlur(...arguments);
|
|
93
|
-
}
|
|
83
|
+
notifyChange: (...args) => this.props.onChange(...args),
|
|
84
|
+
notifyFocus: (...args) => this.props.onFocus(...args),
|
|
85
|
+
notifyBlur: (...args) => this.props.onBlur(...args)
|
|
94
86
|
});
|
|
95
87
|
}
|
|
96
88
|
|
|
@@ -85,11 +85,11 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
|
|
|
85
85
|
panelFooter: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
86
86
|
prefixCls: PropTypes.Requireable<string>;
|
|
87
87
|
clearText: PropTypes.Requireable<string>;
|
|
88
|
-
value: PropTypes.Requireable<string | number | string[] | number[] | Date
|
|
88
|
+
value: PropTypes.Requireable<string | number | string[] | Date | number[] | Date[]>;
|
|
89
89
|
inputReadOnly: PropTypes.Requireable<boolean>;
|
|
90
90
|
disabled: PropTypes.Requireable<boolean>;
|
|
91
91
|
showClear: PropTypes.Requireable<boolean>;
|
|
92
|
-
defaultValue: PropTypes.Requireable<string | number | string[] | number[] | Date
|
|
92
|
+
defaultValue: PropTypes.Requireable<string | number | string[] | Date | number[] | Date[]>;
|
|
93
93
|
open: PropTypes.Requireable<boolean>;
|
|
94
94
|
defaultOpen: PropTypes.Requireable<boolean>;
|
|
95
95
|
onOpenChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -36,10 +36,7 @@ import '@douyinfe/semi-foundation/lib/es/timePicker/timePicker.css';
|
|
|
36
36
|
import Trigger from '../trigger';
|
|
37
37
|
export default class TimePicker extends BaseComponent {
|
|
38
38
|
constructor(props) {
|
|
39
|
-
var _this;
|
|
40
|
-
|
|
41
39
|
super(props);
|
|
42
|
-
_this = this;
|
|
43
40
|
|
|
44
41
|
this.onCurrentSelectPanelChange = currentSelectPanel => {
|
|
45
42
|
this.setState({
|
|
@@ -51,20 +48,19 @@ export default class TimePicker extends BaseComponent {
|
|
|
51
48
|
|
|
52
49
|
this.handleInput = value => this.foundation.handleInputChange(value);
|
|
53
50
|
|
|
54
|
-
this.createPanelProps =
|
|
55
|
-
let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
51
|
+
this.createPanelProps = (index = 0) => {
|
|
56
52
|
const {
|
|
57
53
|
panels,
|
|
58
54
|
panelFooter,
|
|
59
55
|
panelHeader,
|
|
60
56
|
locale
|
|
61
|
-
} =
|
|
57
|
+
} = this.props;
|
|
62
58
|
const panelProps = {
|
|
63
59
|
panelHeader,
|
|
64
60
|
panelFooter
|
|
65
61
|
};
|
|
66
62
|
|
|
67
|
-
if (
|
|
63
|
+
if (this.adapter.isRangePicker()) {
|
|
68
64
|
const defaultHeaderMap = {
|
|
69
65
|
0: locale.begin,
|
|
70
66
|
1: locale.end
|
|
@@ -110,8 +106,6 @@ export default class TimePicker extends BaseComponent {
|
|
|
110
106
|
}
|
|
111
107
|
|
|
112
108
|
get adapter() {
|
|
113
|
-
var _this2 = this;
|
|
114
|
-
|
|
115
109
|
return _Object$assign(_Object$assign({}, super.adapter), {
|
|
116
110
|
togglePanel: show => {
|
|
117
111
|
this.setState({
|
|
@@ -145,18 +139,10 @@ export default class TimePicker extends BaseComponent {
|
|
|
145
139
|
this.clickOutSideHandler = null;
|
|
146
140
|
}
|
|
147
141
|
},
|
|
148
|
-
notifyOpenChange:
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
return _this2.props.onChange && _this2.props.onChange(...arguments);
|
|
153
|
-
},
|
|
154
|
-
notifyFocus: function () {
|
|
155
|
-
return _this2.props.onFocus && _this2.props.onFocus(...arguments);
|
|
156
|
-
},
|
|
157
|
-
notifyBlur: function () {
|
|
158
|
-
return _this2.props.onBlur && _this2.props.onBlur(...arguments);
|
|
159
|
-
},
|
|
142
|
+
notifyOpenChange: (...args) => this.props.onOpenChange(...args),
|
|
143
|
+
notifyChange: (...args) => this.props.onChange && this.props.onChange(...args),
|
|
144
|
+
notifyFocus: (...args) => this.props.onFocus && this.props.onFocus(...args),
|
|
145
|
+
notifyBlur: (...args) => this.props.onBlur && this.props.onBlur(...args),
|
|
160
146
|
isRangePicker: () => this.props.type === strings.TYPE_TIME_RANGE_PICKER
|
|
161
147
|
});
|
|
162
148
|
}
|
|
@@ -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 };
|
|
@@ -13,11 +13,11 @@ export default class LocaleTimePicker extends React.PureComponent<LocalePickerPr
|
|
|
13
13
|
panelFooter: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
|
|
14
14
|
prefixCls: import("prop-types").Requireable<string>;
|
|
15
15
|
clearText: import("prop-types").Requireable<string>;
|
|
16
|
-
value: import("prop-types").Requireable<string | number | string[] | number[] | Date
|
|
16
|
+
value: import("prop-types").Requireable<string | number | string[] | Date | number[] | Date[]>;
|
|
17
17
|
inputReadOnly: import("prop-types").Requireable<boolean>;
|
|
18
18
|
disabled: import("prop-types").Requireable<boolean>;
|
|
19
19
|
showClear: import("prop-types").Requireable<boolean>;
|
|
20
|
-
defaultValue: import("prop-types").Requireable<string | number | string[] | number[] | Date
|
|
20
|
+
defaultValue: import("prop-types").Requireable<string | number | string[] | Date | number[] | Date[]>;
|
|
21
21
|
open: import("prop-types").Requireable<boolean>;
|
|
22
22
|
defaultOpen: import("prop-types").Requireable<boolean>;
|
|
23
23
|
onOpenChange: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
@@ -9,21 +9,18 @@ export default class LocaleTimePicker extends React.PureComponent {
|
|
|
9
9
|
const {
|
|
10
10
|
type
|
|
11
11
|
} = this.props;
|
|
12
|
-
return /*#__PURE__*/React.createElement(ConfigContext.Consumer, null,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
dateFnsLocale: dateFnsLocale
|
|
25
|
-
})));
|
|
26
|
-
});
|
|
12
|
+
return /*#__PURE__*/React.createElement(ConfigContext.Consumer, null, ({
|
|
13
|
+
timeZone
|
|
14
|
+
}) => /*#__PURE__*/React.createElement(LocaleConsumer, {
|
|
15
|
+
componentName: "TimePicker"
|
|
16
|
+
}, (locale, localeCode, dateFnsLocale) => /*#__PURE__*/React.createElement(BaseTimePicker, _Object$assign({
|
|
17
|
+
timeZone: timeZone,
|
|
18
|
+
placeholder: get(locale, ['placeholder', type])
|
|
19
|
+
}, this.props, {
|
|
20
|
+
locale: locale,
|
|
21
|
+
localeCode: localeCode,
|
|
22
|
+
dateFnsLocale: dateFnsLocale
|
|
23
|
+
}))));
|
|
27
24
|
}
|
|
28
25
|
|
|
29
26
|
}
|
|
@@ -2,8 +2,7 @@ import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign"
|
|
|
2
2
|
// @ts-ignore Currently there is no types for semi-animation-react
|
|
3
3
|
import { Transition } from '@douyinfe/semi-animation-react';
|
|
4
4
|
import React from 'react';
|
|
5
|
-
export default function ToastTransition() {
|
|
6
|
-
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
5
|
+
export default function ToastTransition(props = {}) {
|
|
7
6
|
let {
|
|
8
7
|
motion = {}
|
|
9
8
|
} = props;
|
|
@@ -43,14 +42,11 @@ export default function ToastTransition() {
|
|
|
43
42
|
duration: 200
|
|
44
43
|
}
|
|
45
44
|
}
|
|
46
|
-
}, motion), typeof props.children === 'function' ?
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
opacity
|
|
54
|
-
});
|
|
55
|
-
} : props.children);
|
|
45
|
+
}, motion), typeof props.children === 'function' ? ({
|
|
46
|
+
translateY,
|
|
47
|
+
opacity
|
|
48
|
+
}) => props.children({
|
|
49
|
+
transform: "translateY(".concat(translateY, "%)"),
|
|
50
|
+
opacity
|
|
51
|
+
}) : props.children);
|
|
56
52
|
}
|
|
@@ -23,12 +23,9 @@ function usePatchElement() {
|
|
|
23
23
|
config
|
|
24
24
|
}, ...originElements]);
|
|
25
25
|
return id => {
|
|
26
|
-
setElements(originElements => _filterInstanceProperty(originElements).call(originElements,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
} = _ref;
|
|
30
|
-
return configOfCurrentElement.id !== id;
|
|
31
|
-
}));
|
|
26
|
+
setElements(originElements => _filterInstanceProperty(originElements).call(originElements, ({
|
|
27
|
+
config: configOfCurrentElement
|
|
28
|
+
}) => configOfCurrentElement.id !== id));
|
|
32
29
|
};
|
|
33
30
|
}
|
|
34
31
|
|
|
@@ -10,8 +10,7 @@ import getMotionObjFromProps from '@douyinfe/semi-foundation/lib/es/utils/getMot
|
|
|
10
10
|
const enterCls = "".concat(cssClasses.PREFIX, "-bounceIn");
|
|
11
11
|
const leaveCls = "".concat(cssClasses.PREFIX, "-zoomOut");
|
|
12
12
|
|
|
13
|
-
const TooltipTransition =
|
|
14
|
-
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13
|
+
const TooltipTransition = (props = {}) => {
|
|
15
14
|
const {
|
|
16
15
|
children
|
|
17
16
|
} = props;
|
|
@@ -20,18 +19,15 @@ const TooltipTransition = function () {
|
|
|
20
19
|
enter: enterCls,
|
|
21
20
|
leave: leaveCls,
|
|
22
21
|
duration: '100ms'
|
|
23
|
-
}, motion), typeof children === 'function' ?
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
animateStyle
|
|
33
|
-
});
|
|
34
|
-
} : children);
|
|
22
|
+
}, motion), typeof children === 'function' ? ({
|
|
23
|
+
animateCls,
|
|
24
|
+
animateEvents,
|
|
25
|
+
animateStyle
|
|
26
|
+
}) => children({
|
|
27
|
+
animateCls,
|
|
28
|
+
animateEvents,
|
|
29
|
+
animateStyle
|
|
30
|
+
}) : children);
|
|
35
31
|
};
|
|
36
32
|
|
|
37
33
|
export default TooltipTransition;
|
|
@@ -31,6 +31,7 @@ export interface TooltipProps extends BaseProps {
|
|
|
31
31
|
content?: React.ReactNode;
|
|
32
32
|
prefixCls?: string;
|
|
33
33
|
onVisibleChange?: (visible: boolean) => void;
|
|
34
|
+
onClickOutSide?: (e: React.MouseEvent) => void;
|
|
34
35
|
spacing?: number;
|
|
35
36
|
showArrow?: boolean | React.ReactNode;
|
|
36
37
|
zIndex?: number;
|
|
@@ -77,6 +78,7 @@ export default class Tooltip extends BaseComponent<TooltipProps, TooltipState> {
|
|
|
77
78
|
content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
78
79
|
prefixCls: PropTypes.Requireable<string>;
|
|
79
80
|
onVisibleChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
81
|
+
onClickOutSide: PropTypes.Requireable<(...args: any[]) => any>;
|
|
80
82
|
spacing: PropTypes.Requireable<number>;
|
|
81
83
|
showArrow: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
82
84
|
zIndex: PropTypes.Requireable<number>;
|
|
@@ -105,6 +107,7 @@ export default class Tooltip extends BaseComponent<TooltipProps, TooltipState> {
|
|
|
105
107
|
mouseEnterDelay: 50;
|
|
106
108
|
mouseLeaveDelay: 50;
|
|
107
109
|
onVisibleChange: (...args: any[]) => void;
|
|
110
|
+
onClickOutSide: (...args: any[]) => void;
|
|
108
111
|
spacing: 8;
|
|
109
112
|
showArrow: boolean;
|
|
110
113
|
arrowBounding: {
|