Skip to content

Commit bec2b58

Browse files
committed
change MediaObject component to FC
1 parent 41f2a14 commit bec2b58

File tree

1 file changed

+36
-26
lines changed

1 file changed

+36
-26
lines changed

src/scripts/MediaObject.tsx

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,43 @@
1-
import React, { Component, ReactNode } from 'react';
2-
import classNames from 'classnames';
1+
import React, { FC, HTMLAttributes, ReactNode } from 'react';
2+
import classnames from 'classnames';
33

4+
/**
5+
*
6+
*/
47
export type MediaObjectProps = {
58
figureLeft?: ReactNode;
69
figureRight?: ReactNode;
710
figureCenter?: ReactNode;
811
children?: ReactNode;
9-
};
10-
11-
export class MediaObject extends Component<MediaObjectProps, {}> {
12-
renderFigure(figure: ReactNode, className?: string) {
13-
if (!figure) return null;
14-
return (
15-
<div className={classNames('slds-media__figure', className)}>
16-
{figure}
17-
</div>
18-
);
19-
}
12+
} & HTMLAttributes<HTMLDivElement>;
2013

21-
render() {
22-
const { figureLeft, figureRight, figureCenter, children } = this.props;
23-
const className = 'slds-media';
24-
return (
25-
<div className={className}>
26-
{this.renderFigure(figureCenter)}
27-
{this.renderFigure(figureLeft)}
28-
<div className='slds-media__body'>{children}</div>
29-
{this.renderFigure(figureRight, 'slds-media__figure_reverse')}
30-
</div>
31-
);
32-
}
33-
}
14+
/**
15+
*
16+
*/
17+
export const MediaObject: FC<MediaObjectProps> = (props) => {
18+
const {
19+
className,
20+
figureLeft,
21+
figureRight,
22+
figureCenter,
23+
children,
24+
...rprops
25+
} = props;
26+
const mediaClassNames = classnames('slds-media', className);
27+
return (
28+
<div className={mediaClassNames} {...rprops}>
29+
{figureCenter ? (
30+
<div className='slds-media__figure'>{figureCenter}</div>
31+
) : undefined}
32+
{figureLeft ? (
33+
<div className='slds-media__figure'>{figureLeft}</div>
34+
) : undefined}
35+
<div className='slds-media__body'>{children}</div>
36+
{figureRight ? (
37+
<div className='slds-media__figure slds-media__figure_reverse'>
38+
{figureRight}
39+
</div>
40+
) : undefined}
41+
</div>
42+
);
43+
};

0 commit comments

Comments
 (0)