UNPKG

@metamask/design-system-react-native

Version:
31 lines 1.36 kB
function $importDefault(module) { if (module?.__esModule) { return module.default; } return module; } import { useTailwind } from "@metamask/design-system-twrnc-preset"; import $React, { useMemo } from "react"; const React = $importDefault($React); import { Text as RNText } from "react-native/index.js"; import { FontFamily, FontStyle, TextVariant, TextColor } from "../../types/index.mjs"; import { MAP_TEXT_VARIANT_FONTWEIGHT } from "./Text.constants.mjs"; import { generateTextClassNames } from "./Text.utilities.mjs"; export const Text = ({ variant = TextVariant.BodyMd, color = TextColor.TextDefault, style, children, fontWeight, fontFamily = FontFamily.Default, fontStyle = FontStyle.Normal, twClassName = '', ...props }) => { const tw = useTailwind(); const finalFontWeight = fontWeight || MAP_TEXT_VARIANT_FONTWEIGHT[variant]; const mergedClassnames = useMemo(() => { return generateTextClassNames({ variant, color, fontWeight: finalFontWeight, fontFamily, fontStyle, twClassName, }); }, [variant, color, finalFontWeight, fontFamily, fontStyle, twClassName]); return (<RNText accessibilityRole="text" {...props} style={[tw `${mergedClassnames}`, style]}> {children} </RNText>); }; //# sourceMappingURL=Text.mjs.map