import {HTMLAttributes, ReactNode, DetailedHTMLProps} from 'react'; import {ColorsNameType} from '../../../../types/entities/colors-name'; export type TypographySizesType = | 'display2XL' | 'displayXL' | 'displayLG' | 'displayMD' | 'displaySM' | 'displayXS' | 'textXL' | 'textLG' | 'textMD' | 'textSM' | 'textXS' | 'textXXS'; export type TypographyWeights = | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900; export interface ITypographyTags { h1: DetailedHTMLProps< HTMLAttributes, HTMLHeadingElement >; h2: DetailedHTMLProps< HTMLAttributes, HTMLHeadingElement >; h3: DetailedHTMLProps< HTMLAttributes, HTMLHeadingElement >; h4: DetailedHTMLProps< HTMLAttributes, HTMLHeadingElement >; h5: DetailedHTMLProps< HTMLAttributes, HTMLHeadingElement >; h6: DetailedHTMLProps< HTMLAttributes, HTMLHeadingElement >; p: DetailedHTMLProps< HTMLAttributes, HTMLParagraphElement >; small: DetailedHTMLProps, HTMLElement>; span: DetailedHTMLProps, HTMLSpanElement>; strong: DetailedHTMLProps, HTMLElement>; b: DetailedHTMLProps, HTMLElement>; } export interface ITypography extends HTMLAttributes { tag?: keyof ITypographyTags; color?: ColorsNameType; size?: TypographySizesType; weight?: TypographyWeights; children?: ReactNode; ref?: React.LegacyRef | undefined; contentWrapper?: React.DetailedHTMLProps< React.HTMLAttributes, HTMLSpanElement >; }