You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.1 KiB
49 lines
1.1 KiB
5 days ago
|
import React from 'react';
|
||
|
|
||
|
import type { VariantProps } from '@gluestack-ui/utils/nativewind-utils';
|
||
|
import { Text as RNText } from 'react-native';
|
||
|
import { textStyle } from './styles';
|
||
|
|
||
|
type ITextProps = React.ComponentProps<typeof RNText> &
|
||
|
VariantProps<typeof textStyle>;
|
||
|
|
||
|
const Text = React.forwardRef<React.ComponentRef<typeof RNText>, ITextProps>(
|
||
|
function Text(
|
||
|
{
|
||
|
className,
|
||
|
isTruncated,
|
||
|
bold,
|
||
|
underline,
|
||
|
strikeThrough,
|
||
|
size = 'md',
|
||
|
sub,
|
||
|
italic,
|
||
|
highlight,
|
||
|
...props
|
||
|
},
|
||
|
ref
|
||
|
) {
|
||
|
return (
|
||
|
<RNText
|
||
|
className={textStyle({
|
||
|
isTruncated: isTruncated as boolean,
|
||
|
bold: bold as boolean,
|
||
|
underline: underline as boolean,
|
||
|
strikeThrough: strikeThrough as boolean,
|
||
|
size,
|
||
|
sub: sub as boolean,
|
||
|
italic: italic as boolean,
|
||
|
highlight: highlight as boolean,
|
||
|
class: className,
|
||
|
})}
|
||
|
{...props}
|
||
|
ref={ref}
|
||
|
/>
|
||
|
);
|
||
|
}
|
||
|
);
|
||
|
|
||
|
Text.displayName = 'Text';
|
||
|
|
||
|
export { Text };
|