---
import type { HTMLTag, Polymorphic } from 'astro/types';
import { twMerge } from '@/utils/twMerge';

import { shared } from './styles';

type Props<Tag extends HTMLTag = 'strong'> = Polymorphic<{ as: Tag }> & {
  class?: string;
};

const { as: Tag = 'strong', class: className, ...props } = Astro.props;
---

<Tag class={twMerge(shared.strong, className)} {...props}><slot /></Tag>
