/** * WordPress dependencies */ import { useContext } from '@wordpress/element'; import { __unstableMotion as motion } from '@wordpress/components'; import { _x } from '@wordpress/i18n'; /** * Internal dependencies */ import { GlobalStylesContext } from './context'; import { getFamilyPreviewStyle } from './font-library/utils/preview-styles'; import { getFontFamilies } from './utils'; import { useStyle } from './hooks'; interface TypographyExampleProps { fontSize?: number; variation?: any; } export default function PreviewTypography( { fontSize, variation, }: TypographyExampleProps ) { const { base } = useContext( GlobalStylesContext ); let config = base; if ( variation ) { config = { ...base, ...variation }; } const [ textColor ] = useStyle( 'color.text' ); const [ bodyFontFamilies, headingFontFamilies ] = getFontFamilies( config ); const bodyPreviewStyle: React.CSSProperties = bodyFontFamilies ? getFamilyPreviewStyle( bodyFontFamilies ) : {}; const headingPreviewStyle: React.CSSProperties = headingFontFamilies ? getFamilyPreviewStyle( headingFontFamilies ) : {}; if ( textColor ) { bodyPreviewStyle.color = textColor; headingPreviewStyle.color = textColor; } if ( fontSize ) { bodyPreviewStyle.fontSize = fontSize; headingPreviewStyle.fontSize = fontSize; } return ( { _x( 'A', 'Uppercase letter A' ) } { _x( 'a', 'Lowercase letter A' ) } ); }