31 lines
612 B
TypeScript
31 lines
612 B
TypeScript
import { Slot } from "@radix-ui/react-slot"
|
|
|
|
import { bodyFontOnlyVariants, bodyVariants } from "./variants"
|
|
|
|
import type { BodyProps } from "./body"
|
|
|
|
export default function Body({
|
|
asChild = false,
|
|
className = "",
|
|
color,
|
|
fontOnly = false,
|
|
textAlign,
|
|
textTransform,
|
|
...props
|
|
}: BodyProps) {
|
|
const Comp = asChild ? Slot : "p"
|
|
const classNames = fontOnly
|
|
? bodyFontOnlyVariants({
|
|
className,
|
|
textAlign,
|
|
textTransform,
|
|
})
|
|
: bodyVariants({
|
|
className,
|
|
color,
|
|
textAlign,
|
|
textTransform,
|
|
})
|
|
return <Comp className={classNames} {...props} />
|
|
}
|