@douyinfe/semi-ui 2.48.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 +71 -44
- 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/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/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/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/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
|
@@ -49,7 +49,6 @@ const getRenderText = function (originEle, rows) {
|
|
|
49
49
|
const lineHeight = pxToNumber(originStyle.lineHeight);
|
|
50
50
|
const maxHeight = Math.round(lineHeight * (rows + 1) + pxToNumber(originStyle.paddingTop) + pxToNumber(originStyle.paddingBottom));
|
|
51
51
|
// Set shadow
|
|
52
|
-
const maxWidth = parseInt(originStyle.width);
|
|
53
52
|
ellipsisContainer.setAttribute('style', originCSS);
|
|
54
53
|
ellipsisContainer.style.position = 'fixed';
|
|
55
54
|
ellipsisContainer.style.left = '0';
|
|
@@ -61,12 +60,12 @@ const getRenderText = function (originEle, rows) {
|
|
|
61
60
|
ellipsisContainer.style.webkitLineClamp = 'none';
|
|
62
61
|
// Render fake container
|
|
63
62
|
_reactDom.default.render( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), ellipsisContainer);
|
|
64
|
-
// Check if ellipsis in measure div is
|
|
63
|
+
// Check if ellipsis in measure div is enough for content
|
|
65
64
|
function inRange() {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
return
|
|
65
|
+
// If content does not wrap due to line break strategy, width should be judged to determine whether it's in range
|
|
66
|
+
const widthInRange = ellipsisContainer.scrollWidth <= ellipsisContainer.offsetWidth;
|
|
67
|
+
const heightInRange = ellipsisContainer.scrollHeight < maxHeight;
|
|
68
|
+
return rows === 1 ? widthInRange && heightInRange : heightInRange;
|
|
70
69
|
}
|
|
71
70
|
// ========================= Find match ellipsis content =========================
|
|
72
71
|
// Create origin content holder
|
package/lib/es/banner/index.d.ts
CHANGED
|
@@ -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/es/banner/index.js
CHANGED
|
@@ -159,8 +159,8 @@ Banner.propTypes = {
|
|
|
159
159
|
type: PropTypes.oneOf(types),
|
|
160
160
|
title: PropTypes.node,
|
|
161
161
|
description: PropTypes.node,
|
|
162
|
-
icon: PropTypes.
|
|
163
|
-
closeIcon: PropTypes.
|
|
162
|
+
icon: PropTypes.node,
|
|
163
|
+
closeIcon: PropTypes.node,
|
|
164
164
|
children: PropTypes.node,
|
|
165
165
|
style: PropTypes.object,
|
|
166
166
|
className: PropTypes.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
|
};
|
|
@@ -178,7 +178,7 @@ BreadcrumbItem.propTypes = {
|
|
|
178
178
|
children: propTypes.node,
|
|
179
179
|
active: propTypes.bool,
|
|
180
180
|
shouldRenderSeparator: propTypes.bool,
|
|
181
|
-
icon: propTypes.
|
|
181
|
+
icon: propTypes.node,
|
|
182
182
|
separator: propTypes.node,
|
|
183
183
|
noLink: propTypes.bool
|
|
184
184
|
};
|
|
@@ -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>>;
|
|
@@ -118,7 +118,8 @@ export default class DayCalendar extends BaseComponent {
|
|
|
118
118
|
height,
|
|
119
119
|
width,
|
|
120
120
|
style,
|
|
121
|
-
header
|
|
121
|
+
header,
|
|
122
|
+
minEventHeight
|
|
122
123
|
} = this.props;
|
|
123
124
|
const dayCls = cls(prefixCls, className);
|
|
124
125
|
const dayStyle = Object.assign({
|
|
@@ -151,6 +152,7 @@ export default class DayCalendar extends BaseComponent {
|
|
|
151
152
|
handleClick: this.handleClick,
|
|
152
153
|
showCurrTime: showCurrTime,
|
|
153
154
|
isWeekend: this.isWeekend,
|
|
155
|
+
minEventHeight: minEventHeight,
|
|
154
156
|
dateGridRender: dateGridRender
|
|
155
157
|
}))));
|
|
156
158
|
}
|
|
@@ -164,6 +166,7 @@ DayCalendar.propTypes = {
|
|
|
164
166
|
mode: PropTypes.string,
|
|
165
167
|
renderTimeDisplay: PropTypes.func,
|
|
166
168
|
markWeekend: PropTypes.bool,
|
|
169
|
+
minEventHeight: PropTypes.number,
|
|
167
170
|
scrollTop: PropTypes.number,
|
|
168
171
|
width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
169
172
|
height: PropTypes.oneOfType([PropTypes.number, PropTypes.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;
|
|
@@ -17,7 +17,8 @@ export default class DayCol extends BaseComponent {
|
|
|
17
17
|
this.renderEvents = () => {
|
|
18
18
|
const {
|
|
19
19
|
events,
|
|
20
|
-
scrollHeight
|
|
20
|
+
scrollHeight,
|
|
21
|
+
minEventHeight
|
|
21
22
|
} = this.props;
|
|
22
23
|
const list = events.map((event, ind) => {
|
|
23
24
|
const {
|
|
@@ -28,12 +29,9 @@ export default class DayCol extends BaseComponent {
|
|
|
28
29
|
} = event;
|
|
29
30
|
const top = startPos * scrollHeight;
|
|
30
31
|
const height = (endPos - startPos) * scrollHeight;
|
|
31
|
-
if (!height) {
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
32
|
const style = {
|
|
35
33
|
top: `${top}px`,
|
|
36
|
-
height: `${height}px`
|
|
34
|
+
height: `${Math.max(minEventHeight, height)}px`
|
|
37
35
|
};
|
|
38
36
|
return /*#__PURE__*/React.createElement("li", {
|
|
39
37
|
className: `${cssClasses.PREFIX}-event-item ${cssClasses.PREFIX}-event-day`,
|
|
@@ -147,6 +145,7 @@ DayCol.propTypes = {
|
|
|
147
145
|
currPos: PropTypes.number,
|
|
148
146
|
handleClick: PropTypes.func,
|
|
149
147
|
mode: PropTypes.string,
|
|
148
|
+
minEventHeight: PropTypes.number,
|
|
150
149
|
isWeekend: PropTypes.bool,
|
|
151
150
|
dateGridRender: PropTypes.func
|
|
152
151
|
};
|
|
@@ -155,6 +154,7 @@ DayCol.defaultProps = {
|
|
|
155
154
|
showCurrTime: true,
|
|
156
155
|
scrollHeight: 0,
|
|
157
156
|
currPos: 0,
|
|
158
|
-
mode: 'dayCol'
|
|
157
|
+
mode: 'dayCol',
|
|
158
|
+
minEventHeight: Number.MIN_SAFE_INTEGER
|
|
159
159
|
};
|
|
160
160
|
DayCol.contextType = localeContext;
|
|
@@ -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>;
|
package/lib/es/calendar/index.js
CHANGED
|
@@ -50,6 +50,7 @@ Calendar.propTypes = {
|
|
|
50
50
|
renderTimeDisplay: PropTypes.func,
|
|
51
51
|
renderDateDisplay: PropTypes.func,
|
|
52
52
|
markWeekend: PropTypes.bool,
|
|
53
|
+
minEventHeight: PropTypes.number,
|
|
53
54
|
width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
54
55
|
height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
55
56
|
style: PropTypes.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;
|
|
@@ -37,7 +37,8 @@ export default class RangeCalendar extends BaseComponent {
|
|
|
37
37
|
} = this.RangeData;
|
|
38
38
|
const {
|
|
39
39
|
markWeekend,
|
|
40
|
-
dateGridRender
|
|
40
|
+
dateGridRender,
|
|
41
|
+
minEventHeight
|
|
41
42
|
} = this.props;
|
|
42
43
|
const inner = week.map(day => {
|
|
43
44
|
const dateString = day.date.toString();
|
|
@@ -51,7 +52,8 @@ export default class RangeCalendar extends BaseComponent {
|
|
|
51
52
|
events: parsed.day,
|
|
52
53
|
showCurrTime: this.props.showCurrTime,
|
|
53
54
|
isWeekend: markWeekend && day.isWeekend,
|
|
54
|
-
dateGridRender: dateGridRender
|
|
55
|
+
dateGridRender: dateGridRender,
|
|
56
|
+
minEventHeight: minEventHeight
|
|
55
57
|
});
|
|
56
58
|
});
|
|
57
59
|
return inner;
|
|
@@ -38,7 +38,8 @@ export default class WeekCalendar extends BaseComponent {
|
|
|
38
38
|
} = this.weeklyData;
|
|
39
39
|
const {
|
|
40
40
|
markWeekend,
|
|
41
|
-
dateGridRender
|
|
41
|
+
dateGridRender,
|
|
42
|
+
minEventHeight
|
|
42
43
|
} = this.props;
|
|
43
44
|
const inner = week.map(day => {
|
|
44
45
|
const dateString = day.date.toString();
|
|
@@ -52,7 +53,8 @@ export default class WeekCalendar extends BaseComponent {
|
|
|
52
53
|
events: parsed.day,
|
|
53
54
|
showCurrTime: this.props.showCurrTime,
|
|
54
55
|
isWeekend: markWeekend && day.isWeekend,
|
|
55
|
-
dateGridRender: dateGridRender
|
|
56
|
+
dateGridRender: dateGridRender,
|
|
57
|
+
minEventHeight: minEventHeight
|
|
56
58
|
});
|
|
57
59
|
});
|
|
58
60
|
return inner;
|
package/lib/es/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/es/modal/Modal.js
CHANGED
|
@@ -293,7 +293,7 @@ Modal.propTypes = {
|
|
|
293
293
|
getPopupContainer: PropTypes.func,
|
|
294
294
|
getContainerContext: PropTypes.func,
|
|
295
295
|
maskFixed: PropTypes.bool,
|
|
296
|
-
closeIcon: PropTypes.
|
|
296
|
+
closeIcon: PropTypes.node,
|
|
297
297
|
closeOnEsc: PropTypes.bool,
|
|
298
298
|
size: PropTypes.oneOf(strings.SIZE),
|
|
299
299
|
keepDOM: PropTypes.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>;
|
|
@@ -233,7 +233,7 @@ Popconfirm.propTypes = {
|
|
|
233
233
|
prefixCls: PropTypes.string,
|
|
234
234
|
className: PropTypes.string,
|
|
235
235
|
style: PropTypes.object,
|
|
236
|
-
icon: PropTypes.
|
|
236
|
+
icon: PropTypes.node,
|
|
237
237
|
okText: PropTypes.string,
|
|
238
238
|
okType: PropTypes.string,
|
|
239
239
|
cancelText: PropTypes.string,
|
|
@@ -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/es/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;
|
|
@@ -59,7 +59,8 @@ export default class SideSheetContent extends React.PureComponent {
|
|
|
59
59
|
const {
|
|
60
60
|
title,
|
|
61
61
|
closable,
|
|
62
|
-
headerStyle
|
|
62
|
+
headerStyle,
|
|
63
|
+
closeIcon
|
|
63
64
|
} = this.props;
|
|
64
65
|
let header, closer;
|
|
65
66
|
if (title) {
|
|
@@ -69,12 +70,13 @@ export default class SideSheetContent extends React.PureComponent {
|
|
|
69
70
|
}, this.props.title);
|
|
70
71
|
}
|
|
71
72
|
if (closable) {
|
|
73
|
+
const iconType = closeIcon || /*#__PURE__*/React.createElement(IconClose, null);
|
|
72
74
|
closer = /*#__PURE__*/React.createElement(Button, {
|
|
73
75
|
className: `${prefixCls}-close`,
|
|
74
76
|
key: "close-btn",
|
|
75
77
|
onClick: this.close,
|
|
76
78
|
type: "tertiary",
|
|
77
|
-
icon:
|
|
79
|
+
icon: iconType,
|
|
78
80
|
theme: "borderless",
|
|
79
81
|
size: "small"
|
|
80
82
|
});
|
|
@@ -160,7 +162,8 @@ export default class SideSheetContent extends React.PureComponent {
|
|
|
160
162
|
}
|
|
161
163
|
}
|
|
162
164
|
SideSheetContent.propTypes = {
|
|
163
|
-
onClose: PropTypes.func
|
|
165
|
+
onClose: PropTypes.func,
|
|
166
|
+
closeIcon: PropTypes.node
|
|
164
167
|
};
|
|
165
168
|
SideSheetContent.defaultProps = {
|
|
166
169
|
onClose: _noop
|
|
@@ -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>>;
|
|
@@ -212,6 +212,7 @@ export default class TableRow extends BaseComponent {
|
|
|
212
212
|
record,
|
|
213
213
|
hovered,
|
|
214
214
|
expanded,
|
|
215
|
+
displayNone,
|
|
215
216
|
expandableRow,
|
|
216
217
|
level,
|
|
217
218
|
expandedRow,
|
|
@@ -229,7 +230,8 @@ export default class TableRow extends BaseComponent {
|
|
|
229
230
|
const rowCls = typeof replaceClassName === 'string' && replaceClassName.length ? replaceClassName : classnames(className, `${prefixCls}-row`, {
|
|
230
231
|
[`${prefixCls}-row-selected`]: selected,
|
|
231
232
|
[`${prefixCls}-row-expanded`]: expanded,
|
|
232
|
-
[`${prefixCls}-row-hovered`]: hovered
|
|
233
|
+
[`${prefixCls}-row-hovered`]: hovered,
|
|
234
|
+
[`${prefixCls}-row-hidden`]: displayNone
|
|
233
235
|
}, customClassName);
|
|
234
236
|
const ariaProps = {};
|
|
235
237
|
if (typeof index === 'number') {
|
|
@@ -270,6 +272,7 @@ TableRow.propTypes = {
|
|
|
270
272
|
expandIcon: PropTypes.oneOfType([PropTypes.bool, PropTypes.func, PropTypes.node]),
|
|
271
273
|
expandableRow: PropTypes.bool,
|
|
272
274
|
expanded: PropTypes.bool,
|
|
275
|
+
displayNone: PropTypes.bool,
|
|
273
276
|
expandedRow: PropTypes.bool,
|
|
274
277
|
fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
|
|
275
278
|
height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
|
|
@@ -36,7 +36,8 @@ export default class TableExpandedRow extends PureComponent {
|
|
|
36
36
|
style,
|
|
37
37
|
virtualized,
|
|
38
38
|
indentSize,
|
|
39
|
-
cellWidths
|
|
39
|
+
cellWidths,
|
|
40
|
+
displayNone
|
|
40
41
|
} = this.props;
|
|
41
42
|
const {
|
|
42
43
|
tableWidth,
|
|
@@ -95,7 +96,8 @@ export default class TableExpandedRow extends PureComponent {
|
|
|
95
96
|
store: store,
|
|
96
97
|
virtualized: virtualized,
|
|
97
98
|
indentSize: indentSize,
|
|
98
|
-
cellWidths: baseRowCellWidths
|
|
99
|
+
cellWidths: baseRowCellWidths,
|
|
100
|
+
displayNone: displayNone
|
|
99
101
|
});
|
|
100
102
|
}
|
|
101
103
|
}
|
|
@@ -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>[];
|
|
@@ -301,7 +301,8 @@ class Body extends BaseComponent {
|
|
|
301
301
|
expanded,
|
|
302
302
|
index,
|
|
303
303
|
rowKey,
|
|
304
|
-
virtualized
|
|
304
|
+
virtualized,
|
|
305
|
+
displayNone
|
|
305
306
|
} = props;
|
|
306
307
|
let key = getRecordKey(record, rowKey);
|
|
307
308
|
if (key == null) {
|
|
@@ -327,7 +328,8 @@ class Body extends BaseComponent {
|
|
|
327
328
|
index: index,
|
|
328
329
|
virtualized: virtualized,
|
|
329
330
|
key: genExpandedRowKey(key),
|
|
330
|
-
cellWidths: _this.cellWidths
|
|
331
|
+
cellWidths: _this.cellWidths,
|
|
332
|
+
displayNone: displayNone
|
|
331
333
|
});
|
|
332
334
|
};
|
|
333
335
|
/**
|
|
@@ -339,7 +341,8 @@ class Body extends BaseComponent {
|
|
|
339
341
|
groups,
|
|
340
342
|
dataSource: data,
|
|
341
343
|
rowKey,
|
|
342
|
-
expandedRowKeys
|
|
344
|
+
expandedRowKeys,
|
|
345
|
+
keepDOM
|
|
343
346
|
} = this.props;
|
|
344
347
|
const {
|
|
345
348
|
flattenedColumns
|
|
@@ -374,7 +377,7 @@ class Body extends BaseComponent {
|
|
|
374
377
|
expanded
|
|
375
378
|
})));
|
|
376
379
|
// Render the grouped content when the group is expanded
|
|
377
|
-
if (expanded) {
|
|
380
|
+
if (expanded || keepDOM) {
|
|
378
381
|
const dataInGroup = [];
|
|
379
382
|
group.forEach(recordKey => {
|
|
380
383
|
const record = getRecord(data, recordKey, rowKey);
|
|
@@ -385,7 +388,7 @@ class Body extends BaseComponent {
|
|
|
385
388
|
/**
|
|
386
389
|
* Render the contents of the group row
|
|
387
390
|
*/
|
|
388
|
-
renderedRows.push(this.renderBodyRows(dataInGroup));
|
|
391
|
+
renderedRows.push(this.renderBodyRows(dataInGroup, undefined, [], !expanded));
|
|
389
392
|
}
|
|
390
393
|
});
|
|
391
394
|
return renderedRows;
|
|
@@ -629,12 +632,14 @@ class Body extends BaseComponent {
|
|
|
629
632
|
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
630
633
|
let level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
631
634
|
let renderedRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
635
|
+
let displayNone = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
632
636
|
const {
|
|
633
637
|
rowKey,
|
|
634
638
|
expandedRowRender,
|
|
635
639
|
expandedRowKeys,
|
|
636
640
|
childrenRecordName,
|
|
637
|
-
rowExpandable
|
|
641
|
+
rowExpandable,
|
|
642
|
+
keepDOM
|
|
638
643
|
} = this.props;
|
|
639
644
|
const hasExpandedRowRender = typeof expandedRowRender === 'function';
|
|
640
645
|
const expandBtnShouldInRow = this.state.cachedExpandBtnShouldInRow;
|
|
@@ -651,6 +656,7 @@ class Body extends BaseComponent {
|
|
|
651
656
|
renderedRows.push(this.renderBaseRow(Object.assign(Object.assign({}, this.props), {
|
|
652
657
|
columns: flattenedColumns,
|
|
653
658
|
expandBtnShouldInRow,
|
|
659
|
+
displayNone,
|
|
654
660
|
record,
|
|
655
661
|
key,
|
|
656
662
|
level,
|
|
@@ -658,13 +664,15 @@ class Body extends BaseComponent {
|
|
|
658
664
|
})));
|
|
659
665
|
// render expand row
|
|
660
666
|
const expanded = isExpanded(expandedRowKeys, key);
|
|
661
|
-
|
|
667
|
+
const shouldRenderExpandedRows = expanded || keepDOM;
|
|
668
|
+
if (hasExpandedRowRender && rowExpandable && rowExpandable(record) && shouldRenderExpandedRows) {
|
|
662
669
|
const currentExpandRow = this.renderExpandedRow(Object.assign(Object.assign({}, this.props), {
|
|
663
670
|
columns: flattenedColumns,
|
|
664
671
|
level,
|
|
665
672
|
index,
|
|
666
673
|
record,
|
|
667
|
-
expanded
|
|
674
|
+
expanded,
|
|
675
|
+
displayNone: displayNone || !expanded
|
|
668
676
|
}));
|
|
669
677
|
/**
|
|
670
678
|
* If expandedRowRender returns falsy, this expanded row will not be rendered
|
|
@@ -675,8 +683,8 @@ class Body extends BaseComponent {
|
|
|
675
683
|
}
|
|
676
684
|
}
|
|
677
685
|
// render tree data
|
|
678
|
-
if (recordHasChildren &&
|
|
679
|
-
const nestedRows = this.renderBodyRows(recordChildren, level + 1);
|
|
686
|
+
if (recordHasChildren && shouldRenderExpandedRows) {
|
|
687
|
+
const nestedRows = this.renderBodyRows(recordChildren, level + 1, [], displayNone || !expanded);
|
|
680
688
|
renderedRows.push(...nestedRows);
|
|
681
689
|
}
|
|
682
690
|
});
|
|
@@ -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: {
|
|
@@ -262,9 +262,10 @@ export default class TimePicker extends BaseComponent {
|
|
|
262
262
|
scrollItemProps,
|
|
263
263
|
triggerRender,
|
|
264
264
|
motion,
|
|
265
|
-
autoAdjustOverflow
|
|
265
|
+
autoAdjustOverflow,
|
|
266
|
+
stopPropagation
|
|
266
267
|
} = _a,
|
|
267
|
-
rest = __rest(_a, ["prefixCls", "placeholder", "disabled", "defaultValue", "dropdownMargin", "className", "popupStyle", "size", "style", "locale", "localeCode", "zIndex", "getPopupContainer", "insetLabel", "insetLabelId", "inputStyle", "showClear", "panelHeader", "panelFooter", "rangeSeparator", "onOpenChange", "onChangeWithDateFirst", "popupClassName", "hideDisabledOptions", "use12Hours", "minuteStep", "hourStep", "secondStep", "scrollItemProps", "triggerRender", "motion", "autoAdjustOverflow"]);
|
|
268
|
+
rest = __rest(_a, ["prefixCls", "placeholder", "disabled", "defaultValue", "dropdownMargin", "className", "popupStyle", "size", "style", "locale", "localeCode", "zIndex", "getPopupContainer", "insetLabel", "insetLabelId", "inputStyle", "showClear", "panelHeader", "panelFooter", "rangeSeparator", "onOpenChange", "onChangeWithDateFirst", "popupClassName", "hideDisabledOptions", "use12Hours", "minuteStep", "hourStep", "secondStep", "scrollItemProps", "triggerRender", "motion", "autoAdjustOverflow", "stopPropagation"]);
|
|
268
269
|
const format = this.foundation.getDefaultFormatIfNeed();
|
|
269
270
|
const position = this.foundation.getPosition();
|
|
270
271
|
const useCustomTrigger = typeof triggerRender === 'function';
|
|
@@ -322,7 +323,8 @@ export default class TimePicker extends BaseComponent {
|
|
|
322
323
|
visible: disabled ? false : Boolean(open),
|
|
323
324
|
motion: motion,
|
|
324
325
|
margin: dropdownMargin,
|
|
325
|
-
autoAdjustOverflow: autoAdjustOverflow
|
|
326
|
+
autoAdjustOverflow: autoAdjustOverflow,
|
|
327
|
+
stopPropagation: stopPropagation
|
|
326
328
|
}, useCustomTrigger ? /*#__PURE__*/React.createElement(Trigger, {
|
|
327
329
|
triggerRender: triggerRender,
|
|
328
330
|
disabled: disabled,
|
|
@@ -377,6 +379,7 @@ TimePicker.propTypes = Object.assign(Object.assign({
|
|
|
377
379
|
focusOnOpen: PropTypes.bool,
|
|
378
380
|
autoFocus: PropTypes.bool,
|
|
379
381
|
size: PropTypes.oneOf(strings.SIZE),
|
|
382
|
+
stopPropagation: PropTypes.bool,
|
|
380
383
|
panels: PropTypes.arrayOf(PropTypes.shape(PanelShape)),
|
|
381
384
|
onFocus: PropTypes.func,
|
|
382
385
|
onBlur: PropTypes.func,
|
|
@@ -410,6 +413,7 @@ TimePicker.defaultProps = Object.assign({
|
|
|
410
413
|
prefixCls: cssClasses.PREFIX,
|
|
411
414
|
inputReadOnly: false,
|
|
412
415
|
style: {},
|
|
416
|
+
stopPropagation: true,
|
|
413
417
|
className: '',
|
|
414
418
|
popupClassName: '',
|
|
415
419
|
popupStyle: {
|
|
@@ -50,6 +50,7 @@ export default class LocaleTimePicker extends React.PureComponent<LocalePickerPr
|
|
|
50
50
|
focusOnOpen: import("prop-types").Requireable<boolean>;
|
|
51
51
|
autoFocus: import("prop-types").Requireable<boolean>;
|
|
52
52
|
size: import("prop-types").Requireable<"default" | "small" | "large">;
|
|
53
|
+
stopPropagation: import("prop-types").Requireable<boolean>;
|
|
53
54
|
panels: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
54
55
|
panelHeader: import("prop-types").Requireable<NonNullable<import("prop-types").ReactNodeLike>>;
|
|
55
56
|
panelFooter: import("prop-types").Requireable<NonNullable<import("prop-types").ReactNodeLike>>;
|
|
@@ -83,6 +84,7 @@ export default class LocaleTimePicker extends React.PureComponent<LocalePickerPr
|
|
|
83
84
|
prefixCls: string;
|
|
84
85
|
inputReadOnly: boolean;
|
|
85
86
|
style: {};
|
|
87
|
+
stopPropagation: boolean;
|
|
86
88
|
className: string;
|
|
87
89
|
popupClassName: string;
|
|
88
90
|
popupStyle: {
|
package/lib/es/toast/toast.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ declare class Toast extends BaseComponent<ToastReactProps, ToastState> {
|
|
|
32
32
|
showClose: PropTypes.Requireable<boolean>;
|
|
33
33
|
stack: PropTypes.Requireable<boolean>;
|
|
34
34
|
stackExpanded: PropTypes.Requireable<boolean>;
|
|
35
|
-
icon: PropTypes.Requireable<
|
|
35
|
+
icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
36
36
|
direction: PropTypes.Requireable<string>;
|
|
37
37
|
};
|
|
38
38
|
static defaultProps: {
|