@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
|
@@ -269,9 +269,10 @@ class TimePicker extends _baseComponent.default {
|
|
|
269
269
|
scrollItemProps,
|
|
270
270
|
triggerRender,
|
|
271
271
|
motion,
|
|
272
|
-
autoAdjustOverflow
|
|
272
|
+
autoAdjustOverflow,
|
|
273
|
+
stopPropagation
|
|
273
274
|
} = _a,
|
|
274
|
-
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"]);
|
|
275
|
+
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"]);
|
|
275
276
|
const format = this.foundation.getDefaultFormatIfNeed();
|
|
276
277
|
const position = this.foundation.getPosition();
|
|
277
278
|
const useCustomTrigger = typeof triggerRender === 'function';
|
|
@@ -329,7 +330,8 @@ class TimePicker extends _baseComponent.default {
|
|
|
329
330
|
visible: disabled ? false : Boolean(open),
|
|
330
331
|
motion: motion,
|
|
331
332
|
margin: dropdownMargin,
|
|
332
|
-
autoAdjustOverflow: autoAdjustOverflow
|
|
333
|
+
autoAdjustOverflow: autoAdjustOverflow,
|
|
334
|
+
stopPropagation: stopPropagation
|
|
333
335
|
}, useCustomTrigger ? /*#__PURE__*/_react.default.createElement(_trigger.default, {
|
|
334
336
|
triggerRender: triggerRender,
|
|
335
337
|
disabled: disabled,
|
|
@@ -385,6 +387,7 @@ TimePicker.propTypes = Object.assign(Object.assign({
|
|
|
385
387
|
focusOnOpen: _propTypes.default.bool,
|
|
386
388
|
autoFocus: _propTypes.default.bool,
|
|
387
389
|
size: _propTypes.default.oneOf(_constants.strings.SIZE),
|
|
390
|
+
stopPropagation: _propTypes.default.bool,
|
|
388
391
|
panels: _propTypes.default.arrayOf(_propTypes.default.shape(_PanelShape.PanelShape)),
|
|
389
392
|
onFocus: _propTypes.default.func,
|
|
390
393
|
onBlur: _propTypes.default.func,
|
|
@@ -418,6 +421,7 @@ TimePicker.defaultProps = Object.assign({
|
|
|
418
421
|
prefixCls: _constants.cssClasses.PREFIX,
|
|
419
422
|
inputReadOnly: false,
|
|
420
423
|
style: {},
|
|
424
|
+
stopPropagation: true,
|
|
421
425
|
className: '',
|
|
422
426
|
popupClassName: '',
|
|
423
427
|
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/cjs/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: {
|
package/lib/cjs/toast/toast.js
CHANGED
|
@@ -157,7 +157,7 @@ Toast.propTypes = {
|
|
|
157
157
|
showClose: _propTypes.default.bool,
|
|
158
158
|
stack: _propTypes.default.bool,
|
|
159
159
|
stackExpanded: _propTypes.default.bool,
|
|
160
|
-
icon: _propTypes.default.
|
|
160
|
+
icon: _propTypes.default.node,
|
|
161
161
|
direction: _propTypes.default.oneOf(_constants.strings.directions)
|
|
162
162
|
};
|
|
163
163
|
Toast.defaultProps = {
|
|
@@ -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;
|
|
@@ -39,8 +39,9 @@ class DropdownItem extends BaseComponent {
|
|
|
39
39
|
['onClick', 'onMouseEnter', 'onMouseLeave', 'onContextMenu'].forEach(eventName => {
|
|
40
40
|
if (eventName === "onClick") {
|
|
41
41
|
events["onMouseDown"] = e => {
|
|
42
|
+
var _a, _b;
|
|
42
43
|
if (e.button === 0) {
|
|
43
|
-
this.props[eventName](e);
|
|
44
|
+
(_b = (_a = this.props)[eventName]) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
44
45
|
}
|
|
45
46
|
};
|
|
46
47
|
} else {
|
package/lib/es/form/baseForm.js
CHANGED
|
@@ -174,7 +174,7 @@ class Form extends BaseComponent {
|
|
|
174
174
|
[prefix + '-vertical']: layout === 'vertical',
|
|
175
175
|
[prefix + '-horizontal']: layout === 'horizontal'
|
|
176
176
|
});
|
|
177
|
-
const
|
|
177
|
+
const shouldAppendRow = wrapperCol && labelCol;
|
|
178
178
|
const formContent = /*#__PURE__*/React.createElement("form", Object.assign({
|
|
179
179
|
style: style
|
|
180
180
|
}, rest, {
|
|
@@ -190,7 +190,7 @@ class Form extends BaseComponent {
|
|
|
190
190
|
value: this.formApi
|
|
191
191
|
}, /*#__PURE__*/React.createElement(FormStateContext.Provider, {
|
|
192
192
|
value: formState
|
|
193
|
-
},
|
|
193
|
+
}, shouldAppendRow ? withRowForm : formContent)));
|
|
194
194
|
}
|
|
195
195
|
}
|
|
196
196
|
Form.propTypes = {
|
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,
|
package/lib/es/select/utils.d.ts
CHANGED
|
@@ -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/es/select/utils.js
CHANGED
|
@@ -8,7 +8,7 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
8
8
|
};
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import warning from '@douyinfe/semi-foundation/lib/es/utils/warning';
|
|
11
|
-
const generateOption = (child, parent, index) => {
|
|
11
|
+
const generateOption = (child, parent, index, newKey) => {
|
|
12
12
|
const childProps = child.props;
|
|
13
13
|
if (!child || !childProps) {
|
|
14
14
|
return null;
|
|
@@ -26,7 +26,7 @@ const generateOption = (child, parent, index) => {
|
|
|
26
26
|
// Props are collected from ReactNode, after React.Children.toArray
|
|
27
27
|
// no need to determine whether the key exists in child
|
|
28
28
|
// Even if the user does not explicitly declare it, React will always generate a key.
|
|
29
|
-
option._keyInJsx = child.key;
|
|
29
|
+
option._keyInJsx = newKey || child.key;
|
|
30
30
|
return option;
|
|
31
31
|
};
|
|
32
32
|
const getOptionsFromGroup = selectChildren => {
|
|
@@ -57,10 +57,22 @@ const getOptionsFromGroup = selectChildren => {
|
|
|
57
57
|
children
|
|
58
58
|
} = _a,
|
|
59
59
|
restGroupProps = __rest(_a, ["children"]);
|
|
60
|
+
let originKeys = [];
|
|
61
|
+
if (Array.isArray(children)) {
|
|
62
|
+
// if group has children > 1
|
|
63
|
+
originKeys = children.map(item => item.key);
|
|
64
|
+
} else {
|
|
65
|
+
originKeys.push(children.key);
|
|
66
|
+
}
|
|
60
67
|
children = React.Children.toArray(children);
|
|
61
|
-
const childrenOption = children.map(option => {
|
|
68
|
+
const childrenOption = children.map((option, index) => {
|
|
69
|
+
let newKey = option.key;
|
|
70
|
+
if (originKeys[index] === null) {
|
|
71
|
+
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)
|
|
72
|
+
}
|
|
73
|
+
|
|
62
74
|
optionIndex++;
|
|
63
|
-
return generateOption(option, restGroupProps, optionIndex);
|
|
75
|
+
return generateOption(option, restGroupProps, optionIndex, newKey);
|
|
64
76
|
});
|
|
65
77
|
const group = Object.assign(Object.assign({}, child.props), {
|
|
66
78
|
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/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>[];
|