import { Slot } from '@radix-ui/react-slot'

import { preambleVariants } from './variants'

import type { VariantProps } from 'class-variance-authority'

interface CaptionProps
  extends Omit<React.HTMLAttributes<HTMLHeadingElement>, 'color'>,
    VariantProps<typeof preambleVariants> {
  asChild?: boolean
}

/**
 * @deprecated Use `Typography` instead.
 */
export default function Preamble({
  asChild = false,
  className = '',
  color,
  textAlign,
  ...props
}: CaptionProps) {
  const Comp = asChild ? Slot : 'p'
  const classNames = preambleVariants({
    className,
    color,
    textAlign,
  })
  return <Comp className={classNames} {...props} />
}
