@douyinfe/semi-ui 2.12.0-alpha.0 → 2.12.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/avatar/index.tsx +2 -2
- package/backtop/index.tsx +7 -11
- package/badge/index.tsx +1 -1
- package/banner/index.tsx +5 -5
- package/breadcrumb/index.tsx +3 -5
- package/button/Button.tsx +9 -11
- package/card/index.tsx +41 -43
- package/carousel/CarouselArrow.tsx +0 -2
- package/carousel/index.tsx +0 -1
- package/cascader/index.tsx +123 -101
- package/cascader/item.tsx +1 -1
- package/checkbox/checkbox.tsx +2 -13
- package/collapsible/index.tsx +1 -8
- package/datePicker/dateInput.tsx +0 -1
- package/datePicker/datePicker.tsx +5 -13
- package/dist/umd/semi-ui.js +626 -500
- 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/divider/index.tsx +4 -8
- package/dropdown/index.tsx +1 -1
- package/empty/index.tsx +5 -13
- package/form/hoc/withField.tsx +1 -1
- package/form/label.tsx +1 -1
- package/grid/col.tsx +1 -1
- package/grid/row.tsx +1 -1
- package/iconButton/index.tsx +1 -2
- package/input/index.tsx +11 -38
- package/lib/cjs/avatar/index.js +2 -4
- package/lib/cjs/backtop/index.js +1 -2
- package/lib/cjs/badge/index.js +1 -2
- package/lib/cjs/banner/index.js +4 -9
- package/lib/cjs/breadcrumb/index.js +3 -4
- package/lib/cjs/button/Button.d.ts +1 -1
- package/lib/cjs/button/Button.js +3 -13
- package/lib/cjs/card/index.js +5 -10
- package/lib/cjs/carousel/CarouselArrow.js +2 -6
- package/lib/cjs/carousel/index.js +1 -2
- package/lib/cjs/cascader/index.js +6 -9
- package/lib/cjs/cascader/item.js +1 -2
- package/lib/cjs/checkbox/checkbox.js +4 -8
- package/lib/cjs/collapsible/index.js +1 -2
- package/lib/cjs/datePicker/dateInput.d.ts +1 -1
- package/lib/cjs/datePicker/dateInput.js +1 -2
- package/lib/cjs/datePicker/datePicker.d.ts +1 -1
- package/lib/cjs/datePicker/datePicker.js +2 -4
- package/lib/cjs/datePicker/monthsGrid.d.ts +2 -2
- package/lib/cjs/divider/index.js +1 -2
- package/lib/cjs/dropdown/index.js +1 -2
- package/lib/cjs/empty/index.js +4 -8
- package/lib/cjs/form/baseForm.d.ts +1 -1
- package/lib/cjs/form/field.d.ts +1 -1
- package/lib/cjs/form/hoc/withField.js +1 -2
- package/lib/cjs/form/label.js +1 -2
- package/lib/cjs/grid/col.js +1 -2
- package/lib/cjs/grid/row.js +1 -2
- package/lib/cjs/iconButton/index.js +1 -3
- package/lib/cjs/input/index.js +5 -9
- package/lib/cjs/list/index.js +3 -6
- package/lib/cjs/modal/ConfirmModal.js +1 -2
- package/lib/cjs/modal/Modal.js +5 -8
- package/lib/cjs/modal/ModalContent.d.ts +2 -0
- package/lib/cjs/modal/ModalContent.js +23 -22
- package/lib/cjs/notification/notice.js +3 -6
- package/lib/cjs/pagination/index.js +2 -4
- package/lib/cjs/popconfirm/index.js +3 -6
- package/lib/cjs/progress/index.js +1 -1
- package/lib/cjs/radio/radio.d.ts +1 -1
- package/lib/cjs/radio/radio.js +2 -4
- package/lib/cjs/radio/radioGroup.d.ts +1 -1
- package/lib/cjs/rating/item.js +1 -2
- package/lib/cjs/scrollList/index.js +3 -6
- package/lib/cjs/select/index.js +4 -8
- package/lib/cjs/select/option.js +1 -2
- package/lib/cjs/sideSheet/SideSheetContent.js +3 -6
- package/lib/cjs/skeleton/index.js +1 -3
- package/lib/cjs/space/index.js +1 -2
- package/lib/cjs/spin/index.js +3 -7
- package/lib/cjs/switch/index.js +4 -6
- package/lib/cjs/table/Table.d.ts +1 -1
- package/lib/cjs/table/Table.js +3 -6
- package/lib/cjs/tabs/TabBar.js +1 -2
- package/lib/cjs/tabs/TabPane.js +2 -5
- package/lib/cjs/tagInput/index.js +2 -4
- package/lib/cjs/timePicker/Combobox.js +1 -3
- package/lib/cjs/toast/toast.js +3 -6
- package/lib/cjs/tooltip/TooltipStyledTransition.js +5 -2
- package/lib/cjs/transfer/index.js +1 -2
- package/lib/cjs/tree/treeNode.js +1 -2
- package/lib/cjs/treeSelect/index.js +3 -6
- package/lib/cjs/typography/base.js +1 -2
- package/lib/cjs/typography/title.d.ts +1 -1
- package/lib/cjs/upload/index.d.ts +1 -1
- package/lib/cjs/upload/index.js +6 -13
- package/lib/es/avatar/index.js +2 -4
- package/lib/es/backtop/index.js +1 -2
- package/lib/es/badge/index.js +1 -2
- package/lib/es/banner/index.js +4 -9
- package/lib/es/breadcrumb/index.js +3 -4
- package/lib/es/button/Button.d.ts +1 -1
- package/lib/es/button/Button.js +3 -11
- package/lib/es/card/index.js +5 -10
- package/lib/es/carousel/CarouselArrow.js +2 -6
- package/lib/es/carousel/index.js +1 -2
- package/lib/es/cascader/index.js +6 -9
- package/lib/es/cascader/item.js +1 -2
- package/lib/es/checkbox/checkbox.js +4 -8
- package/lib/es/collapsible/index.js +1 -2
- package/lib/es/datePicker/dateInput.d.ts +1 -1
- package/lib/es/datePicker/dateInput.js +1 -2
- package/lib/es/datePicker/datePicker.d.ts +1 -1
- package/lib/es/datePicker/datePicker.js +2 -4
- package/lib/es/datePicker/monthsGrid.d.ts +2 -2
- package/lib/es/divider/index.js +1 -2
- package/lib/es/dropdown/index.js +1 -2
- package/lib/es/empty/index.js +4 -8
- package/lib/es/form/baseForm.d.ts +1 -1
- package/lib/es/form/field.d.ts +1 -1
- package/lib/es/form/hoc/withField.js +1 -2
- package/lib/es/form/label.js +1 -2
- package/lib/es/grid/col.js +1 -2
- package/lib/es/grid/row.js +1 -2
- package/lib/es/iconButton/index.js +1 -3
- package/lib/es/input/index.js +5 -9
- package/lib/es/list/index.js +3 -6
- package/lib/es/modal/ConfirmModal.js +1 -2
- package/lib/es/modal/Modal.js +5 -8
- package/lib/es/modal/ModalContent.d.ts +2 -0
- package/lib/es/modal/ModalContent.js +22 -22
- package/lib/es/notification/notice.js +3 -6
- package/lib/es/pagination/index.js +2 -4
- package/lib/es/popconfirm/index.js +3 -6
- package/lib/es/progress/index.js +1 -1
- package/lib/es/radio/radio.d.ts +1 -1
- package/lib/es/radio/radio.js +2 -4
- package/lib/es/radio/radioGroup.d.ts +1 -1
- package/lib/es/rating/item.js +1 -2
- package/lib/es/scrollList/index.js +3 -6
- package/lib/es/select/index.js +4 -8
- package/lib/es/select/option.js +1 -2
- package/lib/es/sideSheet/SideSheetContent.js +3 -6
- package/lib/es/skeleton/index.js +1 -3
- package/lib/es/space/index.js +1 -2
- package/lib/es/spin/index.js +3 -7
- package/lib/es/switch/index.js +4 -6
- package/lib/es/table/Table.d.ts +1 -1
- package/lib/es/table/Table.js +3 -6
- package/lib/es/tabs/TabBar.js +1 -2
- package/lib/es/tabs/TabPane.js +2 -5
- package/lib/es/tagInput/index.js +2 -4
- package/lib/es/timePicker/Combobox.js +1 -3
- package/lib/es/toast/toast.js +3 -6
- package/lib/es/tooltip/TooltipStyledTransition.js +5 -2
- package/lib/es/transfer/index.js +1 -2
- package/lib/es/tree/treeNode.js +1 -2
- package/lib/es/treeSelect/index.js +3 -6
- package/lib/es/typography/base.js +1 -2
- package/lib/es/typography/title.d.ts +1 -1
- package/lib/es/upload/index.d.ts +1 -1
- package/lib/es/upload/index.js +6 -13
- package/list/index.tsx +4 -16
- package/modal/ConfirmModal.tsx +1 -1
- package/modal/Modal.tsx +2 -3
- package/modal/ModalContent.tsx +34 -40
- package/notification/notice.tsx +4 -16
- package/package.json +9 -9
- package/pagination/index.tsx +2 -16
- package/popconfirm/index.tsx +3 -11
- package/progress/index.tsx +1 -1
- package/radio/radio.tsx +2 -10
- package/rating/item.tsx +1 -1
- package/scrollList/index.tsx +3 -19
- package/select/index.tsx +4 -12
- package/select/option.tsx +1 -5
- package/sideSheet/SideSheetContent.tsx +3 -3
- package/skeleton/index.tsx +1 -1
- package/space/index.tsx +1 -1
- package/spin/index.tsx +9 -15
- package/switch/index.tsx +14 -9
- package/table/Table.tsx +3 -5
- package/tabs/TabBar.tsx +1 -1
- package/tabs/TabPane.tsx +4 -9
- package/tagInput/index.tsx +2 -2
- package/timePicker/Combobox.tsx +1 -6
- package/toast/toast.tsx +3 -3
- package/tooltip/TooltipStyledTransition.tsx +2 -1
- package/tooltip/_story/tooltip.stories.js +90 -0
- package/transfer/index.tsx +0 -1
- package/tree/treeNode.tsx +1 -1
- package/treeSelect/index.tsx +3 -15
- package/typography/base.tsx +1 -1
- package/upload/index.tsx +38 -107
package/modal/ModalContent.tsx
CHANGED
|
@@ -13,9 +13,9 @@ import ModalContentFoundation, {
|
|
|
13
13
|
ModalContentProps,
|
|
14
14
|
ModalContentState
|
|
15
15
|
} from '@douyinfe/semi-foundation/modal/modalContentFoundation';
|
|
16
|
-
import {
|
|
16
|
+
import { get, isFunction, noop } from 'lodash';
|
|
17
17
|
import { IconClose } from '@douyinfe/semi-icons';
|
|
18
|
-
import
|
|
18
|
+
import FocusTrapHandle from "@douyinfe/semi-foundation/utils/FocusHandle";
|
|
19
19
|
|
|
20
20
|
let uuid = 0;
|
|
21
21
|
|
|
@@ -23,6 +23,7 @@ let uuid = 0;
|
|
|
23
23
|
export interface ModalContentReactProps extends ModalContentProps {
|
|
24
24
|
children?: React.ReactNode;
|
|
25
25
|
}
|
|
26
|
+
|
|
26
27
|
export default class ModalContent extends BaseComponent<ModalContentReactProps, ModalContentState> {
|
|
27
28
|
static contextType = ConfigContext;
|
|
28
29
|
static propTypes = {
|
|
@@ -45,12 +46,13 @@ export default class ModalContent extends BaseComponent<ModalContentReactProps,
|
|
|
45
46
|
modalDialogRef: React.MutableRefObject<HTMLDivElement>;
|
|
46
47
|
foundation: ModalContentFoundation;
|
|
47
48
|
context: ContextValue;
|
|
49
|
+
focusTrapHandle: FocusTrapHandle;
|
|
48
50
|
|
|
49
51
|
constructor(props: ModalContentProps) {
|
|
50
52
|
super(props);
|
|
51
53
|
this.state = {
|
|
52
54
|
dialogMouseDown: false,
|
|
53
|
-
prevFocusElement: getActiveElement(),
|
|
55
|
+
prevFocusElement: FocusTrapHandle.getActiveElement(),
|
|
54
56
|
};
|
|
55
57
|
this.foundation = new ModalContentFoundation(this.adapter);
|
|
56
58
|
this.dialogId = `dialog-${uuid++}`;
|
|
@@ -88,15 +90,18 @@ export default class ModalContent extends BaseComponent<ModalContentReactProps,
|
|
|
88
90
|
modalDialogFocus: () => {
|
|
89
91
|
let activeElementInDialog;
|
|
90
92
|
if (this.modalDialogRef) {
|
|
91
|
-
const activeElement = getActiveElement();
|
|
93
|
+
const activeElement = FocusTrapHandle.getActiveElement();
|
|
92
94
|
activeElementInDialog = this.modalDialogRef.current.contains(activeElement);
|
|
95
|
+
this.focusTrapHandle?.destroy();
|
|
96
|
+
this.focusTrapHandle = new FocusTrapHandle(this.modalDialogRef.current);
|
|
93
97
|
}
|
|
94
98
|
if (!activeElementInDialog) {
|
|
95
|
-
this.modalDialogRef
|
|
99
|
+
this.modalDialogRef?.current?.focus();
|
|
96
100
|
}
|
|
97
101
|
},
|
|
98
102
|
modalDialogBlur: () => {
|
|
99
|
-
this.modalDialogRef
|
|
103
|
+
this.modalDialogRef?.current.blur();
|
|
104
|
+
this.focusTrapHandle?.destroy();
|
|
100
105
|
},
|
|
101
106
|
prevFocusElementReFocus: () => {
|
|
102
107
|
const { prevFocusElement } = this.state;
|
|
@@ -158,7 +163,7 @@ export default class ModalContent extends BaseComponent<ModalContentReactProps,
|
|
|
158
163
|
} = this.props;
|
|
159
164
|
let closer;
|
|
160
165
|
if (closable) {
|
|
161
|
-
const iconType = closeIcon || <IconClose
|
|
166
|
+
const iconType = closeIcon || <IconClose/>;
|
|
162
167
|
closer = (
|
|
163
168
|
<Button
|
|
164
169
|
aria-label="close"
|
|
@@ -177,7 +182,7 @@ export default class ModalContent extends BaseComponent<ModalContentReactProps,
|
|
|
177
182
|
|
|
178
183
|
renderIcon = () => {
|
|
179
184
|
const { icon } = this.props;
|
|
180
|
-
return icon ? <span className={`${cssClasses.DIALOG}-icon-wrapper`}
|
|
185
|
+
return icon ? <span className={`${cssClasses.DIALOG}-icon-wrapper`}>{icon}</span> : null;
|
|
181
186
|
};
|
|
182
187
|
|
|
183
188
|
renderHeader = () => {
|
|
@@ -187,20 +192,16 @@ export default class ModalContent extends BaseComponent<ModalContentReactProps,
|
|
|
187
192
|
const { title } = this.props;
|
|
188
193
|
const closer = this.renderCloseBtn();
|
|
189
194
|
const icon = this.renderIcon();
|
|
190
|
-
return title === null || title === undefined ?
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
<
|
|
194
|
-
|
|
195
|
-
className={`${cssClasses.DIALOG}-title`}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
>
|
|
199
|
-
|
|
200
|
-
</Typography.Title>
|
|
201
|
-
{closer}
|
|
202
|
-
</div>
|
|
203
|
-
);
|
|
195
|
+
return (title === null || title === undefined) ?
|
|
196
|
+
null :
|
|
197
|
+
(
|
|
198
|
+
<div className={`${cssClasses.DIALOG}-header`}>
|
|
199
|
+
{icon}
|
|
200
|
+
<Typography.Title heading={5} className={`${cssClasses.DIALOG}-title`}
|
|
201
|
+
id={`${cssClasses.DIALOG}-title`}>{title}</Typography.Title>
|
|
202
|
+
{closer}
|
|
203
|
+
</div>
|
|
204
|
+
);
|
|
204
205
|
};
|
|
205
206
|
|
|
206
207
|
renderBody = () => {
|
|
@@ -215,19 +216,16 @@ export default class ModalContent extends BaseComponent<ModalContentReactProps,
|
|
|
215
216
|
const closer = this.renderCloseBtn();
|
|
216
217
|
const icon = this.renderIcon();
|
|
217
218
|
const hasHeader = title !== null && title !== undefined || 'header' in this.props;
|
|
218
|
-
return hasHeader ?
|
|
219
|
-
<div className={bodyCls} id={`${cssClasses.DIALOG}-body`} style={bodyStyle}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
<div className={bodyCls} style={bodyStyle} x-semi-prop="children">
|
|
226
|
-
{children}
|
|
219
|
+
return hasHeader ?
|
|
220
|
+
<div className={bodyCls} id={`${cssClasses.DIALOG}-body`} style={bodyStyle}>{children}</div> :
|
|
221
|
+
(
|
|
222
|
+
<div className={`${cssClasses.DIALOG}-body-wrapper`}>
|
|
223
|
+
{icon}
|
|
224
|
+
<div className={bodyCls} style={bodyStyle}>{children}</div>
|
|
225
|
+
{closer}
|
|
227
226
|
</div>
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
);
|
|
227
|
+
);
|
|
228
|
+
|
|
231
229
|
};
|
|
232
230
|
|
|
233
231
|
getDialogElement = () => {
|
|
@@ -250,11 +248,7 @@ export default class ModalContent extends BaseComponent<ModalContentReactProps,
|
|
|
250
248
|
}
|
|
251
249
|
const body = this.renderBody();
|
|
252
250
|
const header = this.renderHeader();
|
|
253
|
-
const footer = props.footer ?
|
|
254
|
-
<div className={`${cssClasses.DIALOG}-footer`} x-semi-prop="footer">
|
|
255
|
-
{props.footer}
|
|
256
|
-
</div>
|
|
257
|
-
) : null;
|
|
251
|
+
const footer = props.footer ? <div className={`${cssClasses.DIALOG}-footer`}>{props.footer}</div> : null;
|
|
258
252
|
const dialogElement = (
|
|
259
253
|
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
260
254
|
<div
|
|
@@ -267,6 +261,7 @@ export default class ModalContent extends BaseComponent<ModalContentReactProps,
|
|
|
267
261
|
<div
|
|
268
262
|
role="dialog"
|
|
269
263
|
ref={this.modalDialogRef}
|
|
264
|
+
tabIndex={-1}
|
|
270
265
|
aria-modal="true"
|
|
271
266
|
aria-labelledby={`${cssClasses.DIALOG}-title`}
|
|
272
267
|
aria-describedby={`${cssClasses.DIALOG}-body`}
|
|
@@ -316,7 +311,6 @@ export default class ModalContent extends BaseComponent<ModalContentReactProps,
|
|
|
316
311
|
</div>
|
|
317
312
|
);
|
|
318
313
|
|
|
319
|
-
// @ts-ignore Unreachable branch
|
|
320
314
|
// eslint-disable-next-line max-len
|
|
321
315
|
return containerContext && containerContext.Provider ?
|
|
322
316
|
<containerContext.Provider value={containerContext.value}>{elem}</containerContext.Provider> : elem;
|
package/notification/notice.tsx
CHANGED
|
@@ -106,7 +106,7 @@ class Notice extends BaseComponent<NoticeReactProps, NoticeState> {
|
|
|
106
106
|
}
|
|
107
107
|
if (iconType) {
|
|
108
108
|
return (
|
|
109
|
-
<div className={iconCls}
|
|
109
|
+
<div className={iconCls}>
|
|
110
110
|
{isSemiIcon(iconType) ? React.cloneElement(iconType, { size: iconType.props.size || 'large' }) : iconType}
|
|
111
111
|
</div>
|
|
112
112
|
);
|
|
@@ -170,26 +170,14 @@ class Notice extends BaseComponent<NoticeReactProps, NoticeState> {
|
|
|
170
170
|
<div>{this.renderTypeIcon()}</div>
|
|
171
171
|
<div className={`${prefixCls}-inner`}>
|
|
172
172
|
<div className={`${prefixCls}-content-wrapper`}>
|
|
173
|
-
{title ?
|
|
174
|
-
|
|
175
|
-
{title}
|
|
176
|
-
</div>
|
|
177
|
-
) : (
|
|
178
|
-
''
|
|
179
|
-
)}
|
|
180
|
-
{content ? (
|
|
181
|
-
<div className={`${prefixCls}-content`} x-semi-prop="content">
|
|
182
|
-
{content}
|
|
183
|
-
</div>
|
|
184
|
-
) : (
|
|
185
|
-
''
|
|
186
|
-
)}
|
|
173
|
+
{title ? <div id={titleID} className={`${prefixCls}-title`}>{title}</div> : ''}
|
|
174
|
+
{content ? <div className={`${prefixCls}-content`}>{content}</div> : ''}
|
|
187
175
|
</div>
|
|
188
176
|
{showClose && (
|
|
189
177
|
<Button
|
|
190
178
|
className={`${prefixCls}-icon-close`}
|
|
191
179
|
type="tertiary"
|
|
192
|
-
icon={<IconClose
|
|
180
|
+
icon={<IconClose/>}
|
|
193
181
|
theme="borderless"
|
|
194
182
|
size="small"
|
|
195
183
|
onClick={this.close}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@douyinfe/semi-ui",
|
|
3
|
-
"version": "2.12.0-
|
|
3
|
+
"version": "2.12.0-beta.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es/index.js",
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@babel/runtime-corejs3": "^7.15.4",
|
|
17
|
-
"@douyinfe/semi-animation": "
|
|
18
|
-
"@douyinfe/semi-animation-react": "
|
|
19
|
-
"@douyinfe/semi-foundation": "
|
|
20
|
-
"@douyinfe/semi-icons": "
|
|
21
|
-
"@douyinfe/semi-illustrations": "
|
|
22
|
-
"@douyinfe/semi-theme-default": "
|
|
17
|
+
"@douyinfe/semi-animation": "2.12.0-beta.2",
|
|
18
|
+
"@douyinfe/semi-animation-react": "2.12.0-beta.2",
|
|
19
|
+
"@douyinfe/semi-foundation": "2.12.0-beta.2",
|
|
20
|
+
"@douyinfe/semi-icons": "2.12.0-beta.2",
|
|
21
|
+
"@douyinfe/semi-illustrations": "2.12.0-beta.2",
|
|
22
|
+
"@douyinfe/semi-theme-default": "2.12.0-beta.2",
|
|
23
23
|
"@types/react-window": "^1.8.2",
|
|
24
24
|
"async-validator": "^3.5.0",
|
|
25
25
|
"classnames": "^2.2.6",
|
|
@@ -69,13 +69,13 @@
|
|
|
69
69
|
],
|
|
70
70
|
"author": "",
|
|
71
71
|
"license": "MIT",
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "d594b54331194b982f24ef179147622642073c3d",
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@babel/plugin-proposal-decorators": "^7.15.8",
|
|
75
75
|
"@babel/plugin-transform-runtime": "^7.15.8",
|
|
76
76
|
"@babel/preset-env": "^7.15.8",
|
|
77
77
|
"@babel/preset-react": "^7.14.5",
|
|
78
|
-
"@douyinfe/semi-scss-compile": "
|
|
78
|
+
"@douyinfe/semi-scss-compile": "2.12.0-beta.2",
|
|
79
79
|
"@storybook/addon-knobs": "^6.3.1",
|
|
80
80
|
"@types/lodash": "^4.14.176",
|
|
81
81
|
"babel-loader": "^8.2.2",
|
package/pagination/index.tsx
CHANGED
|
@@ -216,14 +216,7 @@ export default class Pagination extends BaseComponent<PaginationProps, Paginatio
|
|
|
216
216
|
[`${prefixCls}-item-disabled`]: prevDisabled,
|
|
217
217
|
});
|
|
218
218
|
return (
|
|
219
|
-
<li
|
|
220
|
-
role="button"
|
|
221
|
-
aria-disabled={prevDisabled ? true : false}
|
|
222
|
-
aria-label="Previous"
|
|
223
|
-
onClick={e => !prevDisabled && this.foundation.goPrev(e)}
|
|
224
|
-
className={preClassName}
|
|
225
|
-
x-semi-prop="prevText"
|
|
226
|
-
>
|
|
219
|
+
<li role="button" aria-disabled={prevDisabled ? true : false} aria-label="Previous" onClick={e => !prevDisabled && this.foundation.goPrev(e)} className={preClassName}>
|
|
227
220
|
{prevText || <IconChevronLeft size="large" />}
|
|
228
221
|
</li>
|
|
229
222
|
);
|
|
@@ -238,14 +231,7 @@ export default class Pagination extends BaseComponent<PaginationProps, Paginatio
|
|
|
238
231
|
[`${prefixCls}-next`]: true,
|
|
239
232
|
});
|
|
240
233
|
return (
|
|
241
|
-
<li
|
|
242
|
-
role="button"
|
|
243
|
-
aria-disabled={nextDisabled ? true : false}
|
|
244
|
-
aria-label="Next"
|
|
245
|
-
onClick={e => !nextDisabled && this.foundation.goNext(e)}
|
|
246
|
-
className={nextClassName}
|
|
247
|
-
x-semi-prop="prevText"
|
|
248
|
-
>
|
|
234
|
+
<li role="button" aria-disabled={nextDisabled ? true : false} aria-label="Next" onClick={e => !nextDisabled && this.foundation.goNext(e)} className={nextClassName}>
|
|
249
235
|
{nextText || <IconChevronRight size="large" />}
|
|
250
236
|
</li>
|
|
251
237
|
);
|
package/popconfirm/index.tsx
CHANGED
|
@@ -174,20 +174,12 @@ export default class Popconfirm extends BaseComponent<PopconfirmProps, Popconfir
|
|
|
174
174
|
<div className={popCardCls} onClick={this.stopImmediatePropagation} style={style}>
|
|
175
175
|
<div className={`${prefixCls}-inner`}>
|
|
176
176
|
<div className={`${prefixCls}-header`}>
|
|
177
|
-
<i className={`${prefixCls}-header-icon`}
|
|
177
|
+
<i className={`${prefixCls}-header-icon`}>
|
|
178
178
|
{React.isValidElement(icon) ? icon : null}
|
|
179
179
|
</i>
|
|
180
180
|
<div className={`${prefixCls}-header-body`}>
|
|
181
|
-
{showTitle ?
|
|
182
|
-
|
|
183
|
-
{title}
|
|
184
|
-
</div>
|
|
185
|
-
) : null}
|
|
186
|
-
{showContent ? (
|
|
187
|
-
<div className={`${prefixCls}-header-content`} x-semi-prop="content">
|
|
188
|
-
{content}
|
|
189
|
-
</div>
|
|
190
|
-
) : null}
|
|
181
|
+
{showTitle ? <div className={`${prefixCls}-header-title`}>{title}</div> : null}
|
|
182
|
+
{showContent ? <div className={`${prefixCls}-header-content`}>{content}</div> : null}
|
|
191
183
|
</div>
|
|
192
184
|
<Button
|
|
193
185
|
className={`${prefixCls}-btn-close`}
|
package/progress/index.tsx
CHANGED
|
@@ -239,7 +239,7 @@ class Progress extends Component<ProgressProps, ProgressState> {
|
|
|
239
239
|
const percNumber = this.calcPercent(percentNumber);
|
|
240
240
|
|
|
241
241
|
const innerStyle: Record<string, any> = {
|
|
242
|
-
|
|
242
|
+
background: stroke
|
|
243
243
|
};
|
|
244
244
|
if (direction === strings.DEFAULT_DIRECTION) {
|
|
245
245
|
innerStyle.width = `${perc}%`;
|
package/radio/radio.tsx
CHANGED
|
@@ -228,16 +228,8 @@ class Radio extends BaseComponent<RadioProps, RadioState> {
|
|
|
228
228
|
}, addonClassName);
|
|
229
229
|
const renderContent = () => (
|
|
230
230
|
<>
|
|
231
|
-
{children ?
|
|
232
|
-
|
|
233
|
-
{children}
|
|
234
|
-
</span>
|
|
235
|
-
) : null}
|
|
236
|
-
{extra && !isButtonRadio ? (
|
|
237
|
-
<div className={`${prefix}-extra`} id={this.extraId} x-semi-prop="extra">
|
|
238
|
-
{extra}
|
|
239
|
-
</div>
|
|
240
|
-
) : null}
|
|
231
|
+
{children ? <span className={addonCls} style={addonStyle} id={addonId}>{children}</span> : null}
|
|
232
|
+
{extra && !isButtonRadio ? <div className={`${prefix}-extra`} id={extraId}>{extra}</div> : null}
|
|
241
233
|
</>
|
|
242
234
|
);
|
|
243
235
|
return (
|
package/rating/item.tsx
CHANGED
|
@@ -110,7 +110,7 @@ export default class Item extends PureComponent<RatingItemProps> {
|
|
|
110
110
|
className={`${prefixCls}-wrapper`}
|
|
111
111
|
>
|
|
112
112
|
<div className={`${prefixCls}-first`} style={{ width: `${firstWidth * 100}%` }}>{content}</div>
|
|
113
|
-
<div className={`${prefixCls}-second`}
|
|
113
|
+
<div className={`${prefixCls}-second`}>{content}</div>
|
|
114
114
|
</div>
|
|
115
115
|
</li>
|
|
116
116
|
);
|
package/scrollList/index.tsx
CHANGED
|
@@ -49,30 +49,14 @@ class ScrollList extends BaseComponent<ScrollListProps, {}> {
|
|
|
49
49
|
<div className={clsWrapper} style={style}>
|
|
50
50
|
{header ? (
|
|
51
51
|
<div className={clsHeader}>
|
|
52
|
-
<div
|
|
53
|
-
className={`${clsHeader}-title`}
|
|
54
|
-
x-semi-prop={this.props['x-semi-header-alias'] || "header"}
|
|
55
|
-
>
|
|
56
|
-
{header}
|
|
57
|
-
</div>
|
|
52
|
+
<div className={`${clsHeader}-title`}>{header}</div>
|
|
58
53
|
<div className={`${clsWrapper}-line`} />
|
|
59
54
|
</div>
|
|
60
55
|
) : null}
|
|
61
|
-
<div
|
|
62
|
-
className={`${clsWrapper}-body`}
|
|
63
|
-
style={{ height: bodyHeight ? bodyHeight : '' }}
|
|
64
|
-
x-semi-prop="children"
|
|
65
|
-
>
|
|
56
|
+
<div className={`${clsWrapper}-body`} style={{ height: bodyHeight ? bodyHeight : '' }}>
|
|
66
57
|
{children}
|
|
67
58
|
</div>
|
|
68
|
-
{footer ?
|
|
69
|
-
<div
|
|
70
|
-
className={`${clsWrapper}-footer`}
|
|
71
|
-
x-semi-prop={this.props['x-semi-footer-alias'] || "footer"}
|
|
72
|
-
>
|
|
73
|
-
{footer}
|
|
74
|
-
</div>
|
|
75
|
-
) : null}
|
|
59
|
+
{footer ? <div className={`${clsWrapper}-footer`}>{footer}</div> : null}
|
|
76
60
|
</div>
|
|
77
61
|
);
|
|
78
62
|
}
|
package/select/index.tsx
CHANGED
|
@@ -878,11 +878,7 @@ class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
878
878
|
return (
|
|
879
879
|
<>
|
|
880
880
|
<div className={contentWrapperCls}>
|
|
881
|
-
{
|
|
882
|
-
<span className={spanCls} x-semi-prop="placeholder">
|
|
883
|
-
{renderText || renderText === 0 ? renderText : placeholder}
|
|
884
|
-
</span>
|
|
885
|
-
}
|
|
881
|
+
{<span className={spanCls}>{renderText || renderText === 0 ? renderText : placeholder}</span>}
|
|
886
882
|
{filterable && showInput ? this.renderInput() : null}
|
|
887
883
|
</div>
|
|
888
884
|
</>
|
|
@@ -1010,7 +1006,7 @@ class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
1010
1006
|
[`${prefixcls}-suffix-text`]: suffix && isString(suffix),
|
|
1011
1007
|
[`${prefixcls}-suffix-icon`]: isSemiIcon(suffix),
|
|
1012
1008
|
});
|
|
1013
|
-
return <div className={suffixWrapperCls}
|
|
1009
|
+
return <div className={suffixWrapperCls}>{suffix}</div>;
|
|
1014
1010
|
}
|
|
1015
1011
|
|
|
1016
1012
|
renderPrefix() {
|
|
@@ -1024,11 +1020,7 @@ class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
1024
1020
|
[`${prefixcls}-prefix-icon`]: isSemiIcon(labelNode),
|
|
1025
1021
|
});
|
|
1026
1022
|
|
|
1027
|
-
return
|
|
1028
|
-
<div className={prefixWrapperCls} id={insetLabelId} x-semi-prop="prefix,insetLabel">
|
|
1029
|
-
{labelNode}
|
|
1030
|
-
</div>
|
|
1031
|
-
);
|
|
1023
|
+
return <div className={prefixWrapperCls} id={insetLabelId}>{labelNode}</div>;
|
|
1032
1024
|
}
|
|
1033
1025
|
|
|
1034
1026
|
renderSelection() {
|
|
@@ -1075,7 +1067,7 @@ class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
1075
1067
|
(selections.size || inputValue) && !disabled && (isHovering || isOpen);
|
|
1076
1068
|
|
|
1077
1069
|
const arrowContent = showArrow ? (
|
|
1078
|
-
<div className={`${prefixcls}-arrow`}
|
|
1070
|
+
<div className={`${prefixcls}-arrow`}>
|
|
1079
1071
|
{arrowIcon}
|
|
1080
1072
|
</div>
|
|
1081
1073
|
) : (
|
package/select/option.tsx
CHANGED
|
@@ -105,11 +105,7 @@ class Option extends PureComponent<OptionProps> {
|
|
|
105
105
|
}
|
|
106
106
|
return (
|
|
107
107
|
<LocaleConsumer<Locale['Select']> componentName="Select">
|
|
108
|
-
{(locale: Locale['Select']) =>
|
|
109
|
-
<div className={optionClassName} x-semi-prop="emptyContent">
|
|
110
|
-
{emptyContent || locale.emptyText}
|
|
111
|
-
</div>
|
|
112
|
-
)}
|
|
108
|
+
{(locale: Locale['Select']) => <div className={optionClassName}>{emptyContent || locale.emptyText}</div>}
|
|
113
109
|
</LocaleConsumer>
|
|
114
110
|
);
|
|
115
111
|
}
|
|
@@ -88,7 +88,7 @@ export default class SideSheetContent extends React.PureComponent<SideSheetConte
|
|
|
88
88
|
let header, closer;
|
|
89
89
|
if (title) {
|
|
90
90
|
header = (
|
|
91
|
-
<div className={`${prefixCls}-title`}
|
|
91
|
+
<div className={`${prefixCls}-title`}>
|
|
92
92
|
{this.props.title}
|
|
93
93
|
</div>
|
|
94
94
|
);
|
|
@@ -140,11 +140,11 @@ export default class SideSheetContent extends React.PureComponent<SideSheetConte
|
|
|
140
140
|
>
|
|
141
141
|
<div className={`${prefixCls}-content`}>
|
|
142
142
|
{header}
|
|
143
|
-
<div className={`${prefixCls}-body`} style={props.bodyStyle}
|
|
143
|
+
<div className={`${prefixCls}-body`} style={props.bodyStyle}>
|
|
144
144
|
{props.children}
|
|
145
145
|
</div>
|
|
146
146
|
{props.footer ? (
|
|
147
|
-
<div className={`${prefixCls}-footer`}
|
|
147
|
+
<div className={`${prefixCls}-footer`}>
|
|
148
148
|
{props.footer}
|
|
149
149
|
</div>
|
|
150
150
|
) : null}
|
package/skeleton/index.tsx
CHANGED
|
@@ -48,7 +48,7 @@ class Skeleton extends PureComponent<SkeletonProps> {
|
|
|
48
48
|
let content;
|
|
49
49
|
if (loading) {
|
|
50
50
|
content = (
|
|
51
|
-
<div className={skCls} style={style} {...others}
|
|
51
|
+
<div className={skCls} style={style} {...others}>
|
|
52
52
|
{placeholder}
|
|
53
53
|
</div>
|
|
54
54
|
);
|
package/space/index.tsx
CHANGED
|
@@ -85,7 +85,7 @@ class Space extends PureComponent<SpaceProps> {
|
|
|
85
85
|
});
|
|
86
86
|
const childrenNodes = flatten(children);
|
|
87
87
|
return (
|
|
88
|
-
<div className={classNames} style={realStyle}
|
|
88
|
+
<div className={classNames} style={realStyle}>
|
|
89
89
|
{childrenNodes}
|
|
90
90
|
</div>
|
|
91
91
|
);
|
package/spin/index.tsx
CHANGED
|
@@ -95,18 +95,14 @@ class Spin extends BaseComponent<SpinProps, SpinState> {
|
|
|
95
95
|
[`${prefixCls}-animate`]: loading,
|
|
96
96
|
});
|
|
97
97
|
|
|
98
|
-
return
|
|
99
|
-
|
|
100
|
-
{
|
|
101
|
-
<div className={spinIconCls}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
)}
|
|
107
|
-
{tip ? <div x-semi-prop="tip">{tip}</div> : null}
|
|
108
|
-
</div>
|
|
109
|
-
) : null;
|
|
98
|
+
return (
|
|
99
|
+
loading ? (
|
|
100
|
+
<div className={`${prefixCls}-wrapper`}>
|
|
101
|
+
{indicator ? <div className={spinIconCls}>{indicator}</div> : <SpinIcon />}
|
|
102
|
+
{tip ? <div>{tip}</div> : null}
|
|
103
|
+
</div>
|
|
104
|
+
) : null
|
|
105
|
+
);
|
|
110
106
|
}
|
|
111
107
|
|
|
112
108
|
render() {
|
|
@@ -126,9 +122,7 @@ class Spin extends BaseComponent<SpinProps, SpinState> {
|
|
|
126
122
|
return (
|
|
127
123
|
<div className={spinCls} style={style}>
|
|
128
124
|
{this.renderSpin()}
|
|
129
|
-
<div className={`${prefixCls}-children`} style={childStyle}
|
|
130
|
-
{children}
|
|
131
|
-
</div>
|
|
125
|
+
<div className={`${prefixCls}-children`} style={childStyle}>{children}</div>
|
|
132
126
|
</div>
|
|
133
127
|
);
|
|
134
128
|
}
|
package/switch/index.tsx
CHANGED
|
@@ -146,18 +146,23 @@ class Switch extends BaseComponent<SwitchProps, SwitchState> {
|
|
|
146
146
|
const showUncheckedText = uncheckedText && !nativeControlChecked && size !== 'small';
|
|
147
147
|
return (
|
|
148
148
|
<div className={wrapperCls} style={style} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>
|
|
149
|
-
{
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
149
|
+
{
|
|
150
|
+
loading
|
|
151
|
+
? (
|
|
152
|
+
<Spin
|
|
153
|
+
wrapperClassName={cssClasses.LOADING_SPIN}
|
|
154
|
+
size={size === 'default' ? 'middle' : size}
|
|
155
|
+
/>
|
|
156
|
+
)
|
|
157
|
+
: <div className={cssClasses.KNOB} aria-hidden={true} />
|
|
158
|
+
}
|
|
154
159
|
{showCheckedText ? (
|
|
155
|
-
<div className={cssClasses.CHECKED_TEXT}
|
|
160
|
+
<div className={cssClasses.CHECKED_TEXT}>
|
|
156
161
|
{checkedText}
|
|
157
162
|
</div>
|
|
158
163
|
) : null}
|
|
159
164
|
{showUncheckedText ? (
|
|
160
|
-
<div className={cssClasses.UNCHECKED_TEXT}
|
|
165
|
+
<div className={cssClasses.UNCHECKED_TEXT}>
|
|
161
166
|
{uncheckedText}
|
|
162
167
|
</div>
|
|
163
168
|
) : null}
|
|
@@ -165,13 +170,13 @@ class Switch extends BaseComponent<SwitchProps, SwitchState> {
|
|
|
165
170
|
{...switchProps}
|
|
166
171
|
ref={this.switchRef}
|
|
167
172
|
id={id}
|
|
168
|
-
role=
|
|
173
|
+
role='switch'
|
|
169
174
|
aria-checked={nativeControlChecked}
|
|
170
175
|
aria-invalid={this.props['aria-invalid']}
|
|
171
176
|
aria-errormessage={this.props['aria-errormessage']}
|
|
172
177
|
aria-label={this.props['aria-label']}
|
|
173
178
|
aria-labelledby={this.props['aria-labelledby']}
|
|
174
|
-
aria-describedby={this.props[
|
|
179
|
+
aria-describedby={this.props["aria-describedby"]}
|
|
175
180
|
aria-disabled={this.props['disabled']}
|
|
176
181
|
onChange={e => this.foundation.handleChange(e.target.checked, e)}
|
|
177
182
|
onFocus={e => this.handleFocusVisible(e)}
|
package/table/Table.tsx
CHANGED
|
@@ -1015,7 +1015,7 @@ class Table<RecordType extends Record<string, any>> extends BaseComponent<Normal
|
|
|
1015
1015
|
}
|
|
1016
1016
|
|
|
1017
1017
|
return isValidElement(title) || typeof title === 'string' ? (
|
|
1018
|
-
<div className={`${prefixCls}-title`}
|
|
1018
|
+
<div className={`${prefixCls}-title`}>{title}</div>
|
|
1019
1019
|
) : null;
|
|
1020
1020
|
};
|
|
1021
1021
|
|
|
@@ -1032,9 +1032,7 @@ class Table<RecordType extends Record<string, any>> extends BaseComponent<Normal
|
|
|
1032
1032
|
<LocaleConsumer componentName="Table" key={'emptyText'}>
|
|
1033
1033
|
{(locale: TableLocale, localeCode: string) => (
|
|
1034
1034
|
<div className={wrapCls}>
|
|
1035
|
-
<div className={`${prefixCls}-empty`}
|
|
1036
|
-
{empty || locale.emptyText}
|
|
1037
|
-
</div>
|
|
1035
|
+
<div className={`${prefixCls}-empty`}>{empty || locale.emptyText}</div>
|
|
1038
1036
|
</div>
|
|
1039
1037
|
)}
|
|
1040
1038
|
</LocaleConsumer>
|
|
@@ -1050,7 +1048,7 @@ class Table<RecordType extends Record<string, any>> extends BaseComponent<Normal
|
|
|
1050
1048
|
}
|
|
1051
1049
|
|
|
1052
1050
|
return isValidElement(footer) || typeof footer === 'string' ? (
|
|
1053
|
-
<div className={`${prefixCls}-footer`} key="footer"
|
|
1051
|
+
<div className={`${prefixCls}-footer`} key="footer">
|
|
1054
1052
|
{footer}
|
|
1055
1053
|
</div>
|
|
1056
1054
|
) : null;
|
package/tabs/TabBar.tsx
CHANGED
|
@@ -70,7 +70,7 @@ class TabBar extends React.Component<TabBarProps, TabBarState> {
|
|
|
70
70
|
if (tabBarExtraContent) {
|
|
71
71
|
const tabBarStyle = { ...tabBarExtraContentDefaultStyle, ...tabBarExtraContentStyle };
|
|
72
72
|
return (
|
|
73
|
-
<div className={extraCls} style={tabBarStyle}
|
|
73
|
+
<div className={extraCls} style={tabBarStyle}>
|
|
74
74
|
{tabBarExtraContent}
|
|
75
75
|
</div>
|
|
76
76
|
);
|
package/tabs/TabPane.tsx
CHANGED
|
@@ -98,7 +98,6 @@ class TabPane extends PureComponent<TabPaneProps> {
|
|
|
98
98
|
aria-hidden={active ? 'false' : 'true'}
|
|
99
99
|
tabIndex={0}
|
|
100
100
|
{...getDataAttr(restProps)}
|
|
101
|
-
x-semi-prop="children"
|
|
102
101
|
>
|
|
103
102
|
{motion ? (
|
|
104
103
|
<TabPaneTransition
|
|
@@ -108,18 +107,14 @@ class TabPane extends PureComponent<TabPaneProps> {
|
|
|
108
107
|
state={active ? 'enter' : 'leave'}
|
|
109
108
|
>
|
|
110
109
|
{(transitionStyle): ReactNode => (
|
|
111
|
-
<div
|
|
112
|
-
className={`${cssClasses.TABS_PANE_MOTION_OVERLAY}`}
|
|
113
|
-
style={{ ...transitionStyle }}
|
|
114
|
-
x-semi-prop="children"
|
|
115
|
-
>
|
|
110
|
+
<div className={`${cssClasses.TABS_PANE_MOTION_OVERLAY}`} style={{ ...transitionStyle }}>
|
|
116
111
|
{shouldRender ? children : null}
|
|
117
112
|
</div>
|
|
118
113
|
)}
|
|
119
114
|
</TabPaneTransition>
|
|
120
|
-
) :
|
|
121
|
-
children
|
|
122
|
-
)
|
|
115
|
+
) : (
|
|
116
|
+
shouldRender ? children : null
|
|
117
|
+
)}
|
|
123
118
|
</div>
|
|
124
119
|
);
|
|
125
120
|
}
|