@douyinfe/semi-ui 2.34.0 → 2.34.1-alpha.3
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 +21 -45
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +41228 -40825
- 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/anchor/index.d.ts +1 -1
- package/lib/cjs/autoComplete/index.d.ts +1 -1
- package/lib/cjs/breadcrumb/item.js +1 -1
- package/lib/cjs/button/Button.d.ts +1 -1
- package/lib/cjs/button/buttonGroup.d.ts +1 -1
- package/lib/cjs/button/index.d.ts +1 -1
- package/lib/cjs/calendar/interface.d.ts +2 -2
- package/lib/cjs/card/index.d.ts +37 -4
- package/lib/cjs/card/index.js +248 -67
- package/lib/cjs/cascader/index.d.ts +0 -2
- package/lib/cjs/cascader/index.js +0 -13
- package/lib/cjs/datePicker/dateInput.d.ts +1 -1
- package/lib/cjs/datePicker/datePicker.d.ts +2 -2
- package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
- package/lib/cjs/datePicker/yearAndMonth.d.ts +1 -1
- package/lib/cjs/form/baseForm.d.ts +2 -2
- package/lib/cjs/form/field.d.ts +2 -2
- package/lib/cjs/form/group.js +2 -4
- package/lib/cjs/image/image.d.ts +0 -4
- package/lib/cjs/image/image.js +1 -23
- package/lib/cjs/image/preview.d.ts +1 -1
- package/lib/cjs/image/preview.js +16 -9
- package/lib/cjs/image/previewContext.d.ts +0 -1
- package/lib/cjs/input/index.d.ts +1 -1
- package/lib/cjs/input/inputGroup.d.ts +1 -1
- package/lib/cjs/modal/confirm.d.ts +19 -19
- package/lib/cjs/rating/index.d.ts +1 -1
- package/lib/cjs/rating/item.d.ts +1 -1
- package/lib/cjs/steps/basicStep.js +13 -7
- package/lib/cjs/steps/basicSteps.js +4 -2
- package/lib/cjs/steps/fillStep.js +13 -7
- package/lib/cjs/steps/fillSteps.js +3 -2
- package/lib/cjs/steps/index.d.ts +1 -0
- package/lib/cjs/steps/index.js +5 -2
- package/lib/cjs/steps/navStep.js +12 -4
- package/lib/cjs/steps/navSteps.js +4 -2
- package/lib/cjs/switch/index.d.ts +1 -1
- package/lib/cjs/table/Body/index.d.ts +0 -1
- package/lib/cjs/table/Body/index.js +3 -3
- package/lib/cjs/table/HeadTable.d.ts +4 -4
- package/lib/cjs/table/HeadTable.js +3 -3
- package/lib/cjs/table/Table.d.ts +2 -2
- package/lib/cjs/table/Table.js +14 -41
- package/lib/cjs/table/TableCell.js +3 -14
- package/lib/cjs/table/TableHeader.d.ts +0 -1
- package/lib/cjs/table/TableHeader.js +2 -11
- package/lib/cjs/table/TableHeaderRow.js +1 -2
- package/lib/cjs/table/index.d.ts +1 -1
- package/lib/cjs/table/interface.d.ts +1 -2
- package/lib/cjs/tagInput/index.d.ts +1 -1
- package/lib/cjs/timePicker/TimePicker.d.ts +1 -1
- package/lib/cjs/timePicker/index.d.ts +1 -1
- package/lib/cjs/typography/base.d.ts +2 -1
- package/lib/cjs/typography/base.js +68 -66
- package/lib/cjs/typography/title.d.ts +1 -1
- package/lib/cjs/typography/util.d.ts +1 -4
- package/lib/cjs/typography/util.js +13 -36
- package/lib/es/anchor/index.d.ts +1 -1
- package/lib/es/autoComplete/index.d.ts +1 -1
- package/lib/es/breadcrumb/item.js +1 -1
- package/lib/es/button/Button.d.ts +1 -1
- package/lib/es/button/buttonGroup.d.ts +1 -1
- package/lib/es/button/index.d.ts +1 -1
- package/lib/es/calendar/interface.d.ts +2 -2
- package/lib/es/card/index.d.ts +37 -4
- package/lib/es/card/index.js +247 -66
- package/lib/es/cascader/index.d.ts +0 -2
- package/lib/es/cascader/index.js +0 -13
- package/lib/es/datePicker/dateInput.d.ts +1 -1
- package/lib/es/datePicker/datePicker.d.ts +2 -2
- package/lib/es/datePicker/monthsGrid.d.ts +1 -1
- package/lib/es/datePicker/yearAndMonth.d.ts +1 -1
- package/lib/es/form/baseForm.d.ts +2 -2
- package/lib/es/form/field.d.ts +2 -2
- package/lib/es/form/group.js +2 -4
- package/lib/es/image/image.d.ts +0 -4
- package/lib/es/image/image.js +1 -23
- package/lib/es/image/preview.d.ts +1 -1
- package/lib/es/image/preview.js +16 -9
- package/lib/es/image/previewContext.d.ts +0 -1
- package/lib/es/input/index.d.ts +1 -1
- package/lib/es/input/inputGroup.d.ts +1 -1
- package/lib/es/modal/confirm.d.ts +19 -19
- package/lib/es/rating/index.d.ts +1 -1
- package/lib/es/rating/item.d.ts +1 -1
- package/lib/es/steps/basicStep.js +12 -7
- package/lib/es/steps/basicSteps.js +4 -2
- package/lib/es/steps/fillStep.js +12 -7
- package/lib/es/steps/fillSteps.js +3 -2
- package/lib/es/steps/index.d.ts +1 -0
- package/lib/es/steps/index.js +3 -0
- package/lib/es/steps/navStep.js +11 -4
- package/lib/es/steps/navSteps.js +4 -2
- package/lib/es/switch/index.d.ts +1 -1
- package/lib/es/table/Body/index.d.ts +0 -1
- package/lib/es/table/Body/index.js +3 -3
- package/lib/es/table/HeadTable.d.ts +4 -4
- package/lib/es/table/HeadTable.js +3 -3
- package/lib/es/table/Table.d.ts +2 -2
- package/lib/es/table/Table.js +14 -41
- package/lib/es/table/TableCell.js +4 -15
- package/lib/es/table/TableHeader.d.ts +0 -1
- package/lib/es/table/TableHeader.js +1 -9
- package/lib/es/table/TableHeaderRow.js +1 -2
- package/lib/es/table/index.d.ts +1 -1
- package/lib/es/table/interface.d.ts +1 -2
- package/lib/es/tagInput/index.d.ts +1 -1
- package/lib/es/timePicker/TimePicker.d.ts +1 -1
- package/lib/es/timePicker/index.d.ts +1 -1
- package/lib/es/typography/base.d.ts +2 -1
- package/lib/es/typography/base.js +67 -64
- package/lib/es/typography/title.d.ts +1 -1
- package/lib/es/typography/util.d.ts +1 -4
- package/lib/es/typography/util.js +14 -36
- package/package.json +9 -8
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _omit2 = _interopRequireDefault(require("lodash/omit"));
|
|
9
|
-
|
|
10
8
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
11
9
|
|
|
12
10
|
var _react = _interopRequireDefault(require("react"));
|
|
@@ -62,7 +60,6 @@ const getRenderText = function (originEle, rows) {
|
|
|
62
60
|
const lineHeight = pxToNumber(originStyle.lineHeight);
|
|
63
61
|
const maxHeight = Math.round(lineHeight * (rows + 1) + pxToNumber(originStyle.paddingTop) + pxToNumber(originStyle.paddingBottom)); // Set shadow
|
|
64
62
|
|
|
65
|
-
const maxWidth = parseInt(originStyle.width);
|
|
66
63
|
ellipsisContainer.setAttribute('style', originCSS);
|
|
67
64
|
ellipsisContainer.style.position = 'fixed';
|
|
68
65
|
ellipsisContainer.style.left = '0';
|
|
@@ -77,32 +74,20 @@ const getRenderText = function (originEle, rows) {
|
|
|
77
74
|
|
|
78
75
|
|
|
79
76
|
function inRange() {
|
|
80
|
-
|
|
81
|
-
return ellipsisContainer.scrollWidth <= maxWidth;
|
|
82
|
-
}
|
|
83
|
-
|
|
77
|
+
// console.log('inrange?', ellipsisContainer.scrollHeight, ellipsisContainer.scrollHeight < maxHeight)
|
|
84
78
|
return ellipsisContainer.scrollHeight < maxHeight;
|
|
85
79
|
} // ========================= Find match ellipsis content =========================
|
|
86
80
|
// Create origin content holder
|
|
87
81
|
|
|
88
82
|
|
|
89
83
|
const ellipsisContentHolder = document.createElement('span');
|
|
90
|
-
const
|
|
91
|
-
ellipsisContentHolder.appendChild(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const ellipsisTextNode = document.createTextNode(suffix);
|
|
95
|
-
ellipsisContentHolder.appendChild(ellipsisTextNode);
|
|
96
|
-
}
|
|
84
|
+
const ellipsisTextNode = document.createTextNode(suffix);
|
|
85
|
+
ellipsisContentHolder.appendChild(ellipsisTextNode);
|
|
86
|
+
ellipsisContainer.appendChild(ellipsisContentHolder);
|
|
87
|
+
fixedContent.map(node => node && ellipsisContainer.appendChild(node.cloneNode(true))); // Append before fixed nodes
|
|
97
88
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
Object.values((0, _omit2.default)(fixedContent, 'expand')).map(node => node && ellipsisContainer.appendChild(node.cloneNode(true)));
|
|
101
|
-
|
|
102
|
-
function appendExpandNode() {
|
|
103
|
-
ellipsisContainer.innerHTML = '';
|
|
104
|
-
ellipsisContainer.appendChild(ellipsisContentHolder);
|
|
105
|
-
Object.values(fixedContent).map(node => node && ellipsisContainer.appendChild(node.cloneNode(true)));
|
|
89
|
+
function appendChildNode(node) {
|
|
90
|
+
ellipsisContentHolder.insertBefore(node, ellipsisTextNode);
|
|
106
91
|
}
|
|
107
92
|
|
|
108
93
|
function getCurrentText(text, pos) {
|
|
@@ -112,7 +97,7 @@ const getRenderText = function (originEle, rows) {
|
|
|
112
97
|
return ellipsisStr;
|
|
113
98
|
}
|
|
114
99
|
|
|
115
|
-
if (ellipsisPos === 'end') {
|
|
100
|
+
if (ellipsisPos === 'end' || pos > end - pos) {
|
|
116
101
|
return text.slice(0, pos) + ellipsisStr;
|
|
117
102
|
}
|
|
118
103
|
|
|
@@ -134,8 +119,8 @@ const getRenderText = function (originEle, rows) {
|
|
|
134
119
|
const currentStepText = getCurrentText(fullText, step);
|
|
135
120
|
textNode.textContent = currentStepText;
|
|
136
121
|
|
|
137
|
-
if (inRange()) {
|
|
138
|
-
return currentStepText;
|
|
122
|
+
if (inRange() || !currentStepText) {
|
|
123
|
+
return step === fullText.length ? fullText : currentStepText;
|
|
139
124
|
}
|
|
140
125
|
}
|
|
141
126
|
} else if (endLoc === 0) {
|
|
@@ -149,17 +134,9 @@ const getRenderText = function (originEle, rows) {
|
|
|
149
134
|
return measureText(textNode, fullText, startLoc, midLoc, lastSuccessLoc);
|
|
150
135
|
}
|
|
151
136
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
// 首先判断总文本长度,加上可能有的 suffix,复制按钮长度,看结果是否符合预期
|
|
156
|
-
// 如果不符合预期,则再加上展开按钮,找最大符合尺寸的内容
|
|
157
|
-
|
|
158
|
-
if (!inRange()) {
|
|
159
|
-
appendExpandNode();
|
|
160
|
-
resText = measureText(textNode, content, 0, ellipsisPos === 'middle' ? Math.floor(content.length / 2) : content.length);
|
|
161
|
-
}
|
|
162
|
-
|
|
137
|
+
const textNode = document.createTextNode(content);
|
|
138
|
+
appendChildNode(textNode);
|
|
139
|
+
const resText = measureText(textNode, content);
|
|
163
140
|
ellipsisContainer.innerHTML = '';
|
|
164
141
|
return resText;
|
|
165
142
|
};
|
package/lib/es/anchor/index.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ declare class Anchor extends BaseComponent<AnchorProps, AnchorState> {
|
|
|
39
39
|
static contextType: React.Context<ContextValue>;
|
|
40
40
|
static Link: typeof Link;
|
|
41
41
|
static PropTypes: {
|
|
42
|
-
size: PropTypes.Requireable<"
|
|
42
|
+
size: PropTypes.Requireable<"small" | "default">;
|
|
43
43
|
railTheme: PropTypes.Requireable<"primary" | "tertiary" | "muted">;
|
|
44
44
|
className: PropTypes.Requireable<string>;
|
|
45
45
|
style: PropTypes.Requireable<object>;
|
|
@@ -125,7 +125,7 @@ declare class AutoComplete<T extends AutoCompleteItems> extends BaseComponent<Au
|
|
|
125
125
|
renderSelectedItem: PropTypes.Requireable<(...args: any[]) => any>;
|
|
126
126
|
suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
127
127
|
showClear: PropTypes.Requireable<boolean>;
|
|
128
|
-
size: PropTypes.Requireable<"
|
|
128
|
+
size: PropTypes.Requireable<"small" | "default" | "large">;
|
|
129
129
|
style: PropTypes.Requireable<object>;
|
|
130
130
|
stopPropagation: PropTypes.Requireable<NonNullable<string | boolean>>;
|
|
131
131
|
maxHeight: PropTypes.Requireable<NonNullable<string | number>>;
|
|
@@ -47,7 +47,7 @@ export default class Button extends PureComponent<ButtonProps> {
|
|
|
47
47
|
disabled: PropTypes.Requireable<boolean>;
|
|
48
48
|
prefixCls: PropTypes.Requireable<string>;
|
|
49
49
|
style: PropTypes.Requireable<object>;
|
|
50
|
-
size: PropTypes.Requireable<"
|
|
50
|
+
size: PropTypes.Requireable<"small" | "default" | "large">;
|
|
51
51
|
type: PropTypes.Requireable<"warning" | "primary" | "tertiary" | "secondary" | "danger">;
|
|
52
52
|
block: PropTypes.Requireable<boolean>;
|
|
53
53
|
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -18,7 +18,7 @@ export default class ButtonGroup extends BaseComponent<ButtonGroupProps> {
|
|
|
18
18
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
19
19
|
disabled: PropTypes.Requireable<boolean>;
|
|
20
20
|
type: PropTypes.Requireable<string>;
|
|
21
|
-
size: PropTypes.Requireable<"
|
|
21
|
+
size: PropTypes.Requireable<"small" | "default" | "large">;
|
|
22
22
|
theme: PropTypes.Requireable<"solid" | "light" | "borderless">;
|
|
23
23
|
'aria-label': PropTypes.Requireable<string>;
|
|
24
24
|
};
|
package/lib/es/button/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ declare class Button extends React.PureComponent<ButtonProps> {
|
|
|
22
22
|
onMouseEnter: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
23
23
|
onMouseLeave: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
24
24
|
disabled: import("prop-types").Requireable<boolean>;
|
|
25
|
-
size: import("prop-types").Requireable<"
|
|
25
|
+
size: import("prop-types").Requireable<"small" | "default" | "large">;
|
|
26
26
|
type: import("prop-types").Requireable<"warning" | "primary" | "tertiary" | "secondary" | "danger">;
|
|
27
27
|
block: import("prop-types").Requireable<boolean>;
|
|
28
28
|
onClick: import("prop-types").Requireable<(...args: any[]) => any>;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { strings } from '@douyinfe/semi-foundation/lib/es/calendar/constants';
|
|
3
3
|
import type { ArrayElement } from '../_base/base';
|
|
4
4
|
import type { BaseProps } from '../_base/baseComponent';
|
|
5
|
-
import type { EventObject,
|
|
5
|
+
import type { EventObject, weeekStartsOnEnum } from '@douyinfe/semi-foundation/lib/es/calendar/foundation';
|
|
6
6
|
export interface CalendarProps extends BaseProps {
|
|
7
7
|
displayValue?: Date;
|
|
8
8
|
range?: Date[];
|
|
@@ -10,7 +10,7 @@ export interface CalendarProps extends BaseProps {
|
|
|
10
10
|
events?: EventObject[];
|
|
11
11
|
mode?: ArrayElement<typeof strings.MODE>;
|
|
12
12
|
showCurrTime?: boolean;
|
|
13
|
-
weekStartsOn?:
|
|
13
|
+
weekStartsOn?: weeekStartsOnEnum;
|
|
14
14
|
scrollTop?: number;
|
|
15
15
|
onClick?: (e: React.MouseEvent, value: Date) => void;
|
|
16
16
|
onClose?: (e: React.MouseEvent) => void;
|
package/lib/es/card/index.d.ts
CHANGED
|
@@ -42,8 +42,45 @@ export interface CardProps {
|
|
|
42
42
|
/** aria label */
|
|
43
43
|
'aria-label'?: string;
|
|
44
44
|
}
|
|
45
|
+
export interface CardHeaderProps {
|
|
46
|
+
title?: ReactNode;
|
|
47
|
+
headerExtraContent?: ReactNode;
|
|
48
|
+
header?: ReactNode;
|
|
49
|
+
headerLine?: boolean;
|
|
50
|
+
headerStyle?: CSSProperties;
|
|
51
|
+
}
|
|
52
|
+
export interface CardFooterProps {
|
|
53
|
+
footer?: ReactNode;
|
|
54
|
+
footerLine?: boolean;
|
|
55
|
+
footerStyle?: CSSProperties;
|
|
56
|
+
}
|
|
57
|
+
export interface CardBodyProps {
|
|
58
|
+
cover: ReactNode;
|
|
59
|
+
children: ReactNode;
|
|
60
|
+
actions: ReactNode[];
|
|
61
|
+
loading: boolean;
|
|
62
|
+
bodyStyle?: CSSProperties;
|
|
63
|
+
style?: CSSProperties;
|
|
64
|
+
}
|
|
65
|
+
declare class Header extends PureComponent<CardHeaderProps> {
|
|
66
|
+
static elementType: string;
|
|
67
|
+
render(): JSX.Element;
|
|
68
|
+
}
|
|
69
|
+
declare class Footer extends PureComponent<CardFooterProps> {
|
|
70
|
+
static elementType: string;
|
|
71
|
+
render(): JSX.Element;
|
|
72
|
+
}
|
|
73
|
+
declare class Body extends PureComponent<CardBodyProps> {
|
|
74
|
+
static elementType: string;
|
|
75
|
+
renderCover: () => ReactNode;
|
|
76
|
+
renderBody: () => ReactNode;
|
|
77
|
+
render(): JSX.Element;
|
|
78
|
+
}
|
|
45
79
|
declare class Card extends PureComponent<CardProps> {
|
|
46
80
|
static Meta: typeof Meta;
|
|
81
|
+
static Header: typeof Header;
|
|
82
|
+
static Footer: typeof Footer;
|
|
83
|
+
static Body: typeof Body;
|
|
47
84
|
static propTypes: {
|
|
48
85
|
actions: PropTypes.Requireable<any[]>;
|
|
49
86
|
bodyStyle: PropTypes.Requireable<object>;
|
|
@@ -70,10 +107,6 @@ declare class Card extends PureComponent<CardProps> {
|
|
|
70
107
|
headerLine: boolean;
|
|
71
108
|
loading: boolean;
|
|
72
109
|
};
|
|
73
|
-
renderHeader: () => ReactNode;
|
|
74
|
-
renderCover: () => ReactNode;
|
|
75
|
-
renderBody: () => ReactNode;
|
|
76
|
-
renderFooter: () => ReactNode;
|
|
77
110
|
render(): ReactNode;
|
|
78
111
|
}
|
|
79
112
|
export default Card;
|
package/lib/es/card/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _isString from "lodash/isString";
|
|
2
|
-
import _omit from "lodash/omit";
|
|
3
2
|
|
|
4
3
|
var __rest = this && this.__rest || function (s, e) {
|
|
5
4
|
var t = {};
|
|
@@ -23,53 +22,75 @@ import Typography from '../typography';
|
|
|
23
22
|
import Space from '../space';
|
|
24
23
|
const prefixcls = cssClasses.PREFIX;
|
|
25
24
|
|
|
26
|
-
class
|
|
25
|
+
class Header extends PureComponent {
|
|
26
|
+
render() {
|
|
27
|
+
const {
|
|
28
|
+
title,
|
|
29
|
+
headerExtraContent,
|
|
30
|
+
header,
|
|
31
|
+
headerLine,
|
|
32
|
+
headerStyle
|
|
33
|
+
} = this.props;
|
|
34
|
+
const headerCls = cls(`${prefixcls}-header`, {
|
|
35
|
+
[`${prefixcls}-header-bordered`]: Boolean(headerLine)
|
|
36
|
+
});
|
|
37
|
+
const headerWrapperCls = cls(`${prefixcls}-header-wrapper`);
|
|
38
|
+
const titleCls = cls(`${prefixcls}-header-wrapper-title`, {
|
|
39
|
+
[`${prefixcls}-header-wrapper-spacing`]: Boolean(headerExtraContent)
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
if (header || headerExtraContent || title) {
|
|
43
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
44
|
+
style: headerStyle,
|
|
45
|
+
className: headerCls
|
|
46
|
+
}, header ||
|
|
47
|
+
/*#__PURE__*/
|
|
48
|
+
// Priority of header over title and headerExtraContent
|
|
49
|
+
React.createElement("div", {
|
|
50
|
+
className: headerWrapperCls
|
|
51
|
+
}, title && /*#__PURE__*/React.createElement("div", {
|
|
52
|
+
className: titleCls
|
|
53
|
+
}, _isString(title) ? /*#__PURE__*/React.createElement(Typography.Title, {
|
|
54
|
+
heading: 6,
|
|
55
|
+
ellipsis: {
|
|
56
|
+
showTooltip: true,
|
|
57
|
+
rows: 1
|
|
58
|
+
},
|
|
59
|
+
"x-semi-prop": "title"
|
|
60
|
+
}, title) : title), headerExtraContent && /*#__PURE__*/React.createElement("div", {
|
|
61
|
+
className: `${prefixcls}-header-wrapper-extra`,
|
|
62
|
+
"x-semi-prop": "headerExtraContent"
|
|
63
|
+
}, headerExtraContent)));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
class Footer extends PureComponent {
|
|
72
|
+
render() {
|
|
73
|
+
const {
|
|
74
|
+
footer,
|
|
75
|
+
footerLine,
|
|
76
|
+
footerStyle
|
|
77
|
+
} = this.props;
|
|
78
|
+
const footerCls = cls(`${prefixcls}-footer`, {
|
|
79
|
+
[`${prefixcls}-footer-bordered`]: footerLine
|
|
80
|
+
});
|
|
81
|
+
return footer ? /*#__PURE__*/React.createElement("div", {
|
|
82
|
+
style: footerStyle,
|
|
83
|
+
className: footerCls,
|
|
84
|
+
"x-semi-prop": "footer"
|
|
85
|
+
}, footer) : null;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
class Body extends PureComponent {
|
|
27
91
|
constructor() {
|
|
28
92
|
super(...arguments);
|
|
29
93
|
|
|
30
|
-
this.renderHeader = () => {
|
|
31
|
-
const {
|
|
32
|
-
title,
|
|
33
|
-
headerExtraContent,
|
|
34
|
-
header,
|
|
35
|
-
headerLine,
|
|
36
|
-
headerStyle
|
|
37
|
-
} = this.props;
|
|
38
|
-
const headerCls = cls(`${prefixcls}-header`, {
|
|
39
|
-
[`${prefixcls}-header-bordered`]: Boolean(headerLine)
|
|
40
|
-
});
|
|
41
|
-
const headerWrapperCls = cls(`${prefixcls}-header-wrapper`);
|
|
42
|
-
const titleCls = cls(`${prefixcls}-header-wrapper-title`, {
|
|
43
|
-
[`${prefixcls}-header-wrapper-spacing`]: Boolean(headerExtraContent)
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
if (header || headerExtraContent || title) {
|
|
47
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
48
|
-
style: headerStyle,
|
|
49
|
-
className: headerCls
|
|
50
|
-
}, header ||
|
|
51
|
-
/*#__PURE__*/
|
|
52
|
-
// Priority of header over title and headerExtraContent
|
|
53
|
-
React.createElement("div", {
|
|
54
|
-
className: headerWrapperCls
|
|
55
|
-
}, headerExtraContent && /*#__PURE__*/React.createElement("div", {
|
|
56
|
-
className: `${prefixcls}-header-wrapper-extra`,
|
|
57
|
-
"x-semi-prop": "headerExtraContent"
|
|
58
|
-
}, headerExtraContent), title && /*#__PURE__*/React.createElement("div", {
|
|
59
|
-
className: titleCls
|
|
60
|
-
}, _isString(title) ? /*#__PURE__*/React.createElement(Typography.Title, {
|
|
61
|
-
heading: 6,
|
|
62
|
-
ellipsis: {
|
|
63
|
-
showTooltip: true,
|
|
64
|
-
rows: 1
|
|
65
|
-
},
|
|
66
|
-
"x-semi-prop": "title"
|
|
67
|
-
}, title) : title)));
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return null;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
94
|
this.renderCover = () => {
|
|
74
95
|
const {
|
|
75
96
|
cover
|
|
@@ -86,7 +107,7 @@ class Card extends PureComponent {
|
|
|
86
107
|
bodyStyle,
|
|
87
108
|
children,
|
|
88
109
|
actions,
|
|
89
|
-
loading
|
|
110
|
+
loading = false
|
|
90
111
|
} = this.props;
|
|
91
112
|
const bodyCls = cls(`${prefixcls}-body`);
|
|
92
113
|
const actionsCls = cls(`${prefixcls}-body-actions`);
|
|
@@ -111,51 +132,211 @@ class Card extends PureComponent {
|
|
|
111
132
|
"x-semi-prop": `actions.${idx}`
|
|
112
133
|
}, item)))));
|
|
113
134
|
};
|
|
135
|
+
}
|
|
114
136
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
const footerCls = cls(`${prefixcls}-footer`, {
|
|
122
|
-
[`${prefixcls}-footer-bordered`]: footerLine
|
|
123
|
-
});
|
|
124
|
-
return footer && /*#__PURE__*/React.createElement("div", {
|
|
125
|
-
style: footerStyle,
|
|
126
|
-
className: footerCls,
|
|
127
|
-
"x-semi-prop": "footer"
|
|
128
|
-
}, footer);
|
|
129
|
-
};
|
|
137
|
+
render() {
|
|
138
|
+
const bodyWrapperCls = cls(`${prefixcls}-body-wrapper`);
|
|
139
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
140
|
+
className: bodyWrapperCls,
|
|
141
|
+
style: this.props.style
|
|
142
|
+
}, this.renderCover(), this.renderBody());
|
|
130
143
|
}
|
|
131
144
|
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
Header.elementType = 'Card.Header';
|
|
148
|
+
Footer.elementType = 'Card.Footer';
|
|
149
|
+
Body.elementType = 'Card.Body';
|
|
150
|
+
|
|
151
|
+
class Card extends PureComponent {
|
|
152
|
+
// renderHeader = (): ReactNode => {
|
|
153
|
+
// const {
|
|
154
|
+
// title,
|
|
155
|
+
// headerExtraContent,
|
|
156
|
+
// header,
|
|
157
|
+
// headerLine,
|
|
158
|
+
// headerStyle
|
|
159
|
+
// } = this.props;
|
|
160
|
+
// const headerCls = cls(`${prefixcls}-header`, {
|
|
161
|
+
// [`${prefixcls}-header-bordered`]: Boolean(headerLine)
|
|
162
|
+
// });
|
|
163
|
+
// const headerWrapperCls = cls(`${prefixcls}-header-wrapper`);
|
|
164
|
+
// const titleCls = cls(`${prefixcls}-header-wrapper-title`, {
|
|
165
|
+
// [`${prefixcls}-header-wrapper-spacing`]: Boolean(headerExtraContent)
|
|
166
|
+
// });
|
|
167
|
+
// if (header || headerExtraContent || title) {
|
|
168
|
+
// return (
|
|
169
|
+
// <div style={headerStyle} className={headerCls}>
|
|
170
|
+
// {header || ( // Priority of header over title and headerExtraContent
|
|
171
|
+
// <div className={headerWrapperCls}>
|
|
172
|
+
// {headerExtraContent && (
|
|
173
|
+
// <div
|
|
174
|
+
// className={`${prefixcls}-header-wrapper-extra`}
|
|
175
|
+
// x-semi-prop="headerExtraContent"
|
|
176
|
+
// >
|
|
177
|
+
// {headerExtraContent}
|
|
178
|
+
// </div>
|
|
179
|
+
// )}
|
|
180
|
+
// {title && (
|
|
181
|
+
// <div className={titleCls}>
|
|
182
|
+
// {isString(title) ? (
|
|
183
|
+
// <Typography.Title
|
|
184
|
+
// heading={6}
|
|
185
|
+
// ellipsis={{ showTooltip: true, rows: 1 }}
|
|
186
|
+
// x-semi-prop="title"
|
|
187
|
+
// >
|
|
188
|
+
// {title}
|
|
189
|
+
// </Typography.Title>
|
|
190
|
+
// ) : (
|
|
191
|
+
// title
|
|
192
|
+
// )}
|
|
193
|
+
// </div>
|
|
194
|
+
// )}
|
|
195
|
+
// </div>
|
|
196
|
+
// )}
|
|
197
|
+
// </div>
|
|
198
|
+
// );
|
|
199
|
+
// }
|
|
200
|
+
// return null;
|
|
201
|
+
// };
|
|
202
|
+
// renderCover = (): ReactNode => {
|
|
203
|
+
// const {
|
|
204
|
+
// cover
|
|
205
|
+
// } = this.props;
|
|
206
|
+
// const coverCls = cls(`${prefixcls}-cover`);
|
|
207
|
+
// return (
|
|
208
|
+
// cover && (
|
|
209
|
+
// <div className={coverCls} x-semi-prop="cover">
|
|
210
|
+
// {cover}
|
|
211
|
+
// </div>
|
|
212
|
+
// )
|
|
213
|
+
// );
|
|
214
|
+
// };
|
|
215
|
+
// renderBody = (): ReactNode => {
|
|
216
|
+
// const { bodyStyle, children, actions, loading } = this.props;
|
|
217
|
+
// const bodyCls = cls(`${prefixcls}-body`);
|
|
218
|
+
// const actionsCls = cls(`${prefixcls}-body-actions`);
|
|
219
|
+
// const actionsItemCls = cls(`${prefixcls}-body-actions-item`);
|
|
220
|
+
// const placeholder = (
|
|
221
|
+
// <div>
|
|
222
|
+
// <Skeleton.Title />
|
|
223
|
+
// <br />
|
|
224
|
+
// <Skeleton.Paragraph rows={3} />
|
|
225
|
+
// </div>
|
|
226
|
+
// );
|
|
227
|
+
// return (
|
|
228
|
+
// <div style={bodyStyle} className={bodyCls}>
|
|
229
|
+
// {children && (
|
|
230
|
+
// <Skeleton placeholder={placeholder} loading={loading} active>
|
|
231
|
+
// {children}
|
|
232
|
+
// </Skeleton>
|
|
233
|
+
// )}
|
|
234
|
+
// {
|
|
235
|
+
// Array.isArray(actions) &&
|
|
236
|
+
// (
|
|
237
|
+
// <div className={actionsCls}>
|
|
238
|
+
// <Space spacing={12}>
|
|
239
|
+
// {actions.map((item, idx) => (
|
|
240
|
+
// <div key={idx} className={actionsItemCls} x-semi-prop={`actions.${idx}`}>{item}</div>
|
|
241
|
+
// ))}
|
|
242
|
+
// </Space>
|
|
243
|
+
// </div>
|
|
244
|
+
// )
|
|
245
|
+
// }
|
|
246
|
+
// </div>
|
|
247
|
+
// );
|
|
248
|
+
// };
|
|
249
|
+
// renderFooter = (): ReactNode => {
|
|
250
|
+
// const {
|
|
251
|
+
// footer,
|
|
252
|
+
// footerLine,
|
|
253
|
+
// footerStyle
|
|
254
|
+
// } = this.props;
|
|
255
|
+
// const footerCls = cls(`${prefixcls}-footer`, {
|
|
256
|
+
// [`${prefixcls}-footer-bordered`]: footerLine
|
|
257
|
+
// });
|
|
258
|
+
// return (
|
|
259
|
+
// footer && (
|
|
260
|
+
// <div style={footerStyle} className={footerCls} x-semi-prop="footer">
|
|
261
|
+
// {footer}
|
|
262
|
+
// </div>
|
|
263
|
+
// )
|
|
264
|
+
// );
|
|
265
|
+
// };
|
|
132
266
|
render() {
|
|
133
267
|
const _a = this.props,
|
|
134
268
|
{
|
|
135
269
|
bordered,
|
|
136
270
|
shadows,
|
|
137
271
|
style,
|
|
138
|
-
className
|
|
272
|
+
className,
|
|
273
|
+
actions,
|
|
274
|
+
bodyStyle,
|
|
275
|
+
cover,
|
|
276
|
+
headerExtraContent,
|
|
277
|
+
footer,
|
|
278
|
+
footerLine,
|
|
279
|
+
footerStyle,
|
|
280
|
+
header,
|
|
281
|
+
headerLine,
|
|
282
|
+
headerStyle,
|
|
283
|
+
loading,
|
|
284
|
+
title,
|
|
285
|
+
children
|
|
139
286
|
} = _a,
|
|
140
|
-
otherProps = __rest(_a, ["bordered", "shadows", "style", "className"]);
|
|
287
|
+
otherProps = __rest(_a, ["bordered", "shadows", "style", "className", "actions", "bodyStyle", "cover", "headerExtraContent", "footer", "footerLine", "footerStyle", "header", "headerLine", "headerStyle", "loading", "title", "children"]); // const others = omit(otherProps, [ // Remove APIs in otherProps that do not need to be hung on the outer node
|
|
288
|
+
// 'actions',
|
|
289
|
+
// 'bodyStyle',
|
|
290
|
+
// 'cover',
|
|
291
|
+
// 'headerExtraContent',
|
|
292
|
+
// 'footer',
|
|
293
|
+
// 'footerLine',
|
|
294
|
+
// 'footerStyle',
|
|
295
|
+
// 'header',
|
|
296
|
+
// 'headerLine',
|
|
297
|
+
// 'headerStyle',
|
|
298
|
+
// 'loading',
|
|
299
|
+
// 'title'
|
|
300
|
+
// ]);
|
|
141
301
|
|
|
142
|
-
const others = _omit(otherProps, ['actions', 'bodyStyle', 'cover', 'headerExtraContent', 'footer', 'footerLine', 'footerStyle', 'header', 'headerLine', 'headerStyle', 'loading', 'title']);
|
|
143
302
|
|
|
144
303
|
const cardCls = cls(prefixcls, className, {
|
|
145
304
|
[`${prefixcls}-bordered`]: bordered,
|
|
146
305
|
[`${prefixcls}-shadows`]: shadows,
|
|
147
306
|
[`${prefixcls}-shadows-${shadows}`]: shadows
|
|
148
307
|
});
|
|
149
|
-
|
|
308
|
+
const headProps = {
|
|
309
|
+
title,
|
|
310
|
+
headerExtraContent,
|
|
311
|
+
header,
|
|
312
|
+
headerLine,
|
|
313
|
+
headerStyle
|
|
314
|
+
};
|
|
315
|
+
const bodyProps = {
|
|
316
|
+
cover,
|
|
317
|
+
bodyStyle,
|
|
318
|
+
children,
|
|
319
|
+
actions,
|
|
320
|
+
loading
|
|
321
|
+
};
|
|
322
|
+
const footerProps = {
|
|
323
|
+
footer,
|
|
324
|
+
footerLine,
|
|
325
|
+
footerStyle
|
|
326
|
+
};
|
|
327
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({}, otherProps, {
|
|
150
328
|
"aria-busy": this.props.loading,
|
|
151
329
|
className: cardCls,
|
|
152
330
|
style: style
|
|
153
|
-
}),
|
|
331
|
+
}), /*#__PURE__*/React.createElement(Header, Object.assign({}, headProps)), /*#__PURE__*/React.createElement(Body, Object.assign({}, bodyProps)), /*#__PURE__*/React.createElement(Footer, Object.assign({}, footerProps)));
|
|
154
332
|
}
|
|
155
333
|
|
|
156
334
|
}
|
|
157
335
|
|
|
158
336
|
Card.Meta = Meta;
|
|
337
|
+
Card.Header = Header;
|
|
338
|
+
Card.Footer = Footer;
|
|
339
|
+
Card.Body = Body;
|
|
159
340
|
Card.propTypes = {
|
|
160
341
|
actions: PropTypes.array,
|
|
161
342
|
bodyStyle: PropTypes.object,
|
|
@@ -200,8 +200,6 @@ declare class Cascader extends BaseComponent<CascaderProps, CascaderState> {
|
|
|
200
200
|
handleListScroll: (e: React.UIEvent<HTMLUListElement, UIEvent>, ind: number) => void;
|
|
201
201
|
close(): void;
|
|
202
202
|
open(): void;
|
|
203
|
-
focus(): void;
|
|
204
|
-
blur(): void;
|
|
205
203
|
renderContent: () => JSX.Element;
|
|
206
204
|
renderPlusN: (hiddenTag: Array<ReactNode>) => JSX.Element;
|
|
207
205
|
renderMultipleTags: () => JSX.Element;
|
package/lib/es/cascader/index.js
CHANGED
|
@@ -591,11 +591,6 @@ class Cascader extends BaseComponent {
|
|
|
591
591
|
preventScroll
|
|
592
592
|
});
|
|
593
593
|
}
|
|
594
|
-
},
|
|
595
|
-
blurInput: () => {
|
|
596
|
-
if (this.inputRef && this.inputRef.current) {
|
|
597
|
-
this.inputRef.current.blur();
|
|
598
|
-
}
|
|
599
594
|
}
|
|
600
595
|
};
|
|
601
596
|
const cascaderAdapter = {
|
|
@@ -932,14 +927,6 @@ class Cascader extends BaseComponent {
|
|
|
932
927
|
this.foundation.open();
|
|
933
928
|
}
|
|
934
929
|
|
|
935
|
-
focus() {
|
|
936
|
-
this.foundation.focus();
|
|
937
|
-
}
|
|
938
|
-
|
|
939
|
-
blur() {
|
|
940
|
-
this.foundation.blur();
|
|
941
|
-
}
|
|
942
|
-
|
|
943
930
|
render() {
|
|
944
931
|
const {
|
|
945
932
|
zIndex,
|
|
@@ -30,7 +30,7 @@ export default class DateInput extends BaseComponent<DateInputProps, {}> {
|
|
|
30
30
|
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
|
|
31
31
|
value: PropTypes.Requireable<any[]>;
|
|
32
32
|
disabled: PropTypes.Requireable<boolean>;
|
|
33
|
-
type: PropTypes.Requireable<"
|
|
33
|
+
type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
|
|
34
34
|
showClear: PropTypes.Requireable<boolean>;
|
|
35
35
|
format: PropTypes.Requireable<string>;
|
|
36
36
|
inputStyle: PropTypes.Requireable<object>;
|
|
@@ -58,8 +58,8 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
|
|
|
58
58
|
'aria-labelledby': PropTypes.Requireable<string>;
|
|
59
59
|
'aria-required': PropTypes.Requireable<boolean>;
|
|
60
60
|
borderless: PropTypes.Requireable<boolean>;
|
|
61
|
-
type: PropTypes.Requireable<"
|
|
62
|
-
size: PropTypes.Requireable<"
|
|
61
|
+
type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
|
|
62
|
+
size: PropTypes.Requireable<"small" | "default" | "large">;
|
|
63
63
|
clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
64
64
|
density: PropTypes.Requireable<"default" | "compact">;
|
|
65
65
|
defaultValue: PropTypes.Requireable<NonNullable<string | number | object>>;
|
|
@@ -19,7 +19,7 @@ export interface MonthsGridProps extends MonthsGridFoundationProps, BaseProps {
|
|
|
19
19
|
export declare type MonthsGridState = MonthsGridFoundationState;
|
|
20
20
|
export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGridState> {
|
|
21
21
|
static propTypes: {
|
|
22
|
-
type: PropTypes.Requireable<"
|
|
22
|
+
type: PropTypes.Requireable<"date" | "month" | "dateTime" | "dateRange" | "year" | "monthRange" | "dateTimeRange">;
|
|
23
23
|
defaultValue: PropTypes.Requireable<any[]>;
|
|
24
24
|
defaultPickerValue: PropTypes.Requireable<NonNullable<string | number | object>>;
|
|
25
25
|
multiple: PropTypes.Requireable<boolean>;
|