import { forwardRef } from 'react'; import { Text as RNText } from 'react-native'; import { TextProps } from './types'; import { textStyles } from './Text.styles'; import { getTextDefaults } from './defaults'; import { getDefaultMaxFontSizeMultiplier } from '@idealyst/theme'; import type { IdealystElement } from '../utils/refTypes'; const Text = forwardRef(({ children, typography = 'body1', weight, color, align = 'left', numberOfLines, maxFontSizeMultiplier, // Spacing variants from TextSpacingStyleProps gap, padding, paddingVertical, paddingHorizontal, style, testID, id, }, ref) => { textStyles.useVariants({ typography, weight, align, gap, padding, paddingVertical, paddingHorizontal, }); const resolvedMaxFontSizeMultiplier = maxFontSizeMultiplier ?? getTextDefaults().maxFontSizeMultiplier ?? getDefaultMaxFontSizeMultiplier(); return ( {children} ); }); Text.displayName = 'Text'; export default Text;