UNPKG

@i-novus/ui-core

Version:

Базовые UI компоненты

22 lines (21 loc) 1.1 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { forwardRef, useMemo, useRef } from 'react'; import classNames from 'classnames'; import { useConfigProvider } from '../../core'; import { Ellipsis } from './Ellipsis'; const typographyFont = [11, 12, 14, 16, 20]; export const TypographyBody = forwardRef((props, ref) => { const { className, prefix, fontSize, bold, italic, children, ...restProps } = props; const { getPrefix } = useConfigProvider(); const prefixCls = getPrefix(prefix); const innerRef = useRef(null); const classNamesFactory = useMemo(() => { const baseClassName = `${prefixCls}-typography`; return classNames(baseClassName, { [`${baseClassName}_bold`]: bold, [`${baseClassName}_italic`]: italic, [`${baseClassName}-font_${fontSize}`]: fontSize && typographyFont.includes(Number(fontSize)), }, className); }, [bold, className, fontSize, italic, prefixCls]); return (_jsx(Ellipsis, { ref: ref || innerRef, className: classNamesFactory, ...restProps, children: children || '' })); });