|
@@ -1,4 +1,4 @@
|
|
-import React, { CSSProperties } from 'react';
|
|
|
|
|
|
+import React, { CSSProperties, ReactNode } from 'react';
|
|
import PropTypes from 'prop-types';
|
|
import PropTypes from 'prop-types';
|
|
import cls from 'classnames';
|
|
import cls from 'classnames';
|
|
import { cssClasses } from '@douyinfe/semi-foundation/sideSheet/constants';
|
|
import { cssClasses } from '@douyinfe/semi-foundation/sideSheet/constants';
|
|
@@ -14,6 +14,7 @@ const prefixCls = cssClasses.PREFIX;
|
|
|
|
|
|
export interface SideSheetContentProps {
|
|
export interface SideSheetContentProps {
|
|
onClose?: (e: React.MouseEvent) => void;
|
|
onClose?: (e: React.MouseEvent) => void;
|
|
|
|
+ closeIcon?: ReactNode;
|
|
mask?: boolean;
|
|
mask?: boolean;
|
|
maskStyle?: CSSProperties;
|
|
maskStyle?: CSSProperties;
|
|
maskClosable?: boolean;
|
|
maskClosable?: boolean;
|
|
@@ -38,6 +39,7 @@ export interface SideSheetContentProps {
|
|
export default class SideSheetContent extends React.PureComponent<SideSheetContentProps> {
|
|
export default class SideSheetContent extends React.PureComponent<SideSheetContentProps> {
|
|
static propTypes = {
|
|
static propTypes = {
|
|
onClose: PropTypes.func,
|
|
onClose: PropTypes.func,
|
|
|
|
+ closeIcon: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
|
|
};
|
|
};
|
|
|
|
|
|
static defaultProps = {
|
|
static defaultProps = {
|
|
@@ -92,6 +94,7 @@ export default class SideSheetContent extends React.PureComponent<SideSheetConte
|
|
title,
|
|
title,
|
|
closable,
|
|
closable,
|
|
headerStyle,
|
|
headerStyle,
|
|
|
|
+ closeIcon,
|
|
} = this.props;
|
|
} = this.props;
|
|
let header, closer;
|
|
let header, closer;
|
|
if (title) {
|
|
if (title) {
|
|
@@ -102,13 +105,14 @@ export default class SideSheetContent extends React.PureComponent<SideSheetConte
|
|
);
|
|
);
|
|
}
|
|
}
|
|
if (closable) {
|
|
if (closable) {
|
|
|
|
+ const iconType = closeIcon || <IconClose/>;
|
|
closer = (
|
|
closer = (
|
|
<Button
|
|
<Button
|
|
className={`${prefixCls}-close`}
|
|
className={`${prefixCls}-close`}
|
|
key="close-btn"
|
|
key="close-btn"
|
|
onClick={this.close}
|
|
onClick={this.close}
|
|
type="tertiary"
|
|
type="tertiary"
|
|
- icon={<IconClose/>}
|
|
|
|
|
|
+ icon={iconType}
|
|
theme="borderless"
|
|
theme="borderless"
|
|
size="small"
|
|
size="small"
|
|
/>
|
|
/>
|