| 1234567891011121314151617181920212223242526272829303132333435363738394041 | import React, { PureComponent } from 'react';import cls from 'classnames';import PropTypes from 'prop-types';import { cssClasses } from '@douyinfe/semi-foundation/typography/constants';import '@douyinfe/semi-foundation/typography/typography.scss';import { BaseProps } from '../_base/baseComponent';const prefixCls = cssClasses.PREFIX;interface TypographyProps extends BaseProps{    component?: React.ElementType;    forwardRef?: React.RefObject<any>;}class Typography extends PureComponent<TypographyProps> {    static defaultProps = {        component: 'article',        style: {},        className: '',    };    static propTypes = {        component: PropTypes.string,        style: PropTypes.object,        className: PropTypes.string,    };    render() {        const { component, className, children, forwardRef, ...rest } = this.props;        const Component = component;        const classNames = cls(prefixCls, className);        return (            <Component                className={classNames}                ref={forwardRef}                {...rest}            >                {children}            </Component>        );    }}export default Typography;
 |