Files
whyrating/packages/ui/mobile/src/components/text.tsx
2026-02-04 01:55:00 +01:00

32 lines
725 B
TypeScript

import * as Slot from "@rn-primitives/slot";
import * as React from "react";
import { Text as RNText } from "react-native";
import { cn } from "@turbostarter/ui";
const TextClassContext = React.createContext<string | undefined>(undefined);
const Text = ({
className,
asChild = false,
...props
}: React.ComponentProps<typeof RNText> &
React.RefAttributes<RNText> & {
asChild?: boolean;
}) => {
const textClass = React.useContext(TextClassContext);
const Component = asChild ? Slot.Text : RNText;
return (
<Component
className={cn(
"text-foreground font-sans text-base",
textClass,
className,
)}
{...props}
/>
);
};
export { Text, TextClassContext };