feat: whyrating - initial project from turbostarter boilerplate
This commit is contained in:
31
packages/ui/mobile/src/components/text.tsx
Normal file
31
packages/ui/mobile/src/components/text.tsx
Normal file
@@ -0,0 +1,31 @@
|
||||
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 };
|
||||
Reference in New Issue
Block a user