28 lines
589 B
TypeScript
28 lines
589 B
TypeScript
import { Slot } from "@radix-ui/react-slot"
|
|
|
|
import { captionVariants, fontOnlycaptionVariants } from "./variants"
|
|
|
|
import type { CaptionProps } from "./caption"
|
|
|
|
export default function Caption({
|
|
asChild = false,
|
|
className = "",
|
|
color,
|
|
fontOnly = false,
|
|
textTransform,
|
|
...props
|
|
}: CaptionProps) {
|
|
const Comp = asChild ? Slot : "p"
|
|
const classNames = fontOnly
|
|
? fontOnlycaptionVariants({
|
|
className,
|
|
textTransform,
|
|
})
|
|
: captionVariants({
|
|
className,
|
|
color,
|
|
textTransform,
|
|
})
|
|
return <Comp className={classNames} {...props} />
|
|
}
|