chore(SW-3145): Move Body component to design-system * Move Body component to design-system Approved-by: Joakim Jäderberg
41 lines
901 B
TypeScript
41 lines
901 B
TypeScript
import { Slot } from '@radix-ui/react-slot'
|
|
|
|
import { bodyFontOnlyVariants, bodyVariants } from './variants'
|
|
|
|
import type { VariantProps } from 'class-variance-authority'
|
|
|
|
interface BodyProps
|
|
extends Omit<React.HTMLAttributes<HTMLHeadingElement>, 'color'>,
|
|
VariantProps<typeof bodyVariants> {
|
|
asChild?: boolean
|
|
fontOnly?: boolean
|
|
}
|
|
|
|
/**
|
|
* @deprecated Use `@scandic-hotels/design-system/Typography` instead.
|
|
*/
|
|
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} />
|
|
}
|