@douyinfe/semi-ui 2.48.0-beta.0 → 2.49.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/semi.css +4 -0
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +92 -53
- 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/cjs/banner/index.d.ts +2 -2
- package/lib/cjs/banner/index.js +2 -2
- package/lib/cjs/breadcrumb/item.d.ts +1 -1
- package/lib/cjs/breadcrumb/item.js +1 -1
- package/lib/cjs/calendar/dayCalendar.d.ts +1 -0
- package/lib/cjs/calendar/dayCalendar.js +4 -1
- package/lib/cjs/calendar/dayCol.d.ts +2 -0
- package/lib/cjs/calendar/dayCol.js +6 -6
- package/lib/cjs/calendar/index.d.ts +1 -0
- package/lib/cjs/calendar/index.js +1 -0
- package/lib/cjs/calendar/interface.d.ts +2 -1
- package/lib/cjs/calendar/rangeCalendar.js +4 -2
- package/lib/cjs/calendar/weekCalendar.js +4 -2
- package/lib/cjs/dropdown/dropdownItem.js +2 -1
- package/lib/cjs/form/baseForm.js +2 -2
- package/lib/cjs/modal/Modal.d.ts +1 -1
- package/lib/cjs/modal/Modal.js +1 -1
- package/lib/cjs/navigation/SubNav.d.ts +1 -1
- package/lib/cjs/navigation/SubNav.js +1 -1
- package/lib/cjs/popconfirm/index.d.ts +1 -1
- package/lib/cjs/popconfirm/index.js +1 -1
- package/lib/cjs/select/utils.d.ts +1 -1
- package/lib/cjs/select/utils.js +16 -4
- package/lib/cjs/sideSheet/SideSheetContent.d.ts +3 -1
- package/lib/cjs/sideSheet/SideSheetContent.js +6 -3
- package/lib/cjs/table/Body/BaseRow.d.ts +3 -0
- package/lib/cjs/table/Body/BaseRow.js +4 -1
- package/lib/cjs/table/Body/ExpandedRow.d.ts +1 -0
- package/lib/cjs/table/Body/ExpandedRow.js +4 -2
- package/lib/cjs/table/Body/index.d.ts +3 -0
- package/lib/cjs/table/Body/index.js +18 -10
- package/lib/cjs/table/interface.d.ts +1 -0
- package/lib/cjs/timePicker/TimePicker.d.ts +3 -0
- package/lib/cjs/timePicker/TimePicker.js +7 -3
- package/lib/cjs/timePicker/index.d.ts +2 -0
- package/lib/cjs/toast/toast.d.ts +1 -1
- package/lib/cjs/toast/toast.js +1 -1
- package/lib/cjs/typography/util.js +5 -6
- package/lib/es/banner/index.d.ts +2 -2
- package/lib/es/banner/index.js +2 -2
- package/lib/es/breadcrumb/item.d.ts +1 -1
- package/lib/es/breadcrumb/item.js +1 -1
- package/lib/es/calendar/dayCalendar.d.ts +1 -0
- package/lib/es/calendar/dayCalendar.js +4 -1
- package/lib/es/calendar/dayCol.d.ts +2 -0
- package/lib/es/calendar/dayCol.js +6 -6
- package/lib/es/calendar/index.d.ts +1 -0
- package/lib/es/calendar/index.js +1 -0
- package/lib/es/calendar/interface.d.ts +2 -1
- package/lib/es/calendar/rangeCalendar.js +4 -2
- package/lib/es/calendar/weekCalendar.js +4 -2
- package/lib/es/dropdown/dropdownItem.js +2 -1
- package/lib/es/form/baseForm.js +2 -2
- package/lib/es/modal/Modal.d.ts +1 -1
- package/lib/es/modal/Modal.js +1 -1
- package/lib/es/navigation/SubNav.d.ts +1 -1
- package/lib/es/navigation/SubNav.js +1 -1
- package/lib/es/popconfirm/index.d.ts +1 -1
- package/lib/es/popconfirm/index.js +1 -1
- package/lib/es/select/utils.d.ts +1 -1
- package/lib/es/select/utils.js +16 -4
- package/lib/es/sideSheet/SideSheetContent.d.ts +3 -1
- package/lib/es/sideSheet/SideSheetContent.js +6 -3
- package/lib/es/table/Body/BaseRow.d.ts +3 -0
- package/lib/es/table/Body/BaseRow.js +4 -1
- package/lib/es/table/Body/ExpandedRow.d.ts +1 -0
- package/lib/es/table/Body/ExpandedRow.js +4 -2
- package/lib/es/table/Body/index.d.ts +3 -0
- package/lib/es/table/Body/index.js +18 -10
- package/lib/es/table/interface.d.ts +1 -0
- package/lib/es/timePicker/TimePicker.d.ts +3 -0
- package/lib/es/timePicker/TimePicker.js +7 -3
- package/lib/es/timePicker/index.d.ts +2 -0
- package/lib/es/toast/toast.d.ts +1 -1
- package/lib/es/toast/toast.js +1 -1
- package/lib/es/typography/util.js +5 -6
- package/package.json +8 -8
|
@@ -26,8 +26,8 @@ export default class Banner extends BaseComponent<BannerProps, BannerState> {
|
|
|
26
26
|
type: PropTypes.Requireable<string>;
|
|
27
27
|
title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
28
28
|
description: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
29
|
-
icon: PropTypes.Requireable<
|
|
30
|
-
closeIcon: PropTypes.Requireable<
|
|
29
|
+
icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
30
|
+
closeIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
31
31
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
32
32
|
style: PropTypes.Requireable<object>;
|
|
33
33
|
className: PropTypes.Requireable<string>;
|
package/lib/cjs/banner/index.js
CHANGED
|
@@ -167,8 +167,8 @@ Banner.propTypes = {
|
|
|
167
167
|
type: _propTypes.default.oneOf(types),
|
|
168
168
|
title: _propTypes.default.node,
|
|
169
169
|
description: _propTypes.default.node,
|
|
170
|
-
icon: _propTypes.default.
|
|
171
|
-
closeIcon: _propTypes.default.
|
|
170
|
+
icon: _propTypes.default.node,
|
|
171
|
+
closeIcon: _propTypes.default.node,
|
|
172
172
|
children: _propTypes.default.node,
|
|
173
173
|
style: _propTypes.default.object,
|
|
174
174
|
className: _propTypes.default.string,
|
|
@@ -29,7 +29,7 @@ export default class BreadcrumbItem extends BaseComponent<BreadcrumbItemProps, B
|
|
|
29
29
|
children: propTypes.Requireable<propTypes.ReactNodeLike>;
|
|
30
30
|
active: propTypes.Requireable<boolean>;
|
|
31
31
|
shouldRenderSeparator: propTypes.Requireable<boolean>;
|
|
32
|
-
icon: propTypes.Requireable<
|
|
32
|
+
icon: propTypes.Requireable<propTypes.ReactNodeLike>;
|
|
33
33
|
separator: propTypes.Requireable<propTypes.ReactNodeLike>;
|
|
34
34
|
noLink: propTypes.Requireable<boolean>;
|
|
35
35
|
};
|
|
@@ -188,7 +188,7 @@ BreadcrumbItem.propTypes = {
|
|
|
188
188
|
children: _propTypes.default.node,
|
|
189
189
|
active: _propTypes.default.bool,
|
|
190
190
|
shouldRenderSeparator: _propTypes.default.bool,
|
|
191
|
-
icon: _propTypes.default.
|
|
191
|
+
icon: _propTypes.default.node,
|
|
192
192
|
separator: _propTypes.default.node,
|
|
193
193
|
noLink: _propTypes.default.bool
|
|
194
194
|
};
|
|
@@ -20,6 +20,7 @@ export default class DayCalendar extends BaseComponent<DayCalendarProps, DayCale
|
|
|
20
20
|
mode: PropTypes.Requireable<string>;
|
|
21
21
|
renderTimeDisplay: PropTypes.Requireable<(...args: any[]) => any>;
|
|
22
22
|
markWeekend: PropTypes.Requireable<boolean>;
|
|
23
|
+
minEventHeight: PropTypes.Requireable<number>;
|
|
23
24
|
scrollTop: PropTypes.Requireable<number>;
|
|
24
25
|
width: PropTypes.Requireable<NonNullable<string | number>>;
|
|
25
26
|
height: PropTypes.Requireable<NonNullable<string | number>>;
|
|
@@ -125,7 +125,8 @@ class DayCalendar extends _baseComponent.default {
|
|
|
125
125
|
height,
|
|
126
126
|
width,
|
|
127
127
|
style,
|
|
128
|
-
header
|
|
128
|
+
header,
|
|
129
|
+
minEventHeight
|
|
129
130
|
} = this.props;
|
|
130
131
|
const dayCls = (0, _classnames.default)(prefixCls, className);
|
|
131
132
|
const dayStyle = Object.assign({
|
|
@@ -158,6 +159,7 @@ class DayCalendar extends _baseComponent.default {
|
|
|
158
159
|
handleClick: this.handleClick,
|
|
159
160
|
showCurrTime: showCurrTime,
|
|
160
161
|
isWeekend: this.isWeekend,
|
|
162
|
+
minEventHeight: minEventHeight,
|
|
161
163
|
dateGridRender: dateGridRender
|
|
162
164
|
}))));
|
|
163
165
|
}
|
|
@@ -172,6 +174,7 @@ DayCalendar.propTypes = {
|
|
|
172
174
|
mode: _propTypes.default.string,
|
|
173
175
|
renderTimeDisplay: _propTypes.default.func,
|
|
174
176
|
markWeekend: _propTypes.default.bool,
|
|
177
|
+
minEventHeight: _propTypes.default.number,
|
|
175
178
|
scrollTop: _propTypes.default.number,
|
|
176
179
|
width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
177
180
|
height: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
@@ -17,6 +17,7 @@ export default class DayCol extends BaseComponent<DayColProps, DayColState> {
|
|
|
17
17
|
currPos: PropTypes.Requireable<number>;
|
|
18
18
|
handleClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
19
19
|
mode: PropTypes.Requireable<string>;
|
|
20
|
+
minEventHeight: PropTypes.Requireable<number>;
|
|
20
21
|
isWeekend: PropTypes.Requireable<boolean>;
|
|
21
22
|
dateGridRender: PropTypes.Requireable<(...args: any[]) => any>;
|
|
22
23
|
};
|
|
@@ -26,6 +27,7 @@ export default class DayCol extends BaseComponent<DayColProps, DayColState> {
|
|
|
26
27
|
scrollHeight: number;
|
|
27
28
|
currPos: number;
|
|
28
29
|
mode: string;
|
|
30
|
+
minEventHeight: number;
|
|
29
31
|
};
|
|
30
32
|
static contextType: React.Context<import("../locale/interface").Locale>;
|
|
31
33
|
foundation: CalendarFoundation;
|
|
@@ -25,7 +25,8 @@ class DayCol extends _baseComponent.default {
|
|
|
25
25
|
this.renderEvents = () => {
|
|
26
26
|
const {
|
|
27
27
|
events,
|
|
28
|
-
scrollHeight
|
|
28
|
+
scrollHeight,
|
|
29
|
+
minEventHeight
|
|
29
30
|
} = this.props;
|
|
30
31
|
const list = events.map((event, ind) => {
|
|
31
32
|
const {
|
|
@@ -36,12 +37,9 @@ class DayCol extends _baseComponent.default {
|
|
|
36
37
|
} = event;
|
|
37
38
|
const top = startPos * scrollHeight;
|
|
38
39
|
const height = (endPos - startPos) * scrollHeight;
|
|
39
|
-
if (!height) {
|
|
40
|
-
return undefined;
|
|
41
|
-
}
|
|
42
40
|
const style = {
|
|
43
41
|
top: `${top}px`,
|
|
44
|
-
height: `${height}px`
|
|
42
|
+
height: `${Math.max(minEventHeight, height)}px`
|
|
45
43
|
};
|
|
46
44
|
return /*#__PURE__*/_react.default.createElement("li", {
|
|
47
45
|
className: `${_constants.cssClasses.PREFIX}-event-item ${_constants.cssClasses.PREFIX}-event-day`,
|
|
@@ -156,6 +154,7 @@ DayCol.propTypes = {
|
|
|
156
154
|
currPos: _propTypes.default.number,
|
|
157
155
|
handleClick: _propTypes.default.func,
|
|
158
156
|
mode: _propTypes.default.string,
|
|
157
|
+
minEventHeight: _propTypes.default.number,
|
|
159
158
|
isWeekend: _propTypes.default.bool,
|
|
160
159
|
dateGridRender: _propTypes.default.func
|
|
161
160
|
};
|
|
@@ -164,6 +163,7 @@ DayCol.defaultProps = {
|
|
|
164
163
|
showCurrTime: true,
|
|
165
164
|
scrollHeight: 0,
|
|
166
165
|
currPos: 0,
|
|
167
|
-
mode: 'dayCol'
|
|
166
|
+
mode: 'dayCol',
|
|
167
|
+
minEventHeight: Number.MIN_SAFE_INTEGER
|
|
168
168
|
};
|
|
169
169
|
DayCol.contextType = _context.default;
|
|
@@ -24,6 +24,7 @@ declare class Calendar extends BaseComponent<CalendarProps, {}> {
|
|
|
24
24
|
renderTimeDisplay: PropTypes.Requireable<(...args: any[]) => any>;
|
|
25
25
|
renderDateDisplay: PropTypes.Requireable<(...args: any[]) => any>;
|
|
26
26
|
markWeekend: PropTypes.Requireable<boolean>;
|
|
27
|
+
minEventHeight: PropTypes.Requireable<number>;
|
|
27
28
|
width: PropTypes.Requireable<NonNullable<string | number>>;
|
|
28
29
|
height: PropTypes.Requireable<NonNullable<string | number>>;
|
|
29
30
|
style: PropTypes.Requireable<object>;
|
|
@@ -69,6 +69,7 @@ Calendar.propTypes = {
|
|
|
69
69
|
renderTimeDisplay: _propTypes.default.func,
|
|
70
70
|
renderDateDisplay: _propTypes.default.func,
|
|
71
71
|
markWeekend: _propTypes.default.bool,
|
|
72
|
+
minEventHeight: _propTypes.default.number,
|
|
72
73
|
width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
73
74
|
height: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
|
|
74
75
|
style: _propTypes.default.object,
|
|
@@ -16,6 +16,7 @@ export interface CalendarProps extends BaseProps {
|
|
|
16
16
|
onClose?: (e: React.MouseEvent) => void;
|
|
17
17
|
renderTimeDisplay?: (time: number) => React.ReactNode;
|
|
18
18
|
markWeekend?: boolean;
|
|
19
|
+
minEventHeight?: number;
|
|
19
20
|
width?: number | string;
|
|
20
21
|
height?: number | string;
|
|
21
22
|
renderDateDisplay?: (date: Date) => React.ReactNode;
|
|
@@ -23,7 +24,7 @@ export interface CalendarProps extends BaseProps {
|
|
|
23
24
|
allDayEventsRender?: (events: EventObject[]) => React.ReactNode;
|
|
24
25
|
}
|
|
25
26
|
export type DayCalendarProps = Omit<CalendarProps, 'mode'>;
|
|
26
|
-
type DayCalendarPropsKeys = 'events' | 'displayValue' | 'showCurrTime' | 'mode' | 'dateGridRender';
|
|
27
|
+
type DayCalendarPropsKeys = 'events' | 'displayValue' | 'showCurrTime' | 'mode' | 'dateGridRender' | 'minEventHeight';
|
|
27
28
|
export interface DayColProps extends Pick<CalendarProps, DayCalendarPropsKeys>, BaseProps {
|
|
28
29
|
scrollHeight: number;
|
|
29
30
|
currPos: number;
|
|
@@ -46,7 +46,8 @@ class RangeCalendar extends _baseComponent.default {
|
|
|
46
46
|
} = this.RangeData;
|
|
47
47
|
const {
|
|
48
48
|
markWeekend,
|
|
49
|
-
dateGridRender
|
|
49
|
+
dateGridRender,
|
|
50
|
+
minEventHeight
|
|
50
51
|
} = this.props;
|
|
51
52
|
const inner = week.map(day => {
|
|
52
53
|
const dateString = day.date.toString();
|
|
@@ -60,7 +61,8 @@ class RangeCalendar extends _baseComponent.default {
|
|
|
60
61
|
events: parsed.day,
|
|
61
62
|
showCurrTime: this.props.showCurrTime,
|
|
62
63
|
isWeekend: markWeekend && day.isWeekend,
|
|
63
|
-
dateGridRender: dateGridRender
|
|
64
|
+
dateGridRender: dateGridRender,
|
|
65
|
+
minEventHeight: minEventHeight
|
|
64
66
|
});
|
|
65
67
|
});
|
|
66
68
|
return inner;
|
|
@@ -47,7 +47,8 @@ class WeekCalendar extends _baseComponent.default {
|
|
|
47
47
|
} = this.weeklyData;
|
|
48
48
|
const {
|
|
49
49
|
markWeekend,
|
|
50
|
-
dateGridRender
|
|
50
|
+
dateGridRender,
|
|
51
|
+
minEventHeight
|
|
51
52
|
} = this.props;
|
|
52
53
|
const inner = week.map(day => {
|
|
53
54
|
const dateString = day.date.toString();
|
|
@@ -61,7 +62,8 @@ class WeekCalendar extends _baseComponent.default {
|
|
|
61
62
|
events: parsed.day,
|
|
62
63
|
showCurrTime: this.props.showCurrTime,
|
|
63
64
|
isWeekend: markWeekend && day.isWeekend,
|
|
64
|
-
dateGridRender: dateGridRender
|
|
65
|
+
dateGridRender: dateGridRender,
|
|
66
|
+
minEventHeight: minEventHeight
|
|
65
67
|
});
|
|
66
68
|
});
|
|
67
69
|
return inner;
|
|
@@ -46,8 +46,9 @@ class DropdownItem extends _baseComponent.default {
|
|
|
46
46
|
['onClick', 'onMouseEnter', 'onMouseLeave', 'onContextMenu'].forEach(eventName => {
|
|
47
47
|
if (eventName === "onClick") {
|
|
48
48
|
events["onMouseDown"] = e => {
|
|
49
|
+
var _a, _b;
|
|
49
50
|
if (e.button === 0) {
|
|
50
|
-
this.props[eventName](e);
|
|
51
|
+
(_b = (_a = this.props)[eventName]) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
51
52
|
}
|
|
52
53
|
};
|
|
53
54
|
} else {
|
package/lib/cjs/form/baseForm.js
CHANGED
|
@@ -181,7 +181,7 @@ class Form extends _baseComponent.default {
|
|
|
181
181
|
[prefix + '-vertical']: layout === 'vertical',
|
|
182
182
|
[prefix + '-horizontal']: layout === 'horizontal'
|
|
183
183
|
});
|
|
184
|
-
const
|
|
184
|
+
const shouldAppendRow = wrapperCol && labelCol;
|
|
185
185
|
const formContent = /*#__PURE__*/_react.default.createElement("form", Object.assign({
|
|
186
186
|
style: style
|
|
187
187
|
}, rest, {
|
|
@@ -197,7 +197,7 @@ class Form extends _baseComponent.default {
|
|
|
197
197
|
value: this.formApi
|
|
198
198
|
}, /*#__PURE__*/_react.default.createElement(_context.FormStateContext.Provider, {
|
|
199
199
|
value: formState
|
|
200
|
-
},
|
|
200
|
+
}, shouldAppendRow ? withRowForm : formContent)));
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
Form.propTypes = {
|
package/lib/cjs/modal/Modal.d.ts
CHANGED
|
@@ -59,7 +59,7 @@ declare class Modal extends BaseComponent<ModalReactProps, ModalState> {
|
|
|
59
59
|
getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
|
|
60
60
|
getContainerContext: PropTypes.Requireable<(...args: any[]) => any>;
|
|
61
61
|
maskFixed: PropTypes.Requireable<boolean>;
|
|
62
|
-
closeIcon: PropTypes.Requireable<
|
|
62
|
+
closeIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
63
63
|
closeOnEsc: PropTypes.Requireable<boolean>;
|
|
64
64
|
size: PropTypes.Requireable<string>;
|
|
65
65
|
keepDOM: PropTypes.Requireable<boolean>;
|
package/lib/cjs/modal/Modal.js
CHANGED
|
@@ -303,7 +303,7 @@ Modal.propTypes = {
|
|
|
303
303
|
getPopupContainer: _propTypes.default.func,
|
|
304
304
|
getContainerContext: _propTypes.default.func,
|
|
305
305
|
maskFixed: _propTypes.default.bool,
|
|
306
|
-
closeIcon: _propTypes.default.
|
|
306
|
+
closeIcon: _propTypes.default.node,
|
|
307
307
|
closeOnEsc: _propTypes.default.bool,
|
|
308
308
|
size: _propTypes.default.oneOf(_constants.strings.SIZE),
|
|
309
309
|
keepDOM: _propTypes.default.bool,
|
|
@@ -53,7 +53,7 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
|
|
|
53
53
|
/**
|
|
54
54
|
* Icon name on the left
|
|
55
55
|
*/
|
|
56
|
-
icon: PropTypes.Requireable<
|
|
56
|
+
icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
57
57
|
/**
|
|
58
58
|
* Maximum height (for animation)
|
|
59
59
|
*/
|
|
@@ -46,7 +46,7 @@ export default class Popconfirm extends BaseComponent<PopconfirmProps, Popconfir
|
|
|
46
46
|
prefixCls: PropTypes.Requireable<string>;
|
|
47
47
|
className: PropTypes.Requireable<string>;
|
|
48
48
|
style: PropTypes.Requireable<object>;
|
|
49
|
-
icon: PropTypes.Requireable<
|
|
49
|
+
icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
50
50
|
okText: PropTypes.Requireable<string>;
|
|
51
51
|
okType: PropTypes.Requireable<string>;
|
|
52
52
|
cancelText: PropTypes.Requireable<string>;
|
|
@@ -241,7 +241,7 @@ Popconfirm.propTypes = {
|
|
|
241
241
|
prefixCls: _propTypes.default.string,
|
|
242
242
|
className: _propTypes.default.string,
|
|
243
243
|
style: _propTypes.default.object,
|
|
244
|
-
icon: _propTypes.default.
|
|
244
|
+
icon: _propTypes.default.node,
|
|
245
245
|
okText: _propTypes.default.string,
|
|
246
246
|
okType: _propTypes.default.string,
|
|
247
247
|
cancelText: _propTypes.default.string,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { OptionProps } from './option';
|
|
3
3
|
import { OptionGroupProps } from './optionGroup';
|
|
4
|
-
declare const generateOption: (child: React.ReactElement, parent: any, index: number) => OptionProps;
|
|
4
|
+
declare const generateOption: (child: React.ReactElement, parent: any, index: number, newKey?: string | number) => OptionProps;
|
|
5
5
|
declare const getOptionsFromGroup: (selectChildren: React.ReactNode) => {
|
|
6
6
|
optionGroups: OptionGroupProps[];
|
|
7
7
|
options: OptionProps[];
|
package/lib/cjs/select/utils.js
CHANGED
|
@@ -15,7 +15,7 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
15
15
|
}
|
|
16
16
|
return t;
|
|
17
17
|
};
|
|
18
|
-
const generateOption = (child, parent, index) => {
|
|
18
|
+
const generateOption = (child, parent, index, newKey) => {
|
|
19
19
|
const childProps = child.props;
|
|
20
20
|
if (!child || !childProps) {
|
|
21
21
|
return null;
|
|
@@ -33,7 +33,7 @@ const generateOption = (child, parent, index) => {
|
|
|
33
33
|
// Props are collected from ReactNode, after React.Children.toArray
|
|
34
34
|
// no need to determine whether the key exists in child
|
|
35
35
|
// Even if the user does not explicitly declare it, React will always generate a key.
|
|
36
|
-
option._keyInJsx = child.key;
|
|
36
|
+
option._keyInJsx = newKey || child.key;
|
|
37
37
|
return option;
|
|
38
38
|
};
|
|
39
39
|
exports.generateOption = generateOption;
|
|
@@ -65,10 +65,22 @@ const getOptionsFromGroup = selectChildren => {
|
|
|
65
65
|
children
|
|
66
66
|
} = _a,
|
|
67
67
|
restGroupProps = __rest(_a, ["children"]);
|
|
68
|
+
let originKeys = [];
|
|
69
|
+
if (Array.isArray(children)) {
|
|
70
|
+
// if group has children > 1
|
|
71
|
+
originKeys = children.map(item => item.key);
|
|
72
|
+
} else {
|
|
73
|
+
originKeys.push(children.key);
|
|
74
|
+
}
|
|
68
75
|
children = _react.default.Children.toArray(children);
|
|
69
|
-
const childrenOption = children.map(option => {
|
|
76
|
+
const childrenOption = children.map((option, index) => {
|
|
77
|
+
let newKey = option.key;
|
|
78
|
+
if (originKeys[index] === null) {
|
|
79
|
+
newKey = child.key + '' + option.key; // if option in group and didn't set key, concat parent key to avoid conflict (default generate key just like .0, .1)
|
|
80
|
+
}
|
|
81
|
+
|
|
70
82
|
optionIndex++;
|
|
71
|
-
return generateOption(option, restGroupProps, optionIndex);
|
|
83
|
+
return generateOption(option, restGroupProps, optionIndex, newKey);
|
|
72
84
|
});
|
|
73
85
|
const group = Object.assign(Object.assign({}, child.props), {
|
|
74
86
|
children: childrenOption,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import React, { CSSProperties } from 'react';
|
|
1
|
+
import React, { CSSProperties, ReactNode } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { SideSheetProps } from '@douyinfe/semi-foundation/lib/cjs/sideSheet/sideSheetFoundation';
|
|
4
4
|
export interface SideSheetContentProps {
|
|
5
5
|
onClose?: (e: React.MouseEvent) => void;
|
|
6
|
+
closeIcon?: ReactNode;
|
|
6
7
|
mask?: boolean;
|
|
7
8
|
maskStyle?: CSSProperties;
|
|
8
9
|
maskClosable?: boolean;
|
|
@@ -30,6 +31,7 @@ export interface SideSheetContentProps {
|
|
|
30
31
|
export default class SideSheetContent extends React.PureComponent<SideSheetContentProps> {
|
|
31
32
|
static propTypes: {
|
|
32
33
|
onClose: PropTypes.Requireable<(...args: any[]) => any>;
|
|
34
|
+
closeIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
33
35
|
};
|
|
34
36
|
static defaultProps: {
|
|
35
37
|
onClose: (...args: any[]) => void;
|
|
@@ -66,7 +66,8 @@ class SideSheetContent extends _react.default.PureComponent {
|
|
|
66
66
|
const {
|
|
67
67
|
title,
|
|
68
68
|
closable,
|
|
69
|
-
headerStyle
|
|
69
|
+
headerStyle,
|
|
70
|
+
closeIcon
|
|
70
71
|
} = this.props;
|
|
71
72
|
let header, closer;
|
|
72
73
|
if (title) {
|
|
@@ -76,12 +77,13 @@ class SideSheetContent extends _react.default.PureComponent {
|
|
|
76
77
|
}, this.props.title);
|
|
77
78
|
}
|
|
78
79
|
if (closable) {
|
|
80
|
+
const iconType = closeIcon || /*#__PURE__*/_react.default.createElement(_semiIcons.IconClose, null);
|
|
79
81
|
closer = /*#__PURE__*/_react.default.createElement(_iconButton.default, {
|
|
80
82
|
className: `${prefixCls}-close`,
|
|
81
83
|
key: "close-btn",
|
|
82
84
|
onClick: this.close,
|
|
83
85
|
type: "tertiary",
|
|
84
|
-
icon:
|
|
86
|
+
icon: iconType,
|
|
85
87
|
theme: "borderless",
|
|
86
88
|
size: "small"
|
|
87
89
|
});
|
|
@@ -168,7 +170,8 @@ class SideSheetContent extends _react.default.PureComponent {
|
|
|
168
170
|
}
|
|
169
171
|
exports.default = SideSheetContent;
|
|
170
172
|
SideSheetContent.propTypes = {
|
|
171
|
-
onClose: _propTypes.default.func
|
|
173
|
+
onClose: _propTypes.default.func,
|
|
174
|
+
closeIcon: _propTypes.default.node
|
|
172
175
|
};
|
|
173
176
|
SideSheetContent.defaultProps = {
|
|
174
177
|
onClose: _noop2.default
|
|
@@ -43,6 +43,8 @@ export interface BaseRowProps {
|
|
|
43
43
|
style?: React.CSSProperties;
|
|
44
44
|
virtualized?: Virtualized;
|
|
45
45
|
visible: boolean;
|
|
46
|
+
/** whether display none */
|
|
47
|
+
displayNone?: boolean;
|
|
46
48
|
}
|
|
47
49
|
export default class TableRow extends BaseComponent<BaseRowProps, Record<string, any>> {
|
|
48
50
|
static propTypes: {
|
|
@@ -55,6 +57,7 @@ export default class TableRow extends BaseComponent<BaseRowProps, Record<string,
|
|
|
55
57
|
expandIcon: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike | ((...args: any[]) => any)>>;
|
|
56
58
|
expandableRow: PropTypes.Requireable<boolean>;
|
|
57
59
|
expanded: PropTypes.Requireable<boolean>;
|
|
60
|
+
displayNone: PropTypes.Requireable<boolean>;
|
|
58
61
|
expandedRow: PropTypes.Requireable<boolean>;
|
|
59
62
|
fixed: PropTypes.Requireable<NonNullable<string | boolean>>;
|
|
60
63
|
height: PropTypes.Requireable<NonNullable<string | number>>;
|
|
@@ -221,6 +221,7 @@ class TableRow extends _baseComponent.default {
|
|
|
221
221
|
record,
|
|
222
222
|
hovered,
|
|
223
223
|
expanded,
|
|
224
|
+
displayNone,
|
|
224
225
|
expandableRow,
|
|
225
226
|
level,
|
|
226
227
|
expandedRow,
|
|
@@ -238,7 +239,8 @@ class TableRow extends _baseComponent.default {
|
|
|
238
239
|
const rowCls = typeof replaceClassName === 'string' && replaceClassName.length ? replaceClassName : (0, _classnames.default)(className, `${prefixCls}-row`, {
|
|
239
240
|
[`${prefixCls}-row-selected`]: selected,
|
|
240
241
|
[`${prefixCls}-row-expanded`]: expanded,
|
|
241
|
-
[`${prefixCls}-row-hovered`]: hovered
|
|
242
|
+
[`${prefixCls}-row-hovered`]: hovered,
|
|
243
|
+
[`${prefixCls}-row-hidden`]: displayNone
|
|
242
244
|
}, customClassName);
|
|
243
245
|
const ariaProps = {};
|
|
244
246
|
if (typeof index === 'number') {
|
|
@@ -280,6 +282,7 @@ TableRow.propTypes = {
|
|
|
280
282
|
expandIcon: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.func, _propTypes.default.node]),
|
|
281
283
|
expandableRow: _propTypes.default.bool,
|
|
282
284
|
expanded: _propTypes.default.bool,
|
|
285
|
+
displayNone: _propTypes.default.bool,
|
|
283
286
|
expandedRow: _propTypes.default.bool,
|
|
284
287
|
fixed: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
|
|
285
288
|
height: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
|
|
@@ -45,7 +45,8 @@ class TableExpandedRow extends _react.PureComponent {
|
|
|
45
45
|
style,
|
|
46
46
|
virtualized,
|
|
47
47
|
indentSize,
|
|
48
|
-
cellWidths
|
|
48
|
+
cellWidths,
|
|
49
|
+
displayNone
|
|
49
50
|
} = this.props;
|
|
50
51
|
const {
|
|
51
52
|
tableWidth,
|
|
@@ -104,7 +105,8 @@ class TableExpandedRow extends _react.PureComponent {
|
|
|
104
105
|
store: store,
|
|
105
106
|
virtualized: virtualized,
|
|
106
107
|
indentSize: indentSize,
|
|
107
|
-
cellWidths: baseRowCellWidths
|
|
108
|
+
cellWidths: baseRowCellWidths,
|
|
109
|
+
displayNone: displayNone
|
|
108
110
|
});
|
|
109
111
|
}
|
|
110
112
|
}
|
|
@@ -32,6 +32,7 @@ export interface BodyProps extends BaseProps {
|
|
|
32
32
|
renderExpandIcon: (record: Record<string, any>, isNested: boolean) => ReactNode | null;
|
|
33
33
|
headerRef?: React.MutableRefObject<HTMLDivElement> | ((instance: any) => void);
|
|
34
34
|
onScroll?: VirtualizedOnScroll;
|
|
35
|
+
keepDOM?: boolean;
|
|
35
36
|
}
|
|
36
37
|
export interface BodyState {
|
|
37
38
|
virtualizedData?: Array<FlattenData | GroupFlattenData>;
|
|
@@ -61,6 +62,8 @@ export interface RenderExpandedRowProps {
|
|
|
61
62
|
rowKey?: RowKey<Record<string, any>>;
|
|
62
63
|
virtualized?: Virtualized;
|
|
63
64
|
level?: number;
|
|
65
|
+
keepDOM?: boolean;
|
|
66
|
+
displayNone?: boolean;
|
|
64
67
|
}
|
|
65
68
|
export interface RenderSectionRowProps {
|
|
66
69
|
dataSource?: Record<string, any>[];
|
|
@@ -308,7 +308,8 @@ class Body extends _baseComponent.default {
|
|
|
308
308
|
expanded,
|
|
309
309
|
index,
|
|
310
310
|
rowKey,
|
|
311
|
-
virtualized
|
|
311
|
+
virtualized,
|
|
312
|
+
displayNone
|
|
312
313
|
} = props;
|
|
313
314
|
let key = (0, _utils.getRecordKey)(record, rowKey);
|
|
314
315
|
if (key == null) {
|
|
@@ -334,7 +335,8 @@ class Body extends _baseComponent.default {
|
|
|
334
335
|
index: index,
|
|
335
336
|
virtualized: virtualized,
|
|
336
337
|
key: (0, _utils.genExpandedRowKey)(key),
|
|
337
|
-
cellWidths: _this.cellWidths
|
|
338
|
+
cellWidths: _this.cellWidths,
|
|
339
|
+
displayNone: displayNone
|
|
338
340
|
});
|
|
339
341
|
};
|
|
340
342
|
/**
|
|
@@ -346,7 +348,8 @@ class Body extends _baseComponent.default {
|
|
|
346
348
|
groups,
|
|
347
349
|
dataSource: data,
|
|
348
350
|
rowKey,
|
|
349
|
-
expandedRowKeys
|
|
351
|
+
expandedRowKeys,
|
|
352
|
+
keepDOM
|
|
350
353
|
} = this.props;
|
|
351
354
|
const {
|
|
352
355
|
flattenedColumns
|
|
@@ -381,7 +384,7 @@ class Body extends _baseComponent.default {
|
|
|
381
384
|
expanded
|
|
382
385
|
})));
|
|
383
386
|
// Render the grouped content when the group is expanded
|
|
384
|
-
if (expanded) {
|
|
387
|
+
if (expanded || keepDOM) {
|
|
385
388
|
const dataInGroup = [];
|
|
386
389
|
group.forEach(recordKey => {
|
|
387
390
|
const record = (0, _utils.getRecord)(data, recordKey, rowKey);
|
|
@@ -392,7 +395,7 @@ class Body extends _baseComponent.default {
|
|
|
392
395
|
/**
|
|
393
396
|
* Render the contents of the group row
|
|
394
397
|
*/
|
|
395
|
-
renderedRows.push(this.renderBodyRows(dataInGroup));
|
|
398
|
+
renderedRows.push(this.renderBodyRows(dataInGroup, undefined, [], !expanded));
|
|
396
399
|
}
|
|
397
400
|
});
|
|
398
401
|
return renderedRows;
|
|
@@ -636,12 +639,14 @@ class Body extends _baseComponent.default {
|
|
|
636
639
|
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
637
640
|
let level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
638
641
|
let renderedRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
642
|
+
let displayNone = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
639
643
|
const {
|
|
640
644
|
rowKey,
|
|
641
645
|
expandedRowRender,
|
|
642
646
|
expandedRowKeys,
|
|
643
647
|
childrenRecordName,
|
|
644
|
-
rowExpandable
|
|
648
|
+
rowExpandable,
|
|
649
|
+
keepDOM
|
|
645
650
|
} = this.props;
|
|
646
651
|
const hasExpandedRowRender = typeof expandedRowRender === 'function';
|
|
647
652
|
const expandBtnShouldInRow = this.state.cachedExpandBtnShouldInRow;
|
|
@@ -658,6 +663,7 @@ class Body extends _baseComponent.default {
|
|
|
658
663
|
renderedRows.push(this.renderBaseRow(Object.assign(Object.assign({}, this.props), {
|
|
659
664
|
columns: flattenedColumns,
|
|
660
665
|
expandBtnShouldInRow,
|
|
666
|
+
displayNone,
|
|
661
667
|
record,
|
|
662
668
|
key,
|
|
663
669
|
level,
|
|
@@ -665,13 +671,15 @@ class Body extends _baseComponent.default {
|
|
|
665
671
|
})));
|
|
666
672
|
// render expand row
|
|
667
673
|
const expanded = (0, _utils.isExpanded)(expandedRowKeys, key);
|
|
668
|
-
|
|
674
|
+
const shouldRenderExpandedRows = expanded || keepDOM;
|
|
675
|
+
if (hasExpandedRowRender && rowExpandable && rowExpandable(record) && shouldRenderExpandedRows) {
|
|
669
676
|
const currentExpandRow = this.renderExpandedRow(Object.assign(Object.assign({}, this.props), {
|
|
670
677
|
columns: flattenedColumns,
|
|
671
678
|
level,
|
|
672
679
|
index,
|
|
673
680
|
record,
|
|
674
|
-
expanded
|
|
681
|
+
expanded,
|
|
682
|
+
displayNone: displayNone || !expanded
|
|
675
683
|
}));
|
|
676
684
|
/**
|
|
677
685
|
* If expandedRowRender returns falsy, this expanded row will not be rendered
|
|
@@ -682,8 +690,8 @@ class Body extends _baseComponent.default {
|
|
|
682
690
|
}
|
|
683
691
|
}
|
|
684
692
|
// render tree data
|
|
685
|
-
if (recordHasChildren &&
|
|
686
|
-
const nestedRows = this.renderBodyRows(recordChildren, level + 1);
|
|
693
|
+
if (recordHasChildren && shouldRenderExpandedRows) {
|
|
694
|
+
const nestedRows = this.renderBodyRows(recordChildren, level + 1, [], displayNone || !expanded);
|
|
687
695
|
renderedRows.push(...nestedRows);
|
|
688
696
|
}
|
|
689
697
|
});
|
|
@@ -63,6 +63,7 @@ export type TimePickerProps = {
|
|
|
63
63
|
secondStep?: number;
|
|
64
64
|
showClear?: boolean;
|
|
65
65
|
size?: InputSize;
|
|
66
|
+
stopPropagation: boolean;
|
|
66
67
|
style?: React.CSSProperties;
|
|
67
68
|
timeZone?: string | number;
|
|
68
69
|
triggerRender?: (props?: any) => React.ReactNode;
|
|
@@ -133,6 +134,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
|
|
|
133
134
|
focusOnOpen: PropTypes.Requireable<boolean>;
|
|
134
135
|
autoFocus: PropTypes.Requireable<boolean>;
|
|
135
136
|
size: PropTypes.Requireable<"default" | "small" | "large">;
|
|
137
|
+
stopPropagation: PropTypes.Requireable<boolean>;
|
|
136
138
|
panels: PropTypes.Requireable<PropTypes.InferProps<{
|
|
137
139
|
panelHeader: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
|
|
138
140
|
panelFooter: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
|
|
@@ -166,6 +168,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
|
|
|
166
168
|
prefixCls: string;
|
|
167
169
|
inputReadOnly: boolean;
|
|
168
170
|
style: {};
|
|
171
|
+
stopPropagation: boolean;
|
|
169
172
|
className: string;
|
|
170
173
|
popupClassName: string;
|
|
171
174
|
popupStyle: {
|