chore(SW-3145): Move Caption to design-system * Move Caption to design-system * Mark Caption as deprecated Approved-by: Linus Flood Approved-by: Joakim Jäderberg
48 lines
1.0 KiB
TypeScript
48 lines
1.0 KiB
TypeScript
import { Slot } from '@radix-ui/react-slot'
|
|
|
|
import { captionVariants, fontOnlycaptionVariants } from './variants'
|
|
import { VariantProps } from 'class-variance-authority'
|
|
|
|
interface CaptionProps
|
|
extends Omit<React.HTMLAttributes<HTMLHeadingElement>, 'color'>,
|
|
VariantProps<typeof captionVariants> {
|
|
asChild?: boolean
|
|
fontOnly?: boolean
|
|
}
|
|
|
|
/**
|
|
* @deprecated Use `@scandic-hotels/design-system/Typography` instead.
|
|
*/
|
|
export default function Caption({
|
|
asChild = false,
|
|
className = '',
|
|
color,
|
|
fontOnly = false,
|
|
textAlign,
|
|
textTransform,
|
|
uppercase,
|
|
striked,
|
|
type,
|
|
...props
|
|
}: CaptionProps) {
|
|
const Comp = asChild ? Slot : 'p'
|
|
const classNames = fontOnly
|
|
? fontOnlycaptionVariants({
|
|
className,
|
|
textTransform,
|
|
uppercase,
|
|
striked,
|
|
type,
|
|
})
|
|
: captionVariants({
|
|
className,
|
|
color,
|
|
textTransform,
|
|
textAlign,
|
|
uppercase,
|
|
striked,
|
|
type,
|
|
})
|
|
return <Comp className={classNames} {...props} />
|
|
}
|